Wenn Omarchy zum Beispiel auf einem Homeserver an einem physisch sicheren Ort läuft, soll die Maschine nach einem Reboot ohne Tastatur durchstarten. Das ist ein Sonderfall. Das Keyfile liegt zwar im verschlüsselten Root, ist aber über das initramfs lesbar, also für jeden zugänglich, der an die Hardware kommt. Auf einem Laptop oder einer Maschine in geteiltem Umfeld sollte man das nicht so lösen.
Keyfile anlegen und LUKS bekannt machen
sudo dd if=/dev/urandom of=/root/keyfile bs=1024 count=4
sudo chmod 600 /root/keyfile
sudo cryptsetup luksAddKey /dev/nvme0n1p2 /root/keyfile
Die richtige Partition findest Du mit lsblk -f. Beim luksAddKey einmal das bestehende LUKS-Passwort eingeben.
Limine-Kernelzeile ergänzen
/etc/default/limine öffnen und in KERNEL_CMDLINE[default] ergänzen:
... cryptdevice=PARTUUID=xxx:root:allow-discards cryptkey=rootfs:/root/keyfile root=/dev/mapper/root ...
xxx ist Deine eigene PARTUUID. Neu sind :allow-discards und der cryptkey=-Parameter.
Keyfile ins initramfs aufnehmen
In /etc/mkinitcpio.conf die FILES=-Zeile setzen:
FILES=(/root/keyfile)
Initramfs und Bootloader neu bauen
sudo mkinitcpio -P
sudo limine-update
Falls beim mkinitcpio nach limine-mkinitcpio gefragt wird, mit Y bestätigen.
Reboot
sudo reboot
Der Server kommt jetzt ohne Passwortabfrage hoch.
Rückbau
sudo cryptsetup luksRemoveKey /dev/nvme0n1p2 /root/keyfile
Anschließend in /etc/default/limine den cryptkey=-Parameter und :allow-discards entfernen, in /etc/mkinitcpio.conf die FILES=-Zeile leeren und einmal sudo mkinitcpio -P plus sudo limine-update laufen lassen.