Mkinitcpio v31 and UEFI Stubs
linderud.dev
linderud.dev
Advantage: less complex than adding another layer (and dependency) with the gummiboot stub.
Disadvantage: relinking the kernel is more expensive than rebundling with objcopy, if you change initramfs with the same kernel often.
Disadvantage: it's not an option if you use a distribution kernel binary instead of building your own.
It's nice to use compared with grub, just edit a file and reboot. I've struggled to understand exactly how the fedora boot system is configured, and which command I need to run or file to edit to get it reconfigured.
https://www.kernel.org/doc/html/latest/filesystems/ramfs-roo...
https://www.kernel.org/doc/html/latest/driver-api/early-user...
It used to be that distros had to come up with huge piles of distro-specific scripting to build a complete system, but the trend has been to create independent projects so that each distro doesn't need to reinvent things. Distros used to have a lot of custom bootup scripts, which have been largely replaced by modular components of systemd. For many distros, the scripts for creating the init ramdisk have been replaced by Dracut; but not on Arch Linux and derivatives, Dave Reisner's mkinitcpio is still going strong. And it's interesting that Arch is being a holdout with Dracut, when they were one of the first adopters of systemd.
[0]: https://lists.archlinux.org/pipermail/arch-dev-public/2019-M...
https://lists.archlinux.org/pipermail/arch-dev-public/2021-F...
This is also why I started writing up the feature.
Thanks a lot.
I have been using some package manager hooks to do roughly the same thing mkinitcpio no natively supports ;=)