Ось CentOS 3.5 (kernel 2.4.21-32.EL). Исходники ядра установлены. Пробую пересобрать ядро для P4 и выкинуть из него лишнее (SCSI, FDDI и т.п.) Делаю всё как положено - make xconfig; EXTRAVERSION в -32.EL-P4; создал соостветствующий каталог в /lib/modules; make dep; make clean; make bzImage - вылазит ошибка:
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
make[ 1 ]: Выход из каталог `/usr/src/linux- 2 . 4 . 21 - 32 .EL/arch/i386/lib'
gcc -E -D__KERNEL__ -I/usr/src/linux-2.4.21-32.EL/include -xc -P arch/i386/vmlinux.lds.in -o arch/i386/vmlinux.lds
make[1]: Вход в каталог `/usr/src/linux-2.4.21-32.EL'
ld -m elf_i386 -T /usr/src/linux- 2 . 4 . 21 - 32 .EL/arch/i386/vmlinux.lds -e stext arch/i386/kernel/head.o arch/i386/kernel/init_task.o init/main.o init/version.o init/do_mounts.o --start-group arch/i386/kernel/kernel.o arch/i386/mm/mm.o kernel/kernel.o mm/mm.o fs/fs.o ipc/ipc.o drivers/char/char.o drivers/block/block.o drivers/misc/misc.o drivers/net/net.o drivers/char/agp/agp.o drivers/char/drm/drm.o drivers/ide/idedriver.o drivers/cdrom/driver.o drivers/audit/audit-stubs.o drivers/sound/sounddrivers.o drivers/pci/driver.o drivers/pnp/pnp.o drivers/video/video.o drivers/media/media.o drivers/md/mddev.o crypto/crypto.o drivers/sensors/sensor.o net/network.o /usr/src/linux-2.4.21-32.EL/arch/i386/lib/lib.a /usr/src/linux-2.4.21-32.EL/lib/lib.a /usr/src/linux-2.4.21-32.EL/arch/i386/lib/lib.a --end-group -o vmlinux
arch/i386/kernel/kernel.o(.text+0x408f): In function `enable_irq':
: undefined reference to `send_IPI_self'
crypto/crypto.o(.text+0x1993): In function `deflate_comp_init':
: undefined reference to `zlib_deflate_workspacesize'
crypto/crypto.o(.text+0x19d4): In function `deflate_comp_init':
: undefined reference to `zlib_deflate_workspacesize'
crypto/crypto.o(.text+0x1a30): In function `deflate_comp_init':
: undefined reference to `zlib_deflateInit2_'
crypto/crypto.o(.text+0x1b6d): In function `deflate_compress':
: undefined reference to `zlib_deflateReset'
crypto/crypto.o(.text+0x1bb2): In function `deflate_compress':
: undefined reference to `zlib_deflate'
make[ 1 ]: *** [kallsyms] Ошибка 1
make[ 1 ]: Выход из каталог `/usr/src/linux- 2 . 4 . 21 - 32 .EL'
make: *** [vmlinux] Ошибка 2
Пробую скомпилить предопределённую конфигурацию kernel-2.4.21-i686.spec - во время make bzImage тоже ошибка:
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
make[ 2 ]: Выход из каталог `/usr/src/linux- 2 . 4 . 21 - 32 .EL/net/unix'
make -C xfrm
make[2]: Вход в каталог `/usr/src/linux-2.4.21-32.EL/net/xfrm'
make all_targets
make[ 3 ]: Вход в каталог `/usr/src/linux- 2 . 4 . 21 - 32 .EL/net/xfrm'
gcc -D__KERNEL__ -I/usr/src/linux-2.4.21-32.EL/include -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common -Wno-unused -fomit-frame-pointer -pipe -freorder-blocks -mpreferred-stack-boundary=2 -march=i686 -nostdinc -iwithprefix include -DKBUILD_BASENAME=xfrm_policy -c -o xfrm_policy.o xfrm_policy.c
gcc -D__KERNEL__ -I/usr/src/linux-2.4.21-32.EL/include -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common -Wno-unused -fomit-frame-pointer -pipe -freorder-blocks -mpreferred-stack-boundary=2 -march=i686 -nostdinc -iwithprefix include -DKBUILD_BASENAME=xfrm_state -c -o xfrm_state.o xfrm_state.c
gcc -D__KERNEL__ -I/usr/src/linux-2.4.21-32.EL/include -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common -Wno-unused -fomit-frame-pointer -pipe -freorder-blocks -mpreferred-stack-boundary=2 -march=i686 -nostdinc -iwithprefix include -DKBUILD_BASENAME=xfrm_input -c -o xfrm_input.o xfrm_input.c
gcc -D__KERNEL__ -I/usr/src/linux-2.4.21-32.EL/include -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common -Wno-unused -fomit-frame-pointer -pipe -freorder-blocks -mpreferred-stack-boundary=2 -march=i686 -nostdinc -iwithprefix include -DKBUILD_BASENAME=xfrm_algo -c -o xfrm_algo.o xfrm_algo.c
In file included from xfrm_algo.c:16:
/usr/src/linux-2.4.21-32.EL/include/net/ah.h: In function `ah_hmac_digest':
/usr/src/linux- 2 . 4 . 21 - 32 .EL/include/net/ah.h: 26 : warning: implicit declaration of function `crypto_hmac_init'
/usr/src/linux-2.4.21-32.EL/include/net/ah.h:27: `crypto_hmac_update' undeclared (first use in this function)
/usr/src/linux- 2 . 4 . 21 - 32 .EL/include/net/ah.h: 27 : (Each undeclared identifier is reported only once
/usr/src/linux- 2 . 4 . 21 - 32 .EL/include/net/ah.h: 27 : for each function it appears in.)
/usr/src/linux- 2 . 4 . 21 - 32 .EL/include/net/ah.h: 28 : warning: implicit declaration of function `crypto_hmac_final'
In file included from xfrm_algo.c:19:
/usr/src/linux-2.4.21-32.EL/include/net/esp.h: In function `esp_hmac_digest':
/usr/src/linux- 2 . 4 . 21 - 32 .EL/include/net/esp.h: 49 : `crypto_hmac_update' undeclared (first use in this function)
make[3]: *** [xfrm_algo.o] Ошибка 1
make[3]: Выход из каталог `/usr/src/linux-2.4.21-32.EL/net/xfrm'
make[ 2 ]: *** [first_rule] Ошибка 2
make[ 2 ]: Выход из каталог `/usr/src/linux- 2 . 4 . 21 - 32 .EL/net/xfrm'
make[1]: *** [_subdir_xfrm] Ошибка 2
make[1]: Выход из каталог `/usr/src/linux-2.4.21-32.EL/net'
make: *** [_dir_net] Ошибка 2
Кто-нибудь компилил ядро под эту версию (или под RHEL 3 AS update 5), kernel 2.4.21-32EL?
Под ASP Linux 9.2 у меня нормально компилилось (конечно, не та ось и подверсия ядра).
Теперь качаю исходники обновления kernel-2.4.21-32.0.1.EL, может поможет...