Unresolved symbols in 2.4.6
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
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?
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.
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.
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_printkc0254870 ? __ksymtab_printkc0113494 T printkc017c6ec t printk_pnp_dev_id
Quoted 6 lines · On Sun, 8 Jul 2001 18:52:28 -0500, "Jahn Veach - Veachian64"…
nm vmlinux | grep printk
c024f44e?__kstrtab_printkc0254870?__ksymtab_printkc0113494T printkc017c6ectprintk_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.
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/ksymson 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, makemodules_installdoes 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.