Skip to main content

Zavaděč (bootloader)

Nainstalujte GRUB

 

pacman -S grub efibootmgr os-prober dosfstools mtools


Nakonfigurujte GRUB tak, aby umožňoval spouštění z /boot na šifrovaném oddílu LUKS1 

 

nvim /etc/default/grub
GRUB_ENABLE_CRYPTODISK=y


Nastavte parametr jádra pro odemknutí fyzického svazku BTRFS při spouštění pomocí encrypt hook

UUID je oddíl obsahující kontejner LUKS

 

blkid
/dev/nvme0n1p2: UUID="xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" TYPE="crypto_LUKS" PARTLABEL="Linux LUKS" PARTUUID="xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx"
/etc/default/grub
# allow-discards is only for ssd to let trim work with encryption enabled
GRUB_CMDLINE_LINUX="... cryptdevice=UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx:cryptbtrfs:allow-discards"


Nainstalujte GRUB do připojeného ESP pro spouštění UEFI

 

grub-install --target=x86_64-efi --bootloader-id=ARCH --efi-directory=/efi --recheck


Vygenerujte konfigurační soubor GRUB

 

grub-mkconfig -o /boot/grub/grub.cfg


(doporučeno) Vložte soubor s klíčem do initramfs

To se provádí proto, abyste nemuseli zadávat heslo pro dešifrování dvakrát (jednou pro GRUB, jednou pro initramfs.)

Vytvořte soubor s klíčem a přidejte jej jako klíč LUKS

mkdir /root/secrets && chmod 700 /root/secrets
head -c 64 /dev/urandom > /root/secrets/crypto_keyfile.bin && chmod 600 /root/secrets/crypto_keyfile.bin
cryptsetup -v luksAddKey -i 1 /dev/nvme0n1p2 /root/secrets/crypto_keyfile.bin


Přidejte soubor s klíčem do obrazu initramfs

 

nvim /etc/mkinitcpio.conf
FILES=(/root/secrets/crypto_keyfile.bin)


Znovu vytvořte obraz initramfs

 

mkinitcpio -P


Nastavte parametry jádra pro odemknutí oddílu LUKS pomocí souboru s klíčem v encrypt hook

/etc/default/grub
GRUB_CMDLINE_LINUX="... cryptkey=rootfs:/root/secrets/crypto_keyfile.bin"


Znovu finálně vygenerujte konfigurační soubor GRUB

 

grub-mkconfig -o /boot/grub/grub.cfg


Omezit /bootoprávnění

 

chmod 700 /boot

Instalace je nyní dokončena. Ukončete chroot a restartujte počítač.

exit
reboot