Cannot find map file
hi, all,
I just had Woddy 3.0rev1 installed from CD and then downloaded kernel 2.4.20 source from
kernel.org and compiled it. But after booting into the new kernel(xwindow and kde still runs
OK), I find the following in the /var/log/syslog:
May 14 18:28:58 china syslogd 1.4.1#10: restart.
May 14 18:28:58 china kernel: klogd 1.4.1#10, log source = /proc/kmsg started.
May 14 18:28:58 china kernel: Cannot find map file.
May 14 18:28:58 china kernel: No module symbols loaded.
May 14 18:28:58 china kernel: Linux version 2.4.20second (root@china) (gcc version 2.95.4 20011002 (Debian prerelease)) #1 Wed May 14 18:20:02 BST 2003
I looked into man klogd and learned that
As a convenience klogd will attempt to resolve kernel numeric addresses to their symbolic
forms if a kernel symbol table is available at execution time. If you require the
original address of the symbol, use the -2 switch to preserve the
numeric address. A symbol table may be specified by using the -k switch on the
command line. If a symbol file is not
explicitly specified the following filenames will be tried:
/boot/System.map
/System.map
/usr/src/linux/System.map
Since the recompile section of debian user manual never mentioned a word about System.map,
I didn't think of it's role in booting system until I saw the above lines in man klogd.
I checked the /usr/src/linux folder and System.map is right sitting there. So why is it
not found during booting up?
There is a /boot/System.map-2.4.18-bf2.4 file, which I assume is found when I boot the binary kernel from the CD installation. So how come this can be found and the /usr/src/linux/System.map can't be found during my 2.4.20 kernel boot?
Further if I have more than two kernels, how do I specify which System.map is for which
booting image?
My lilo.conf looks like:
map=/boot/map
#new compiled 2.4.20 kernel
image=/vmlinuz
label=Linux
read-only
vga=0x317
# restricted
# alias=1
#CD installation binary kernel
image=/vmlinuz.old
label=LinuxOLD
read-only
vga=0x317
# optional
# restricted
# alias=2
Is map=/boot/map the suspect? If so, how come my binary CD-installed
2.4.18 kernel can find it's System.map?
Many thanks,
Wei Wang
Reply to: