On 18/02/10 20:57, Bruce Dubbs wrote:
> 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.

What I do is modify the boot script to start klogd with the -k 
/path/to/System.map option.
It removes that annoying "Cannot find map file" message.


                boot_mesg "Starting the kernel log daemon..."
                loadproc klogd -k /boot/System.map
                ;;

Andy
-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page

Reply via email to