insmod: Unknown symbol in module

Tom Kirkpatrick tom at kirkdesigns.co.uk
Mon Jul 3 08:54:11 UTC 2006


hi,

I'm trying to include the driver for my sound card as a kernel  
module, but insmod does not seem to working properly. This is what I  
have/have done.

Buildroot svn (r15578)
Busybox 1.2.0
GCC 3.4.6
uClibc r12142
1.6.11 Kernel headers
1.6.17 Kernel
ALSA compiled into the kernel,
my sound card driver compiled as a module.

I built the kernel:

make ARCH=i386 ARCH_PREFIX=i686-linux-
make ARCH=i386 ARCH_PREFIX=i686-linux- INSTALL_MOD_PATH=build/ 
buildroot/build_i686/root modules_install

then I ran the depmod perl script that came with busybox 1.2.0:

perl scripts/depmod.pl -b build/buildroot/build_i686/root/lib/modules/ 
2.6.17/ -k build/buildroot/build_i686/root/boot/System.map -k build/ 
buildroot/build_i686/root/boot/vmlinux > modules/lib/linux-2.6.17/ 
modules.dep

However, when running the depmod.pl script, I get lots of warnings  
about unresolved symbols:

nm: build/buildroot/build_i686/root/boot/vmlinux: no symbols
unresolved symbol printk in file /lib/modules/2.6.17/kernel/sound/pci/ 
ac97/snd-ac97-codec.ko
unresolved symbol __const_udelay in file /lib/modules/2.6.17/kernel/ 
sound/pci/ac97/snd-ac97-codec.ko
unresolved symbol device_register in file /lib/modules/2.6.17/kernel/ 
sound/pci/ac97/snd-ac97-codec.ko
....... loads more unresolved symbol warnings ......
/lib/modules/2.6.17/kernel/sound/pci/snd-via82xx.ko: /lib/modules/ 
2.6.17/kernel/sound/pci/ac97/snd-ac97-codec.ko /lib/modules/2.6.17/ 
kernel/sound/drivers/mpu401/snd-mpu401-uart.ko
/lib/modules/2.6.17/kernel/sound/pci/ac97/snd-ac97-codec.ko: /lib/ 
modules/2.6.17/kernel/sound/pci/ac97/snd-ac97-bus.ko
/lib/modules/2.6.17/kernel/sound/drivers/mpu401/snd-mpu401-uart.ko: / 
lib/modules/2.6.17/kernel/sound/core/snd-rawmidi.ko
/lib/modules/2.6.17/kernel/sound/pci/ac97/snd-ac97-bus.ko:
/lib/modules/2.6.17/kernel/sound/core/snd-rawmidi.ko:

Then I copy the kernel image and lib/modules folder into build_i686/ 
root and re-run make in the buildroot directory.

Now when I boot from the new system and run insmod, I get:

insmod: cannot insert `/lib/modules/2.6.17/kernel/sound/pci/snd- 
via82xx.ko': Unknown symbol in module (-1): No such file or directory

Does anyone know if this a problem with insmod, busybox or the  
busybox depmod.pl script (found in busybox-1.2.0/examples), or am I  
just doing something wrong?

thanks
tom



More information about the uClibc mailing list