I've noticed an irritating message when klogd starts up. It says: Cannot find map file.
I traced the cause of this message. System.map is a dump of the kernel symbols using nm. klogd finds the System.map, but rejects it because there is no symbol with the name "Version_xxxxxx" where xxxxxx is a decimal conversion of the kernel's major/minor/patch (e.g. 2.6.32). Researching some more, it looks like the kernel removed this symbol by default somewhere around 2.6.27. sysklogd has not been updated since 2007. I checked some other distros. The ones I found still have the Version_ symbol (grep Version_ System.map). They are generally using older kernels with back ported patches. My understanding is that klogd reads the symbols to translate kernel oops to symbols. I think I saw that the kernel is now doing that internally. In that case, there is no need for klogd to read System.map at all. To stop klogd from trying to read System.map, it requires passing -x in the command line. We can do that easily in the boot scripts. What this also implies is that we don't need to copy System.map to /boot at all. My analysis may have not gone deep enough, but I want to get this out for other opinions. -- Bruce P.S. It appears that the Version string can be turned on in the kernel's make menuconfig, but it's not particularly easy: Symbol: KALLSYMS [=y] Prompt: Load all symbols for debugging/ksymoops Defined at init/Kconfig:780 Depends on: EMBEDDED Location: -> General setup -> Configure standard kernel features (for small systems) Change (for small systems) to yes, select the submenu, turn off "Load all symbols" -- http://linuxfromscratch.org/mailman/listinfo/lfs-dev FAQ: http://www.linuxfromscratch.org/faq/ Unsubscribe: See the above information page