kernel upgrade issues/questions (broken initrd)
by wirelessmc from LinuxQuestions.org on (#57P1X)
**warning** long post ahead!
I should preface this with the following: I have used mkinitrd to build many initrd's for booting my EFI based systems. Having an initrd to bootstrap the kernel is of course required with many EFI based boot mechanisms. I never had an issue where the initrd couldn't mount the root filesystem -till now at least. The kernel is 5.4.61 and I had just upgraded another system a few days earlier with kernel 5.4.60. No issues on that system using the identical kernel upgrade procedure.
After installing the kernel modules, huge and generic based kernel packages (in current) I issued the following mkinitrd command just as I did with the 5.4.60 kernel that worked:
mkinitrd -c -k 5.4.61 -m ext4 -f ext4 -r /dev/sdc2 -o /boot/initrd-5.4.61-x86_64-1.gz
I then used the efibootmgr command to install the new kernel and initrd just as the slackware docs instruct making sure my elilo.conf is properly configured and the elilo.efi, kernel and initrd is in place and is consistent with elilo.conf:
efibootmgr -c -g -d /dev/sdc -p 1 -w -L "Slackware-P2" -l '\EFI\Slackware-15\elilo.efi'
In any event the initrd seems to choke on the journalling fs jbd2 kernel module. I have a picture of the boot message here if you are inclined to look at it.
After spending several hours scratching my head I decided that if I installed the new kernel and initrd via the -current install DVD snapshot that I could likely get my system up. Yes this worked and now I have some other questions regarding the install DVD kernel and initrd. BTW when I say DVD here I am referring to the DVD image that I installed on USB flash drive used to boot the Slackware installer.
1) First off why is the newly installed kernel image size (from current DVD snapshot) different from the pre-packaged kernel image? The packaged (kernel-huge-5.4.61-x86_64-1.txz) kernel image is a little over 10MB while the DVD installed kernel image is a little over 6MB (more like a generic kernel image size).
2) How does one go about accessing these files (initrd and kernel) directly from the install DVD (*or* the current source tree) without actually having to boot the DVD and run the setup install script?
3) Is the DVD installed initrd built from the running kernel on the install DVD?
4) If yes then what is different about my invocation of mkinitrd above? I have to imagine that Pat uses a similar invocation of mkinitrd in the install scripts?
5) I used the DVD-installed initrd to successfully boot the pre-packaged kernel (above) to definitively prove that this was an issue with the initrd.
--disregard below if you don't care why I am asking these questions----
This all (kernel upgrade) started because I wanted to try bringing up a second box with the latest Plasma/KDE5 now supporting The Wayland compositor. The first upgrade - a Slackware64-current based Lenovo laptop went relatively smoothly. This system has a Mesa Intel 520 GPU.
The second machine a Desktop PC with an Nvidia GPU didn't fare as well. As it stands the Plasma Desktop will only run with the X based Desktop. The KWayland session will start but the mouse and keyboard have horrendous hysteresis issues rendering it unusable. This is true even after I rebuilt/upgraded to the latest Nvidia driver and kernel modules.
I knew it probably wouldn't fix KWayland but since I did a complete -current update on this system I also wanted to update to a newer kernel.


I should preface this with the following: I have used mkinitrd to build many initrd's for booting my EFI based systems. Having an initrd to bootstrap the kernel is of course required with many EFI based boot mechanisms. I never had an issue where the initrd couldn't mount the root filesystem -till now at least. The kernel is 5.4.61 and I had just upgraded another system a few days earlier with kernel 5.4.60. No issues on that system using the identical kernel upgrade procedure.
After installing the kernel modules, huge and generic based kernel packages (in current) I issued the following mkinitrd command just as I did with the 5.4.60 kernel that worked:
mkinitrd -c -k 5.4.61 -m ext4 -f ext4 -r /dev/sdc2 -o /boot/initrd-5.4.61-x86_64-1.gz
I then used the efibootmgr command to install the new kernel and initrd just as the slackware docs instruct making sure my elilo.conf is properly configured and the elilo.efi, kernel and initrd is in place and is consistent with elilo.conf:
efibootmgr -c -g -d /dev/sdc -p 1 -w -L "Slackware-P2" -l '\EFI\Slackware-15\elilo.efi'
In any event the initrd seems to choke on the journalling fs jbd2 kernel module. I have a picture of the boot message here if you are inclined to look at it.
After spending several hours scratching my head I decided that if I installed the new kernel and initrd via the -current install DVD snapshot that I could likely get my system up. Yes this worked and now I have some other questions regarding the install DVD kernel and initrd. BTW when I say DVD here I am referring to the DVD image that I installed on USB flash drive used to boot the Slackware installer.
1) First off why is the newly installed kernel image size (from current DVD snapshot) different from the pre-packaged kernel image? The packaged (kernel-huge-5.4.61-x86_64-1.txz) kernel image is a little over 10MB while the DVD installed kernel image is a little over 6MB (more like a generic kernel image size).
2) How does one go about accessing these files (initrd and kernel) directly from the install DVD (*or* the current source tree) without actually having to boot the DVD and run the setup install script?
3) Is the DVD installed initrd built from the running kernel on the install DVD?
4) If yes then what is different about my invocation of mkinitrd above? I have to imagine that Pat uses a similar invocation of mkinitrd in the install scripts?
5) I used the DVD-installed initrd to successfully boot the pre-packaged kernel (above) to definitively prove that this was an issue with the initrd.
--disregard below if you don't care why I am asking these questions----
This all (kernel upgrade) started because I wanted to try bringing up a second box with the latest Plasma/KDE5 now supporting The Wayland compositor. The first upgrade - a Slackware64-current based Lenovo laptop went relatively smoothly. This system has a Mesa Intel 520 GPU.
The second machine a Desktop PC with an Nvidia GPU didn't fare as well. As it stands the Plasma Desktop will only run with the X based Desktop. The KWayland session will start but the mouse and keyboard have horrendous hysteresis issues rendering it unusable. This is true even after I rebuilt/upgraded to the latest Nvidia driver and kernel modules.
I knew it probably wouldn't fix KWayland but since I did a complete -current update on this system I also wanted to update to a newer kernel.