View previous topic :: View next topic |
Author |
Message |
lugduweb n00b
Joined: 04 May 2006 Posts: 47
|
Posted: Fri Jun 16, 2006 6:43 pm Post subject: System.map not found - unable to check symbols |
|
|
I have the following warning/error on boot :
Quote: | System.map not found - unable to check symbols |
Does somebody know what it means and what's wrong ?
Thanks _________________ Pegasos II PPC G4 / ATI RADEON 8500 / Hauppauge PVR350 / Kernel 2.6.15r1
Efika PPC 603e / ATI RADEON 9250 / Kernel 2.6.19r2 |
|
Back to top |
|
|
Philantrop Retired Dev
Joined: 21 Dec 2004 Posts: 1130 Location: Germany
|
Posted: Fri Jun 16, 2006 7:40 pm Post subject: |
|
|
This is not critical but easy to fix: You'll find the System.map in /usr/src/linux/System.map. Copy it to your /boot directory and name it like your kernel's revision (uname -r):
Code: | cp /usr/src/linux/System.map /boot/System.map-`uname -r` |
It should look like this (from my system, your kernel might be different):
ls -l /boot (I removed some meaningless output) wrote: |
-rw-r--r-- 1 root root 1975403 22. Mai 20:05 kernel-2.6.16-gentoo-r8
-rw-r--r-- 1 root root 913762 22. Mai 20:05 System.map-2.6.16-gentoo-r8
|
The System.map contains the symbols the kernel spits out in case of a kernel panic/oops and you'll therefor hopefully never see it in action. :-) |
|
Back to top |
|
|
lugduweb n00b
Joined: 04 May 2006 Posts: 47
|
Posted: Sat Jun 17, 2006 7:04 am Post subject: |
|
|
Hi ! thanks for answering
OK, so I've tried what you told me, but it still displays the same error message on boot.
So here the full content of my current boot dir :
Quote: |
total 12692
4 drwxr-xr-x 2 root root 4096 Jun 17 08:42 .
4 drwxr-xr-x 20 root root 4096 Jun 6 19:15 ..
0 -rw-r--r-- 1 root root 0 Feb 12 11:51 .keep
0 lrwxrwxrwx 1 root root 27 Jun 17 08:42 System.map -> System.map-2.6.15-gentoo-r1
584 -rw-r--r-- 1 root root 591385 Jun 17 08:36 System.map-2.6.15-gentoo-r1
0 lrwxrwxrwx 1 root root 1 Apr 29 18:19 boot -> .
0 lrwxrwxrwx 1 root root 24 May 27 00:27 fbsplash -> fbsplash_livecd-1024x768
484 -rw-r--r-- 1 root root 491412 May 27 00:20 fbsplash_livecd-1024x768
0 lrwxrwxrwx 1 root root 26 Jun 17 00:24 pegasos -> pegasos_2.6.15-gentoo-r1_4
1540 -rwxr-xr-x 1 root root 1630947 May 26 19:27 pegasos_2.6.15-gentoo-r1
1540 -rwxr-xr-x 1 root root 1630947 May 27 20:22 pegasos_2.6.15-gentoo-r1_2
1656 -rwxr-xr-x 1 root root 1749731 Jun 6 22:18 pegasos_2.6.15-gentoo-r1_3
1640 -rwxr-xr-x 1 root root 1733347 Jun 17 00:24 pegasos_2.6.15-gentoo-r1_4
1672 -rwxr-xr-x 1 root root 1768684 Jun 16 23:02 pegasos_2.6.16-gentoo-r7
1784 -rwxr-xr-x 1 root root 1882340 Jun 15 22:29 pegasos_2.6.16-gentoo-r9
1784 -rwxr-xr-x 1 root root 1882368 Jun 16 21:11 pegasos_2.6.16-gentoo-r9_2
|
I always boot on "pegasos" which is a link on my favorite kernel.
My current used kernel is 2.6.15-gentoo-r1. _________________ Pegasos II PPC G4 / ATI RADEON 8500 / Hauppauge PVR350 / Kernel 2.6.15r1
Efika PPC 603e / ATI RADEON 9250 / Kernel 2.6.19r2 |
|
Back to top |
|
|
Philantrop Retired Dev
Joined: 21 Dec 2004 Posts: 1130 Location: Germany
|
Posted: Sat Jun 17, 2006 10:09 am Post subject: |
|
|
Just to see if it helps, I'd suggest copying "pegasos_2.6.15-gentoo-r1_4" to "pegasos-2.6.15-gentoo-r1" (note the absence of "_4") and not using links for this test. Then add an entry for it to your bootloader, boot via the new entry and see if that fixes it. |
|
Back to top |
|
|
lugduweb n00b
Joined: 04 May 2006 Posts: 47
|
Posted: Sat Jun 17, 2006 12:45 pm Post subject: |
|
|
OK, I've named my kernel "kernel-2.6.15-gentoo-r1" and booted directly on it (without any link).
Still the same error... There must be something else to do... _________________ Pegasos II PPC G4 / ATI RADEON 8500 / Hauppauge PVR350 / Kernel 2.6.15r1
Efika PPC 603e / ATI RADEON 9250 / Kernel 2.6.19r2 |
|
Back to top |
|
|
jmja89 Tux's lil' helper
Joined: 11 Jun 2005 Posts: 144
|
Posted: Sat Jun 17, 2006 1:15 pm Post subject: |
|
|
if you have /sbin/install kernel then you can just do Code: | cd /usr/src/linux
make install | and then change your boot config to point to vmlinuz. This has always worked for me... |
|
Back to top |
|
|
lugduweb n00b
Joined: 04 May 2006 Posts: 47
|
Posted: Sat Jun 17, 2006 1:45 pm Post subject: |
|
|
On Pegasos PPC, you do not use vmlinuz but zImage.chrp.
Anyway, I tried what you told me and here is the result :
Quote: |
make install
make: *** No rule to make target `install'. Stop.
|
I also tried in /usr/src/linux/arch/ppc/boot/images where I can find my kernel image named zImage.chrp... Same result...
In http://www.gentoo.org/doc/en/handbook/2006.0/handbook-ppc.xml?part=1&chap=7 it's written :
cp arch/ppc/boot/images/zImage.chrp /boot/<kernel-version>
so maybe I should remove "kernel" and just name the file "2.6.15-gentoo-r1" ?
I'm going to check this later (I'm emerging things atm). _________________ Pegasos II PPC G4 / ATI RADEON 8500 / Hauppauge PVR350 / Kernel 2.6.15r1
Efika PPC 603e / ATI RADEON 9250 / Kernel 2.6.19r2 |
|
Back to top |
|
|
Philantrop Retired Dev
Joined: 21 Dec 2004 Posts: 1130 Location: Germany
|
Posted: Sat Jun 17, 2006 2:29 pm Post subject: |
|
|
lugduweb wrote: | so maybe I should remove "kernel" and just name the file "2.6.15-gentoo-r1" ? |
No, that won't help. How do you boot? You don't seem to be using grub. |
|
Back to top |
|
|
converter Apprentice
Joined: 24 Dec 2002 Posts: 163
|
Posted: Sat Jun 17, 2006 3:43 pm Post subject: |
|
|
Philantrop wrote: | This is not critical but easy to fix: You'll find the System.map in
/usr/src/linux/System.map. Copy it to your /boot directory and name it like your kernel's
revision (uname -r): |
Of course, this will only work if /boot is a directory on the root partition or
is automatically mounted if it's on its own partition. I keep a separate /boot
partition and never mount it unless necessary. If I remember correctly, this
was the recommended configuration in the install guide at one point in time,
although the new handbook mentions the option only in passing.
For what it's worth, I'm experiencing the same issue, unfortunately, I haven't
rebooted in a while so I don't have the error message handy for reference. I
always keep a copy of System.map on /, in addition to the copy that lives on
/usr/src/linux, and until recently that's worked just fine. I suspect that
whatever is throwing the error message stopped looking for /System.map and
/usr/src/linux/System.map after some revision or another. _________________ converter |
|
Back to top |
|
|
lugduweb n00b
Joined: 04 May 2006 Posts: 47
|
Posted: Sun Jun 18, 2006 12:40 pm Post subject: |
|
|
My /boot is a directory on my / partition.
My Gentoo is on hdb7 and my swap on hdb2.
I'm booting using "bootcreator"'s tool (setup from MorphOS) which can throws predefined boot command line to the Pegasos's Openfirmware so I can boot on several OS such as MorphOS, MacOSX, Linux Ubuntu, Linux Suse or Linux Gentoo without having to type a command line. _________________ Pegasos II PPC G4 / ATI RADEON 8500 / Hauppauge PVR350 / Kernel 2.6.15r1
Efika PPC 603e / ATI RADEON 9250 / Kernel 2.6.19r2 |
|
Back to top |
|
|
Raistlin l33t
Joined: 17 May 2004 Posts: 691 Location: Boston, MA
|
Posted: Sun Jun 18, 2006 8:26 pm Post subject: |
|
|
Actually, I've found the problem (IMHO):
/sbin/modules-update:
Code: |
...
if [ -d "`depdir`" -a -f /proc/modules ]
then
if [ -f /usr/src/linux/System.map ]; then
depmod -a -F /usr/src/linux/System.map ${KV}
else
ewarn "System.map not found - unable to check symbols"
fi
fi
|
So, what's actually tested is the presence of /usr/src/linux/System.map - no /boot/ or such alike. Good. The problem is, that at this stage not every partition is mounted already... so: my /usr is on a separate partition... maybe that's the problem... I'll testing it out and get back to you _________________ Zwei Was Eins Initially
"Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it." |
|
Back to top |
|
|
Raistlin l33t
Joined: 17 May 2004 Posts: 691 Location: Boston, MA
|
Posted: Sun Jun 18, 2006 8:55 pm Post subject: |
|
|
The solution could be so easy:
Force Code: | /etc/init.d/modules | to run after Code: | /etc/init.d/localmount | ... Unfortunately, the modifier in
Code: | depend() {
after localmount
} | doesn't change anything... Neither does or do anything...
So what are these keywords for anyway?
Ok, maybe we could force Code: | /etc/init.d/localmount | to run before modules another way? Add Code: | ...
before modules
... | in localmount doesn't help either...
So, the only working solution - although a really ugly one, is to change in /sbin/modules-update the lines: Code: | if [ -d "`depdir`" -a -f /proc/modules ]
then
if [ -f /usr/src/linux/System.map ]; then
depmod -a -F /usr/src/linux/System.map ${KV}
else
ewarn "System.map not found - unable to check symbols"
fi
fi |
to
Code: | if [ -d "`depdir`" -a -f /proc/modules ]
then
if [ -f /System.map ]; then
depmod -a -F /System.map ${KV}
else
ewarn "System.map not found - unable to check symbols"
fi
fi |
and to copy (note: copy - not symlinking!) /usr/src/linux/System.map to "/"...
I'm an aesthete, so please, PLEASE (!!!) provide me with another solution. (Or tell me I have to "fix" runscript.sh, then I'll do that...) _________________ Zwei Was Eins Initially
"Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it." |
|
Back to top |
|
|
lugduweb n00b
Joined: 04 May 2006 Posts: 47
|
Posted: Mon Jun 19, 2006 7:04 pm Post subject: |
|
|
here is my /etc/fstab :
Quote: |
/dev/hdb7 / ext3 noatime 0 1
/dev/hdb8 /usr ext3 defaults 0 0
/dev/hdb9 /mnt/extra ext3 defaults 0 0
/dev/hdb2 none swap sw 0 0
/dev/cdrom /mnt/cdrom iso9660 noauto,ro 0 0
/dev/hdb5 /mnt/suse ext3 defaults 0 0
/dev/hdb6 /mnt/ubuntu ext3 defaults 0 0
|
As you can see my /usr is on another partition too
Well done !
So I guess that your "dirty" solution might be the only good one if this is checked too early.
But the right script should be the one looking for a /boot/System.map with a more comprehensive warning message. That would be cleaner no ?
Like this :
Code: |
if [ -d "`depdir`" -a -f /proc/modules ]
then
if [ -f /boot/System.map ]; then
depmod -a -F /boot/System.map ${KV}
else
ewarn "System.map not found - unable to check symbols (Check /boot/System.map)"
fi
fi
|
Maybe we should put this in bugzilla ? _________________ Pegasos II PPC G4 / ATI RADEON 8500 / Hauppauge PVR350 / Kernel 2.6.15r1
Efika PPC 603e / ATI RADEON 9250 / Kernel 2.6.19r2 |
|
Back to top |
|
|
Raistlin l33t
Joined: 17 May 2004 Posts: 691 Location: Boston, MA
|
Posted: Mon Jun 19, 2006 8:06 pm Post subject: |
|
|
Hi,
well, I thought about this solution, too. I didn't try it, though, because I assumed that there would be the same problem with /boot... At least on my system, because boot is a distinct partition, too
I guess, the problem is even more "severe" as one might think in the first place _________________ Zwei Was Eins Initially
"Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it." |
|
Back to top |
|
|
rpmohn Tux's lil' helper
Joined: 26 Aug 2003 Posts: 116 Location: Vermont
|
Posted: Tue Jun 27, 2006 1:51 pm Post subject: |
|
|
Has anyone tried this and had it work? I didn't find anything in bugzilla, but maybe I didn't search properly? This issue has annoyed me for months now and would like to try this solution tonight.
Please let me know.
Thanks! -RPM |
|
Back to top |
|
|
Raistlin l33t
Joined: 17 May 2004 Posts: 691 Location: Boston, MA
|
Posted: Tue Jun 27, 2006 3:03 pm Post subject: |
|
|
Hi,
it _is_ really annoying. The script really assumes either an all-on-one-partition setup or that all partitions are already mounted (which is not the case, though). It _could_ be very easily solved, if the dependencies were correctly tracked... But, as I've written earlier, specifying "need <SOMETHING" or "use <ANOTHERTHING>" does not work in the runscripts
So maybe we should really write a bug-report... _________________ Zwei Was Eins Initially
"Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it." |
|
Back to top |
|
|
yeauch n00b
Joined: 22 May 2006 Posts: 19
|
Posted: Tue Jun 27, 2006 3:34 pm Post subject: |
|
|
Yes, I had the same problem too.
Like you, I have a different partition for /boot and /usr. Somehow if you are using one of the earlier kernels - I think it was 2.6.16-r11 or somewhere there... the System.map message was gone! Something was fixed there but the message appeared again after that on later kernel versions. |
|
Back to top |
|
|
Raistlin l33t
Joined: 17 May 2004 Posts: 691 Location: Boston, MA
|
Posted: Tue Jun 27, 2006 4:05 pm Post subject: |
|
|
Hmm, I thought the same thing... but then I realized having a system running a 2.6.12-kernel (somewhere )... The packages are updated, though. Result? The same issues there. So I think it has to do something with the baselayout (or similar) versions... _________________ Zwei Was Eins Initially
"Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it." |
|
Back to top |
|
|
rpmohn Tux's lil' helper
Joined: 26 Aug 2003 Posts: 116 Location: Vermont
|
Posted: Wed Jun 28, 2006 4:20 pm Post subject: |
|
|
lugduweb wrote: | <snip>
So I guess that your "dirty" solution might be the only good one if this is checked too early.
But the right script should be the one looking for a /boot/System.map with a more comprehensive warning message. That would be cleaner no ?
Like this :
Code: |
if [ -d "`depdir`" -a -f /proc/modules ]
then
if [ -f /boot/System.map ]; then
depmod -a -F /boot/System.map ${KV}
else
ewarn "System.map not found - unable to check symbols (Check /boot/System.map)"
fi
fi
|
|
I have the file in /boot/System.map, but last night I tried changing the above code to /boot/System.map and it still didn't work! So I also tried /System.map and System.map, but no dice. Come to think of it, my System.map file is actually a symlink within the same /boot directory: Code: | System.map -> System.map-2.6.16-gentoo-r7 | but that shouldn't make a difference, should it?
-RPM |
|
Back to top |
|
|
Raistlin l33t
Joined: 17 May 2004 Posts: 691 Location: Boston, MA
|
Posted: Wed Jun 28, 2006 5:00 pm Post subject: |
|
|
No, because /boot is not mounted, therefore the symlink would point to nirvana... _________________ Zwei Was Eins Initially
"Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it." |
|
Back to top |
|
|
ZmjbS Tux's lil' helper
Joined: 24 Jan 2005 Posts: 136 Location: Reykjavík, Ísland
|
Posted: Sat Jul 01, 2006 7:40 pm Post subject: Bugzilla report |
|
|
There is a bug report on bugzilla that dates back to 2005-08-30.
See: https://bugs.gentoo.org/show_bug.cgi?id=104288
The bug says it is fixed, but I haven't seen any changes following baselayout upgrades (of which I have the most recent stable version, 1.11.15-r3) and there is no reference to the bug in the ChangeLog. I've got the most recent stable version.
However, there have been changes made in the kernel compile instructions at the Gentoo Linux Kernel Upgrade Guide and the Handbook and they no longer mention copying either the .config or System.map files.
Hmmm ... _________________ Signatures are, like, so cool... |
|
Back to top |
|
|
Raistlin l33t
Joined: 17 May 2004 Posts: 691 Location: Boston, MA
|
Posted: Sun Jul 02, 2006 5:00 am Post subject: |
|
|
Yes, you don't have to copy System.map to /boot, because the script looks for it in /usr/src/linux ... But this does help _nothing_ if /usr is not mounted
And especially, if you cannot force localmount be executed before modules... _________________ Zwei Was Eins Initially
"Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it." |
|
Back to top |
|
|
limn l33t
Joined: 13 May 2005 Posts: 997
|
Posted: Sun Jul 02, 2006 12:30 pm Post subject: |
|
|
ZmjbS wrote: | The bug says it is fixed |
RESOLVED/FIXED means that the bug is addressed somewhere in the source tree, not necessarily in the stable branch. |
|
Back to top |
|
|
thejackal13 n00b
Joined: 01 Feb 2005 Posts: 59
|
Posted: Mon Jul 03, 2006 3:15 am Post subject: |
|
|
i have just run into the same problem as well and i got around it by placing the System.map at the root
(/.System.map) and fixing the /sbin/modules-update.
thanks for pointing me in the right direction. |
|
Back to top |
|
|
ZmjbS Tux's lil' helper
Joined: 24 Jan 2005 Posts: 136 Location: Reykjavík, Ísland
|
Posted: Mon Jul 03, 2006 8:55 am Post subject: |
|
|
limn wrote: | ZmjbS wrote: | The bug says it is fixed |
RESOLVED/FIXED means that the bug is addressed somewhere in the source tree, not necessarily in the stable branch. |
That was what I assumed. However, from the bug discussion:
Comment #5 From Henrik Brix Andersen 2005-10-16 1 wrote: | Any chance of getting this patch applied before baselayout-1.12 goes final? |
Comment #6 From SpanKY 2005-10-16 wrote: | baselayout-1.12 wont be going stable for quite some time :p |
Comment #7 From Henrik Brix Andersen 2005-10-16 wrote: | Then can we please have it applied to the stable branch? |
... to which there was no specific answer.
According to the baselayout package page, my version is the last before 1.12, so I suppose my fault is that of overestimating the speed of the process (the version before mine in the portage tree, 1.11.14-r8, dates back to the 17th of April 2006.)
As for where the fix, it was entered in revision 1613, dated at the 10th of November 2005. The latest is revision 2123. _________________ Signatures are, like, so cool... |
|
Back to top |
|
|
|