Split initrd into smaller files

I would like to know if it’s possible to have a split initrd implementation. Our reason for doing this, is the fact that our Fedora based application uses a stripped version of Fedora underneath with an initrd file which has become so large (+500MB), that GRUB2 is giving us issues with said file on some computers (mainly cheap HP laptops our clients love to buy against our recommendations). We have established that the problem lies with GRUB2 , initrd and HP laptops, because unpacking initrd allows these machines to boot. For our use case, however, we need to be able to boot into RAM, because our application is a bootable RAMDisk which runs our app in a kiosk environment.

We are already using the highest form of compression on initrd (XZ level 9). Serving the rootfs from a network share and forcing our clients to adjust their infrastructure is an undesirable solution. We would like to keep the option for our application to simply boot off a USB device, like they are already doing.

Diverging from GRUB2 would perhaps also be an option, but that would jeopardize our ability to be bootable on EFI-only Secure Boot enabled hardware (because GRUB2 packages are presigned by some vendors for Secure Boot).

Is it possible to simply split up our massive initrd ? Or do we have other options?

Thank you.

1 Like

This seems like quite a niche topic, and will require someone that really understands how all of this works to answer. Would you perhaps consider e-mail the developers mailing list here?


Most likely that someone there will be able to help. (You can mention there that you’ve already posted here on Ask Fedora and not received a reply)

1 Like