Kickstart installation initrd

Hi all,
in a kickstart Rocky 8.7 installation, I’d like to use a specific kernel + initrd

It seems network installations per default uses ${mirror}/rocky/${version}/BaseOS/x86_64/os/images/pxeboot/vmlinuz and the corresponding initrd.img. The version in Rocky 8.7 is 4.18.0-425.3.1.

However, this kernel/initrd is not so well suited to our hardware.
The installation puts kernel-4.18.0-425.13.1 into the system - this works well enough.

I have since copied kernel-4.18.0-425.13.1 plus its initrd to our bootserver and adjusted the kickstart file (or rather the iPXE file). Gets loaded, started, but then fails, because /sysroot is empty, so I get the known Specified switch root path '/sysroot' does not seem to be an OS tree. os-release file is missing.

So while this initrd works well booting the installed server, it is no good in a network installation.

Which dracut options might do the trick?


There really shouldn’t be that big of a difference between .3.1 and .13.1. Most times the difference would be between -425 and the previous (and upcoming) versions.

With that being said, you may want to provide how your configurations currently look to further assist you.

I don’t know how iPXE works or how the configuration looks. But, in my PXE environment, I make sure to specify both inst.repo and inst.stage2 in the grub configuration to make sure the correct images are used, as per the .treeinfo.

. . .
  menuentry 'Install Rocky Linux 8' --class fedora --class gnu-linux --class gnu --class os {
    linuxefi rocky-8-x86_64/vmlinuz inst.repo= inst.stage2= ip=dhcp inst.ks=
    initrdefi rocky-8-x86_64/initrd.img
. . .

Since you are using a mirror repo, you can just point it as you see fit, like which will have the .treeinfo needed to start the installation.

Thanks for the hint.

I did not know about the .treefinfo file, but I have now copied it to the place where I keep the images dir with the kernel. Even remember to adjust the checksums of kernel, initrd listed therein.

However, this did not help, the switch root still does not work.

But I have found another workaround: instead of forcing a different installation kernel, I compiled the kernel module that is the reason for all this on a Rocky 8.7 box where I had installed/booted the …3.1… installation kernel.
This gives me an rpm that I add to the %packages. Later in kickstart, I run the command that actually needs this module, and now the versions fit and the command succeeds.

Btw, I remember Debian installations where I installed some package during the installation into the installation system - this being entirely in the memory at that stage, so my messing with the installation system did not even leave traces.
This is not possible in Rocky et al.?