You are not logged in.

#1 2025-10-03 16:29:14

ruffy
Member
Registered: 2017-06-10
Posts: 67

hibernation with encrypted swap partition

Hi,

I currently have three partitions: boot, swap, and root. Both swap and root are encrypted with LUKS, and the root partition uses a btrfs filesystem. However, I haven't been able to get hibernation to work with this setup. Is hibernation truly infeasible with this configuration, or is there something I might be missing?

In the following, I have replaced the UUIDs with placeholders (<U1>, …, <U6>) to make it easier to see which ones are being used.
I use arch linux 6.12.49-1-lts.

/etc/crypttab:

cryptroot UUID=<U1> none luks,discard
cryptswap UUID=<U2> /etc/k/swap.key luks,discard

lsblk:

NAME          MAJ:MIN RM   SIZE RO TYPE  MOUNTPOINTS
nvme0n1       259:0    0 953.9G  0 disk 
├─nvme0n1p1   259:1    0     1G  0 part  /boot
├─nvme0n1p2   259:2    0    64G  0 part 
│ └─cryptswap 254:1    0    64G  0 crypt [SWAP]
└─nvme0n1p3   259:3    0 888.9G  0 part 
  └─cryptroot 254:0    0 888.9G  0 crypt
                                         /home
                                         /

blkid

blkid
/dev/mapper/cryptswap: UUID="<U3>" TYPE="swap"
/dev/nvme0n1p3: UUID="<U4>" TYPE="crypto_LUKS" PARTUUID="..."
/dev/nvme0n1p2: UUID="<U5>" TYPE="crypto_LUKS" PARTUUID="..."
/dev/mapper/cryptroot: UUID="<U6>" UUID_SUB="..." BLOCK_SIZE="4096" TYPE="btrfs"
...

/etc/default/grub

GRUB_CMDLINE_LINUX_DEFAULT="loglevel=3 quiet cryptdevice=UUID=<U1>:cryptroot root=/dev/mapper/cryptroot rootflags=subvol=@ resume=UUID=<U3>"

/etc/mkinitcpio.conf

HOOKS=(base udev autodetect microcode modconf kms keyboard keymap consolefont block encrypt filesystems resume fsck)
RESUME=/dev/mapper/cryptswap

Without hibernation, I get the following error after entering the passphrase to unlock the cryptroot volume:

Failed to stat resume device '/dev/disk/by-uuid/<U3>': no such file or directory

With hibernation, I get the same error after entering the passphrase to unlock the cryptroot volume:

Reported hibernation image: ID=arch kernel=6.12.49-1-lts UUID=<U3> offset=0
Failed to stat resume device '/dev/disk/by-uuid/<U3>': no such file or directory

Does anyone know how I can fix this, or is hibernation simply not possible with an encrypted swap partition setup?

Offline

Board footer

Powered by FluxBB