systemd-boot (sd-boot / gummiboot)
- Arch linux doc
- Distro with systemd-boot by default
- Arch wiki: dm-crypt - encrypt hook - Using systemd-cryptsetup-generator
Install sd-boot:
$ bootctl install
Created "/efi/EFI/systemd".
Created "/efi/loader".
Created "/efi/loader/entries".
Created "/efi/EFI/Linux".
Copied "/usr/lib/systemd/boot/efi/systemd-bootx64.efi" to "/efi/EFI/systemd/systemd-bootx64.efi".
Copied "/usr/lib/systemd/boot/efi/systemd-bootx64.efi" to "/efi/EFI/BOOT/BOOTX64.EFI".
Random seed file /efi/loader/random-seed successfully written (32 bytes).
Created EFI boot entry "Linux Boot Manager".
Change default boot entry
Edit /efi/loader/loader.conf
Automated kernel image management and boot loader entries
kernel-install-for-dracut
Kernelstub
Kernelstub is a utility to automatically manage your OS's EFI System Partition (ESP). It makes it simple to copy the current kernel and initramfs image onto the ESP so that they are automatically probable by most EFI boot loaders as well as the EFI firmware itself.
- Github
- What is Kernelstub
- Developed by System76, packaged in Pop-Os deb repo
- Not packaged in Arch, neither in AUR
- Sample template:
/etc/default/kernelstub.SAMPLE
Copy current kernel and inintd to EFI partition:
kernelstub -v
Install older kernel as default
kernelstub -v -k /boot/vmlinuz-5.19.16-76051916-generic -i /boot/initrd.img-5.19.16-76051916-generic
Then copy the older kernel to i.e. *-previous
:
cp vmlinuz.efi vmlinuz-previous.efi
cp initrd.img initrd.img-previous
Then override the default kernel + initrd entries:
kernelstub -v
Dracut
see ./dracut.md