Summary: | Адаптировать etercifs для CentOS 5.5 | ||
---|---|---|---|
Product: | CIFS@Etersoft | Reporter: | Vitaly Lipatov <lav> |
Component: | компиляция модуля | Assignee: | Pavel Shilovsky <piastry> |
Status: | CLOSED FIXED | QA Contact: | Константин Кондратюк <kondratyuk> |
Severity: | normal | ||
Priority: | P3 | CC: | baraka, e.osipenko, kondratyuk, lav, sin, yurifil |
Version: | не указана | ||
Target Milestone: | --- | ||
Hardware: | PC | ||
OS: | All | ||
Whiteboard: | |||
Заявки RT: | Связано с: | 3770 | |
Дата напоминания: | |||
Bug Depends on: | |||
Bug Blocks: | 3043, 5634 |
Description
Vitaly Lipatov
2010-12-17 11:41:58 MSK
При сборке жалуется на отсутствие linux/freezer.h Действительно, в ядре этот файл появился позже, чем в 2.6.18. Можно сделать вывод, что для всех старых систем получим ту же ошибку. (В ответ на comment #1) > При сборке жалуется на отсутствие linux/freezer.h > Действительно, в ядре этот файл появился позже, чем в 2.6.18. > > Можно сделать вывод, что для всех старых систем получим ту же ошибку. Ну так как сейчас при сборке он использует, судя по логу выше 33 ядро, то не удивительно, что оно не собирается на 2.6.18. Видимо, надо ещё добавить, чтобы не поддерживаемая версия CentOS собиралась на последней центос-специфичной версии исходников в etercifs. Немного не досмотрел - на самом деле сейчас так и делается. Странно, что скрипт не обработал это так, как нужно, а попытался подсунуть 33 версию исходников. Буду разбираться. В списке vbox -l напротив CentOS 5.5 опять отсутствуют хостнэйм и айпи-адрес. [piastry@localhost ~]$ uname -a Linux localhost.localdomain 2.6.18-194.26.1.el5 #1 SMP Tue Nov 9 12:54:40 EST 2010 i686 i686 i386 GNU/Linux [piastry@localhost ~]$ yum search dkms Loaded plugins: fastestmirror Warning: No matches found for: dkms No Matches found Соответственно, dkms вообще ту не нужен. [piastry@localhost ~]$ sudo /etc/init.d/etercifs build Building etercifs 4.5.3 for 2.6.18-194.26.1.el5 Linux kernel (headers in /lib/modules/2.6.18-194.26.1.el5/build) Found CentOS or RHEL. Warning! Your kernel is newer then 2.6.18-164.x Building from legacy sources with patch for kernels 2.6.18-164.x from CentOS 5.4. /usr/bin/gcc Checking the kernel configuration... OK Setting etercifs version: OK make: Entering directory `/usr/src/kernels/2.6.18-194.26.1.el5-i686' make: Leaving directory `/usr/src/kernels/2.6.18-194.26.1.el5-i686' make: Entering directory `/usr/src/kernels/2.6.18-194.26.1.el5-i686' CC [M] /tmp/Etercifs.ZbLH2493/kernel-source-etercifs-centos54-1.58/cifsfs.o CC [M] /tmp/Etercifs.ZbLH2493/kernel-source-etercifs-centos54-1.58/cifssmb.o /tmp/Etercifs.ZbLH2493/kernel-source-etercifs-centos54-1.58/cifssmb.c: In function ‘SMBLegacyOpen’: /tmp/Etercifs.ZbLH2493/kernel-source-etercifs-centos54-1.58/cifssmb.c:1188: предупреждение: unused variable ‘count’ /tmp/Etercifs.ZbLH2493/kernel-source-etercifs-centos54-1.58/cifssmb.c:1187: предупреждение: unused variable ‘name_len’ /tmp/Etercifs.ZbLH2493/kernel-source-etercifs-centos54-1.58/cifssmb.c:1186: предупреждение: unused variable ‘bytes_returned’ /tmp/Etercifs.ZbLH2493/kernel-source-etercifs-centos54-1.58/cifssmb.c:1185: предупреждение: unused variable ‘pSMBr’ /tmp/Etercifs.ZbLH2493/kernel-source-etercifs-centos54-1.58/cifssmb.c:1184: предупреждение: unused variable ‘pSMB’ /tmp/Etercifs.ZbLH2493/kernel-source-etercifs-centos54-1.58/cifssmb.c: На верхнем уровне: /tmp/Etercifs.ZbLH2493/kernel-source-etercifs-centos54-1.58/cifssmb.c:1133: предупреждение: ‘convert_disposition’ defined but not used /tmp/Etercifs.ZbLH2493/kernel-source-etercifs-centos54-1.58/cifssmb.c:1164: предупреждение: ‘access_flags_to_smbopen_mode’ defined but not used CC [M] /tmp/Etercifs.ZbLH2493/kernel-source-etercifs-centos54-1.58/cifs_debug.o CC [M] /tmp/Etercifs.ZbLH2493/kernel-source-etercifs-centos54-1.58/connect.o CC [M] /tmp/Etercifs.ZbLH2493/kernel-source-etercifs-centos54-1.58/dir.o CC [M] /tmp/Etercifs.ZbLH2493/kernel-source-etercifs-centos54-1.58/file.o CC [M] /tmp/Etercifs.ZbLH2493/kernel-source-etercifs-centos54-1.58/inode.o CC [M] /tmp/Etercifs.ZbLH2493/kernel-source-etercifs-centos54-1.58/link.o CC [M] /tmp/Etercifs.ZbLH2493/kernel-source-etercifs-centos54-1.58/misc.o CC [M] /tmp/Etercifs.ZbLH2493/kernel-source-etercifs-centos54-1.58/netmisc.o CC [M] /tmp/Etercifs.ZbLH2493/kernel-source-etercifs-centos54-1.58/smbdes.o CC [M] /tmp/Etercifs.ZbLH2493/kernel-source-etercifs-centos54-1.58/smbencrypt.o CC [M] /tmp/Etercifs.ZbLH2493/kernel-source-etercifs-centos54-1.58/transport.o CC [M] /tmp/Etercifs.ZbLH2493/kernel-source-etercifs-centos54-1.58/asn1.o CC [M] /tmp/Etercifs.ZbLH2493/kernel-source-etercifs-centos54-1.58/md4.o CC [M] /tmp/Etercifs.ZbLH2493/kernel-source-etercifs-centos54-1.58/md5.o CC [M] /tmp/Etercifs.ZbLH2493/kernel-source-etercifs-centos54-1.58/cifs_unicode.o CC [M] /tmp/Etercifs.ZbLH2493/kernel-source-etercifs-centos54-1.58/nterr.o CC [M] /tmp/Etercifs.ZbLH2493/kernel-source-etercifs-centos54-1.58/xattr.o CC [M] /tmp/Etercifs.ZbLH2493/kernel-source-etercifs-centos54-1.58/cifsencrypt.o CC [M] /tmp/Etercifs.ZbLH2493/kernel-source-etercifs-centos54-1.58/readdir.o CC [M] /tmp/Etercifs.ZbLH2493/kernel-source-etercifs-centos54-1.58/ioctl.o CC [M] /tmp/Etercifs.ZbLH2493/kernel-source-etercifs-centos54-1.58/sess.o CC [M] /tmp/Etercifs.ZbLH2493/kernel-source-etercifs-centos54-1.58/export.o CC [M] /tmp/Etercifs.ZbLH2493/kernel-source-etercifs-centos54-1.58/cifsacl.o CC [M] /tmp/Etercifs.ZbLH2493/kernel-source-etercifs-centos54-1.58/cifs_spnego.o CC [M] /tmp/Etercifs.ZbLH2493/kernel-source-etercifs-centos54-1.58/dns_resolve.o CC [M] /tmp/Etercifs.ZbLH2493/kernel-source-etercifs-centos54-1.58/cifs_dfs_ref.o LD [M] /tmp/Etercifs.ZbLH2493/kernel-source-etercifs-centos54-1.58/etercifs.o Building modules, stage 2. MODPOST CC /tmp/Etercifs.ZbLH2493/kernel-source-etercifs-centos54-1.58/etercifs.mod.o LD [M] /tmp/Etercifs.ZbLH2493/kernel-source-etercifs-centos54-1.58/etercifs.ko make: Leaving directory `/usr/src/kernels/2.6.18-194.26.1.el5-i686' Stripping module etercifs.ko ... Copying built module to /lib/modules/2.6.18-194.26.1.el5/kernel/fs/cifs Do depmod -Ae for 2.6.18-194.26.1.el5 kernel [piastry@localhost ~]$ sudo /etc/init.d/etercifs start Loading kernel module etercifs 4.5.3... [ DONE ] [piastry@localhost ~]$ sudo /etc/init.d/etercifs status Package etercifs 4.5.3-eter1centos CIFS kernel module status: kernel module etercifs version 4.5.3 is built for current kernel kernel module etercifs version 4.5.3 is loaded Проблем не обнаружено. Создал ветку legacy-etercifs-centos55, основанную на 31 ядре. Добавил туда исходники из ядра CentOS 5.5 для cifs. http://git.etersoft.ru/people/piastry/packages/?p=cifs-2.6.git;a=shortlog;h=refs/heads/legacy-centos55-etercifs Так же поправил версию в etercifs.spec для 35 и 35 ядер. http://git.etersoft.ru/people/piastry/packages/?p=etercifs.git;a=summary Дальше займусь переносом наших патчей из ветки 31 ядра в новую ветку. Собрал ветку с нашими патчами для CentOS 5.5: http://git.etersoft.ru/people/piastry/packages/?p=cifs-2.6.git;a=shortlog;h=refs/heads/legacy-centos55-etercifs Далее добавлю её в etercifs. Собрал etercifs-4.5.8-alt1, с исходниками для CentOS 5.5. 4.7.7 не собирается, до этого не собрался и 4.5.8. Что мы делаем не так? [root@localhost ~]# service etercifs build Building etercifs 4.7.7 for 2.6.18-194.8.1.el5 Linux kernel (headers in /lib/modules/2.6.18-194.8.1.el5/build) Warning: using the lates supported sources (2.6.37) that is not for current kernel version! /usr/bin/gcc Checking the kernel configuration... OK Setting etercifs version: OK make: Entering directory `/usr/src/kernels/2.6.18-194.8.1.el5-i686' make: Leaving directory `/usr/src/kernels/2.6.18-194.8.1.el5-i686' make: Entering directory `/usr/src/kernels/2.6.18-194.8.1.el5-i686' CC [M] /tmp/Etercifs.MWC32583/kernel-source-etercifs-2.6.37-1.68/cifsfs.o /tmp/Etercifs.MWC32583/kernel-source-etercifs-2.6.37-1.68/cifsfs.c:37:27: error: linux/freezer.h: Нет такого файла или каталога In file included from /tmp/Etercifs.MWC32583/kernel-source-etercifs-2.6.37-1.68/cifsglob.h:26, from /tmp/Etercifs.MWC32583/kernel-source-etercifs-2.6.37-1.68/cifsfs.c:42: etercifs определял только RedHat и CentOS из RHEL-подобных дистрибьютивов. Исправил в версии 4.6.2-alt2. Вчерашний etercifs-4.6.2 без проблем собрался на LinuxWizard. Спасибо! :) |