module loading problems on custom built kernel


Subject: module loading problems on custom built kernel
From: Neill Miller (stuff@thecodefactory.org)
Date: Sat Sep 29 2001 - 19:53:25 MDT


Hello,
        I'm a recent convert to YDL 2.0 from Linux/PPC 2000 Q4 using a Powerbook G3 2000 (Pismo/Firewire). I've successfully recompiled a new kernel and it's running fine - however *no* modules will load due to a large number of unresolved symbols. I've been doing the same procedure for recompiling kernels for the past year with Linux/PPC and I've never seen the issues I'm currently running into, so I'm starting to wonder if they're specific to YDL 2.0. If anyone has gotten around this or can see what I'm doing wrong, please let me know. I appreciate your help.

Here's what I've done so far roughly:

I got the kernel from the latest benh tree:
cd /usr/src/linux (this is a link to /usr/src/linux-2.4-benh that I've made)
rsync -arvz rsync.penguinppc.org::linux-2.4-benh .

I clean, configure and build the kernel and everything compiles nicely.
make mrproper
make xconfig
make dep
make vmlinux

I build and install the modules, and verified that they are installed properly in /lib/modules/
make modules
make modules_install

After this, I do the following:
mv vmlinux vmlinux-2.4.10-benh
mv System.map System.map.2.4.10-benh

cp System.map.2.4.10-benh /boot
cp vmlinux-2.4.10-benh /boot

Then I proceed to update the System.map link in the /boot directory to point to the new System.map.2.4.10-benh

I then edit the /etc/yaboot.conf file to make note of the changes and then run ybin to make sure it's updated properly.

Then I reboot and the new kernel is loaded. Here is a short log of where I am currently:

[neillm@maceva neillm]$ cat /proc/version
Linux version 2.4.10-ben0 (root@maceva.chaos.net) (gcc version 2.95.3 20010111 (prerelease/franzo/20010111)) #1 Sat Sep 29 17:45:20 CDT 2001
[neillm@maceva neillm]$ lsmod
Module Size Used by
[neillm@maceva neillm]$ modprobe sbp2
/lib/modules/2.4.10-ben0/kernel/drivers/ieee1394/ieee1394.o: unresolved symbol tq_timer_Rfa3e9acc
/lib/modules/2.4.10-ben0/kernel/drivers/ieee1394/ieee1394.o: unresolved symbol hotplug_path_R12dcd5a6
/lib/modules/2.4.10-ben0/kernel/drivers/ieee1394/ieee1394.o: unresolved symbol kmem_cache_free_R891f2686
/lib/modules/2.4.10-ben0/kernel/drivers/ieee1394/ieee1394.o: unresolved symbol kmalloc_R93d4cfe6
/lib/modules/2.4.10-ben0/kernel/drivers/ieee1394/ieee1394.o: unresolved symbol panic_R01075bf0
... [ there are many more that I've omitted ] ...
[neillm@maceva neillm]$

The unresolved symbols occur for *any* module that I try to load. The only way I got ethernet to work was to build it into the kernel - but of course, I don't think building everything into the kernel is a satisfactory solution to this problem.

Has anyone seen anything like this? I also wonder if it has to do with the /boot/module-info file (which still points to the stock module-info-2.2.19-1k matching the stock kernel). I've researched the module-info file, but didn't come up with much other than "it's redhat specific". (Note: module-info didn't exist on Linux/PPC 2000 Q4 - or at least I had never noted it). I could not find out how to generate a new one, or even if I needed a new one. Any ideas?

I've also tried depmod -a, which results in unresolved symbol errors as well and rebuilt everything after updating my version of modutils to 2.4.6 r1 - thinking it had something to with genksyms not being present (I ran across this somewhere on the web). If there's any more information you need to assess the problem, just let me know.

Thanks again for any help,
-Neill.

-- 
http://www.thecodefactory.org/neillm



This archive was generated by hypermail 2a24 : Sat Sep 29 2001 - 19:05:40 MDT