  | |  | kernel build problem | kernel build problem 2002-05-13 - By D. Hugh Redelmeier
Back The method I normally use to build kernels doesn 't work on Valhalla (or Skipjack). Any idea why?
I 've got kernel-source-2.4.18-3 installed from the distribution.
I issue the following commands
cd /usr/src/linux-2.4.18-3 make mrproper make xconfig - load configuration configs/kernel-2.4.18-athlon.config [identical to /boot/config-2.4.18-3] - save and exit make dep make clean make bzImage modules modules_install install I get the following failure (the long ld line has been folded to make it readable):
make[1]: Entering directory `/usr/src/linux-2.4.18-3 ' kallsyms pass 1
ld -m elf_i386 -T /usr/src/linux-2.4.18-3/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/media/media.o drivers/char/drm/drm.o drivers/net/fc/fc.o drivers/net/appletalk/appletalk.o drivers/net/tokenring/tr.o drivers/net/wan/wan.o drivers/atm/atm.o drivers/ide/idedriver.o drivers/cdrom/driver.o drivers/pci/driver.o drivers/net/pcmcia/pcmcia_net.o drivers/net/wireless/wireless_net.o drivers/pnp/pnp.o drivers/video/video.o drivers/md/mddev.o drivers/sensors/sensor.o net/network.o abi/abi.o /usr/src/linux-2.4.18-3/arch/i386/lib/lib.a /usr/src/linux-2.4.18-3/lib/lib.a /usr/src/linux-2.4.18-3/arch/i386/lib/lib.a --end-group -o .tmp_vmlinux1
fs/fs.o: In function `zisofs_readpage ': fs/fs.o(.text+0x2e4d6): undefined reference to `zlib_inflateInit_ ' fs/fs.o(.text+0x2e5de): undefined reference to `zlib_inflate ' fs/fs.o(.text+0x2e77a): undefined reference to `zlib_inflateEnd ' fs/fs.o: In function `mnt_init ': fs/fs.o(.text.init+0x90c): undefined reference to `init_rootfs ' fs/fs.o: In function `zisofs_init ': fs/fs.o(.text.init+0xc79): undefined reference to `zlib_inflate_workspacesize ' make[1]: *** [kallsyms] Error 1 make[1]: Leaving directory `/usr/src/linux-2.4.18-3 ' make: *** [vmlinux] Error 2
Since I didn 't change any configuration settings, it seems as if the config "shipped " with the kernel is wrong.
I notice that there is no reference to ZLIB in configs/kernel-2.4.18-athlon.config but in .config, there is: CONFIG_ZLIB_INFLATE=m CONFIG_ZLIB_DEFLATE=m This means that the ZLIB routines are compiled as modules.
My guess is that the compression stuff in fs/isofs/compress.c requires zlib to be statically loaded. When I go back to xconfig to adjust this, I find a subment "library routines ". In that are entries for "zlib decompression support " and "zlib compression support ". But they are greyed out! That seems very odd since the .config says that they are to be included as modules.
I tried manually editing the .config file to change these entries to "y ". When I built the kernel, I got a similar error in the same place:
make[1]: Entering directory `/usr/src/linux-2.4.18-3 ' kallsyms pass 1 ld -m elf_i386 -T /usr/src/linux-2.4.18-3/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/media/media.o drivers/char/drm/drm.o drivers/net/fc/fc.o drivers/net/appletalk/appletalk.o drivers/net/tokenring/tr.o drivers/net/wan/wan.o drivers/atm/atm.o drivers/ide/idedriver.o drivers/cdrom/driver.o drivers/pci/driver.o drivers/net/pcmcia/pcmcia_net.o drivers/net/wireless/wireless_net.o drivers/pnp/pnp.o drivers/video/video.o drivers/md/mddev.o drivers/sensors/sensor.o net/network.o abi/abi.o /usr/src/linux-2.4.18-3/arch/i386/lib/lib.a /usr/src/linux-2.4.18-3/lib/lib.a /usr/src/linux-2.4.18-3/arch/i386/lib/lib.a --end-group -o .tmp_vmlinux1 fs/fs.o: In function `mnt_init ': fs/fs.o(.text.init+0x90c): undefined reference to `init_rootfs ' make[1]: *** [kallsyms] Error 1 make[1]: Leaving directory `/usr/src/linux-2.4.18-3 ' make: *** [vmlinux] Error 2
I then tried to use config/kernel-2.4.18-i686.config on the theory that the code for the most common Intel CPU might be better. I still had problems.
Any suggestions? I see nothing on bugzilla about this.
Hugh Redelmeier hugh@(protected) voice: +1 416 482-8253
|
|
 |