efibootmgr command for LVM on LUKS
Hello. I am currently installing Artix Linux on a new laptop so I want to create a boot entry to directly boot kernel from UEFI. For my previous installations I was using efibootmgr to create EFISTUB. But unfortunately efibootmgr doesn't allow you to view command line arguments you've been using to create an existing boot entry.
My setup information:
- unencrypted ESP (boot partition);
- LVM with root (btrfs, I don't use btrfs subvolumes) and swap partitions on LUKS2;
- boot partition contents: vmlinuz-linux-zen (loader), booster-linux-zen.img (initramfs image generated by booster), intel-ucode.img (intel CPU microcode update files image).
Currently I have the next command:
efibootmgr --create \
--disk /dev/nvme0n1 --part 1 \
--label "Artix Linux" \
--loader /vmlinuz-linux-zen \
--unicode 'cryptdevice=UUID={LUKS PARTITION UUID}:{DECRYPTED LVM PARTITION NAME} root=UUID={ROOT PARTITION UUID} \
rd.luks.name={LUKS PARTITION UUID}={DECRYPTED LVM PARTITION NAME} \
rw loglevel=3 quiet \
initrd=\intel-ucode.img initrd=\booster-linux-zen.img'
I am going to use lsblk command to obtain UUIDs.
It seems booster doesn't need any additional configuration in /etc/booster.yaml because Arch wiki says it supports LUKS out of the box (https://wiki.archlinux.org/title/Booster#Encryption).
However it seems booster needs additional systemd-boot originated kernel parameters like rd.luks.name (https://man.archlinux.org/man/booster.1#BOOT_TIME_KERNEL_PARAMETERS).
I've created a related github discussion in booster repository (https://github.com/anatol/booster/discussions/307).
Tell me, please, if I am wrong somewhere.