Messages in this thread | ![/](/images/icornerl.gif) | | Subject | Missing version line in System.map file? | From | Lee Strobel <> | Date | Tue, 28 Nov 2017 22:20:01 -0500 |
| |
Hi,
I have a question about the Linux kernel, which I have been trying to find an answer to through various forums for some time now, but without success. I'm wondering if anyone on this mailing list might be able to help?
I've been trying to build a Linux From Scratch (LFS) system, using SysVinit and sysklogd. However, when I tried to boot up, klogd wasn't accepting the System.map file, printing log messages such as:
Oct 9 17:24:17 <lee_lfs> kernel: klogd 1.5.1, log source = /proc/kmsg started. Oct 9 17:24:17 <lee_lfs> kernel: Inspecting /boot/System.map Oct 9 17:24:17 <lee_lfs> kernel: Cannot find map file.
So, I dug into the source code for klogd a little bit, and it appears the reason the map file wasn't being accepted was because it didn't contain a 'version' line, which klogd was looking for, in the form:
[address] [type] Version_XXXXX
(where XXXXX is the kernel version # in base 256).
So, I've been asking around on various forums. It seems that none of the map files that are being produced by more recent kernel versions include this line and no-one that I've spoken to on the Linux user forums seems to know why this is.
Was a change made to the kernel, to remove this 'version' line from the map file? If so, how are the newer init systems verifying that the map file is the same version as the running kernel? Perhaps sysklogd needs to be updated?
By the way, I tried adding a 'dummy' version line to my map file and klogd accepted it fine.
Hopefully someone out there can assist, as no-one in the Linux user community seems to know what is going on with this.
Best regards,
Lee Strobel Engineer/Tinkerer/Free Software Supporter ..
| ![\](/images/icornerr.gif) |