Problem upgrading latest Slackware 64-current to kernel 5.4.29
Hi. Slackware 64-current with elilo (it is a UEFI machine) -
Today I have upgraded Slackware 64-current with the new Kernel 5.4.29 (It had 5.4.28) After upgrading, I have ran #eliloconfig and then I rebooted Upon reboot, I got the message "no kernel modules found" (I guess it was something like this) and the system froze. I rebooted with Slackware install disk and took a look at /boot and /boot/efi/EFI/Slackware - I found that vmlinuz-* had different dates under /boot/efi/EFI/Slackware and /boot. I figured that might be the problem (different copies of vmlinuz*) and so I followed the instructions in /boot/README.initrd by PV - #mkinitrd -c -k 5.4.29 -m etx4 in order to recreate a directory /boot/initrd-tree containing the initrd's filesystem. System rebooted fine. No error messages anymore. What could have happened? Hasn't eliloconfig work? I am new to current and elilo; all my machines are running 64-stable and lilo. I appreciate any suggestion! |
You don't need run eliloconfig every time, you could just copy the files:
Code:
cp -v /boot/initrd.gz /boot/efi/EFI/Slackware/initrd.gz Code:
mkinitrd -F -k Kernel_Version Code:
mkinitrd -F |
You do not need to run eliloconfig after each kernel update.
After updating the kernel you can generate initrd.gz and copy the files manually. Code:
cd /boot |
Quote:
And with that generic kernel, REgenerate the initrd and make sure it is in the /boot/efi/EFI/Slackware directory, for an EFI boot to be able to find it. Using a newer kernel vs an older initrd will result in errors messages like that. |
Thank you for the answers!
@gbschenkl and @teoberi: thank you for the answers. But, shouldn't eliloconfig do it automatically? Like "lilo" does? @ehartman: I guess you've pointed the problem: I am using -huge kernel, and I do have upgraded kernel-modules. I guess the problem was solved when I have recreated initrd - initrd was probably outdated. So, every time I have kernel upgraded I should recreate initrd and then copy vmlinuz* and initrd from /boot to /boot/efi/EFI/Slackware? |
Quote:
But, per a changelog entry, if an initrd exists in /boot/, then eliloconfig will move the generic kernel and initrd to the EFI partition, not the huge kernel. So, if your initrd was created when you installed Slackware, but you never updated it after upgrading kernels, it would've moved your old initrd and new generic kernel, which would prevent your system from working. Code:
Mon Jul 29 23:17:22 UTC 2019 |
@bassmadrigal
Thank you again! Slacking and learning... So exactly when should I run #eliloconfig in a system with EFI? (I am used to run #lilo after every kernel upgrade with BIOS/MBR, which is not the case here.) |
eliloconfig is just a fancy script to copy the kernel and initrd (if there) to your EFI partition and ensure the elilo efi stub is registered with your firmware.
But it isn't required like it was with lilo. All you really need to do are ensure that the kernel (and initrd, if required) are in your /boot/efi/EFI/Slackware/ folder and that the elilo.conf in the same folder point to the right files. |
Today I have successfully upgraded current to kernel 5.4.30.
I have recreated initrd with mkinitrd and then copied vmlinuz* and initrd.gz files from /boot to /boot/efi/EFI/Slackware. Everything running fine. Thank you, guys! For your answers and suggestions. I will mark this as solved. |
If you want and feel brave you should try to update the microcode for the processor if necessary!
https://www.linuxquestions.org/quest...de-4175621053/ https://www.linuxquestions.org/quest...re-4175654143/ |
All times are GMT -5. The time now is 09:04 AM. |