• 5 Posts
  • 4 Comments
Joined 9 months ago
cake
Cake day: July 15th, 2024

help-circle





  • Well thanks everyone. I finally managed to get it to work on Arch. System has separate encrypted root and swap in LVM, and a separate encrypted home. It can suspend and hibernate. Below are my steps

    DISK PREP

    to create a LUKS container that is encrypted with: a keyfile and a password. Test both to make sure you can open the locked drive. Format and mount it at /mnt/home or where you want the /home to be.

    • Pacstrap and then genfstab.
      Important: Make sure to copy the keyfile from your archiso environment to your chroot environment aka your system. Otherwise, when reboot, the keyfile is gone. I put it in /root and set permission so only root can read.

    AUTOMATIC UNLOCK

    • First, fstab. When you do genfstab, things should be fine. But just double check the UUID is correct for /home. Note in fstab, the UUID is the unlocked one: so the one with /dev/mapper/home. Change to noatime if you desire.

    • Second, crypttab. Assume you decrypt your LUKS home as “home”. Add this:

    home uuid of the unencrypted home drive location of the keyfile luks

    The link above said to just use /dev/sda, but imo UUID is safer if you have a removable drive.

    • Third, grub. Edit your /etc/default/grub and append the following to GRUB_CMD_LINUX:

    “rd.luks.uuid=UUID of the locked luks home drive”

    FOR HIBERNATION

    For some reasons, hibernation doesnt work out of the box. It works when I have everything in 1 drive, i.e 1 boot, 1 efi, 1 lvm on luks for /home, swap and /. The fix is simple:

    • add “resume” to /etc/mkinitcpio.conf. Add before “filesystems” . Rebuild your initramfs with mkinitcpio -P.

    • add to /etc/default/grub: “resume= uuid of the unlocked swap partition”. Or if you do LVM, just use “resume=/dev/vg/swap”.

    Special thanks to bodaciousFern@lemmy.dbzer0.com and Lemmchen@feddit.org for giving me correct ideas about “rd.luks.uuid” and that LUKS can do both pass and keyfile.