Here are links to the errors I see as well as my bug report.
I have continued to run the 6.4.10 kernel, trying various kernels along the way up to 6.5.5 which came in about a week ago, none of them work any differently. I now have in /boot:
vmlinuz-6.4.10-200.fc38.x86_64 vmlinuz-6.4.11-200.fc38.x86_64 vmlinuz-6.4.12-200.fc38.x86_64 vmlinuz-6.4.13-200.fc38.x86_64 vmlinuz-6.4.14-200.fc38.x86_64 vmlinuz-6.4.15-200.fc38.x86_64 vmlinuz-6.5.5-200.fc38.x86_64
I just did something stupid. I was trying to prune stuff in my /boot so it wouldn't fill up (in retrospect, filling up would have been OK as long as 6.4.10 was intact). What I did was to run "rm" without the "-i" switch and nuked all the System.map files. So don't have it for any of my kernels. I have been unable to locate the original 6.4.10 kernel rpm package. So I may be in trouble when the next power surge reboots my system.
I tried this to try to restore the files for 6.5.5, but no System.Map appeared:
su dnf erase kernel-6.5.5 dnf install kernel-6.5.5I use this command on another intact system:
rpm -qf /boot/System.map-6.2.14-200.fc37.x86_64 kernel-core-6.2.14-200.fc37.x86_64And based on that, I do:
dnf erase kernel-core-6.5.5I abort this, as it wants to remove 24 dependent packages. Instead I try this:
dnf reinstall kernel-core-6.5.5This works fine and I now see:
System.map-6.5.5-200.fc38.x86_64But I try this (with great hope) and get:
dnf reinstall kernel-core-6.4.10 Last metadata expiration check: 3:47:26 ago on Wed 27 Sep 2023 01:11:42 PM MST. Installed package kernel-core-6.4.10-200.fc38.x86_64 (from updates) not available. Error: No packages marked for reinstall.
000000000000c000 d exception_stacks 0000000000018000 d entry_stack_storage 0000000000019000 D espfix_waddr 0000000000019008 D espfix_stack .... ffffffff85000000 B __bss_stop ffffffff85000000 B __end_bss_decrypted ffffffff85000000 B __end_of_kernel_reserveAs I read, it doesn't sound deadly not to have a System.map, but they say that you will get complaints like "System.map does not match actual kernel" when you run "ps". And you will get unreliable information when you have a kernel oops (which I never do).
They tell me that the System.map file is generated by scripts/mksysmap near the end of the kernel build process. It is the output of the nm command. Using "locate" I find a plethora of "mksysmap" scripts on my system. It is a nice simple bash script you use as "mksysmap vmlinux System.map" and the heart of it is:
$NM -n $1 | grep -v \ -e ' [aNUw] ' \ -e ' \$' \ -e ' \.L' \ -e ' __crc_' \ -e ' __kstrtab_' \ -e ' __kstrtabns_' \ -e ' L0$' \ > $2However, the vmlinuz file needs to be expanded. The way to do that is:
/path/to/kernel/tree/scripts/extract-vmlinuxIn my case locate also found a bunch of these scripts for me as well (since I have umpteen copies of the linux kernel source).>vmlinux.
cd /boot cp /u1/linux/linux-git/scripts/mksysmap . # edit NM to nm /u1/linux/linux-git/scripts/extract-vmlinux vmlinuz-6.4.10-200.fc38.x86_64 > vmlinux ./mksysmap vmlinux System.mapThis is all in vain, the symbols have been stripped.
Along with that I have a F38 Xfce spin live DVD iso on a flash stick if things get dire.
Adventures in Computing / [email protected]