Skip to contentSkip to conversation

Unresolved symbols in 2.4.6

DISCUSSION Jahn Veach - Veachian64 2 participants 7 messages Jul 8, 2001 – Jul 9, 2001

lore
Share & tools
lore
#0 lore raw

I apologize in advance for bringing up a recently discussed problem and being slightly off-topic, but I've been having problems similar to those in "Unresolved symbols since 2.4.5 ?" from July 5.

I'm also running a Debian 2.2r3 box with kernel 2.2.17 and I've been having trouble running 2.4.6 due to unresolved symbols in my modules brought up by make modules_install. I had the latest version of modutils installed from Adrian Bunk's Debian packages, which was the recommended fix in "Unresolved symbols since 2.4.5 ?", but that didn't fix anything.

I tried compiling the kernel with gcc 2.95.2 and egcs-1.1.2 and I still get the unresolved symbols. I used the Debian make-kpkg tool to make a kernel image and I went through the process manually, but still I get the errors.

The output of depmod -e -a 2.4.6 can be found at
http://galaxy42.com/data/moderr.txt. I also have the recommended versions of all software in linux/Documentation/Changes. To make things even more puzzling, I have an almost identical box set up and it compiles just fine.

Does anyone know of anything that could possibly be causing this? Any help is appreciated. If you have anything, please Cc: [email protected]. Thanks in advance.

------
Jahn Veach - Veachian64 <[email protected]>
http://Galaxy42.com/

Well, let's just say, if your VCR is still blinking 12:00, you don't want Linux.
--Bruce Perens

#1 lore raw
Quoted 2 lines · On Sun, 8 Jul 2001 02:46:46 -0500, "Jahn Veach - Veachian64"…

The output of depmod -e -a 2.4.6 can be found at
http://galaxy42.com/data/moderr.txt.

What does 'grep printk /proc/ksyms' report on the 2.4.6 kernel? Also 'nm vmlinux | grep printk' against the vmlinux for your 2.4.6 kernel?

#2 lore raw
Quoted 2 lines · Keith Owens

What does 'grep printk /proc/ksyms' report on the 2.4.6 kernel? Also 'nm vmlinux | grep printk' against the vmlinux for your 2.4.6 kernel?

My 2.4.6 kernel can't boot because it panics when it goes to mount the root filesystem. An nm on the kernel returns 'File format not recognized'. It also returns this error when done on my 2.2.17 kernel, which runs just fine.

#3 lore raw
Quoted 8 lines · On Sun, 8 Jul 2001 09:20:46 -0500, "Jahn Veach - Veachian64"…
Quoted 2 lines · Keith Owens

What does 'grep printk /proc/ksyms' report on the 2.4.6 kernel? Also 'nm vmlinux | grep printk' against the vmlinux for your 2.4.6 kernel?

My 2.4.6 kernel can't boot because it panics when it goes to mount the root filesystem. An nm on the kernel returns 'File format not recognized'. It also returns this error when done on my 2.2.17 kernel, which runs just fine.

You do nm on vmlinux, not vmlinuz. vmlinux is in the top level directory of the kernel source tree after the build.

#4 lore raw
Quoted 2 lines · Keith Owens

You do nm on vmlinux, not vmlinuz. vmlinux is in the top level directory of the kernel source tree after the build.

nm vmlinux | grep printk

c024f44e ? __kstrtab_printk
c0254870 ? __ksymtab_printk
c0113494 T printk
c017c6ec t printk_pnp_dev_id

#5 lore raw
Quoted 6 lines · On Sun, 8 Jul 2001 18:52:28 -0500, "Jahn Veach - Veachian64"…

nm vmlinux | grep printk

c024f44e ? __kstrtab_printk
c0254870 ? __ksymtab_printk
c0113494 T printk
c017c6ec t printk_pnp_dev_id

That looks OK. Just to confirm, when you did depmod -ae, did you include -F pointing at the 2.4.6 System.map? If you omitted -F then it used /proc/ksyms on your current kernel, I suspect that this is your problem. The command should be depmod -ae -F 2.4.6/System.map 2.4.6. You should not need to issue that command by hand, make modules_install does it automatically.

As for why you panic when you try to mount the root file system, you have your SCSI driver and ide-disk as modules, not built into the kernel. If the code to find and mount your root file system is in modules then you must use initrd, see the kernel howto. Unless you have a *very* good reason to use initrd - don't. Build the root drivers into the kenrel instead.

#6 lore raw
Quoted 7 lines · Keith Owens

That looks OK. Just to confirm, when you did depmod -ae, did you include -F pointing at the 2.4.6 System.map? If you omitted -F then it used /proc/ksyms on your current kernel, I suspect that this is your problem. The command should be depmod -ae -F 2.4.6/System.map 2.4.6. You should not need to issue that command by hand, make modules_install does it automatically.

Quoted 6 lines

As for why you panic when you try to mount the root file system, you have your SCSI driver and ide-disk as modules, not built into the kernel. If the code to find and mount your root file system is in modules then you must use initrd, see the kernel howto. Unless you have a *very* good reason to use initrd - don't. Build the root drivers into the kenrel instead.

Indeed, I left out the -F. I included the necessary modules into the kernel and successfully booted into 2.4.6. depmod -ae -F 2.4.6/System.map 2.4.6 checked out just fine and my system is now successfully running kernel 2.4.6. Thanks for all your help.