Public bug reported:
If I install either Kubuntu 24.04.2 or 25.04 with a swapfile & BTRFS on
an encrypted (cryptsetup) partition, and add a keyfile, then usually
(but not always) the /swap subvolume fails to mount, such that
/swap/swapfile doesn't exist, and so "cat /proc/swap" lists nothing.
This occurs on two very different laptops & a desktop PC.
After installing Kubuntu, I perform these very minor changes:
$ sudo cryptsetup luksAddKey /dev/sda3 /media/chris/USB/test.key
$ sudo vim /etc/crypttab
$ sudo update-initramfs -u #-k all
Here is my slightly modified /etc/crypttab:
~~~
#luks-09135e69-3422-4c29-b2a2-691197225802
UUID=09135e69-3422-4c29-b2a2-691197225802 none
luks-09135e69-3422-4c29-b2a2-691197225802
UUID=09135e69-3422-4c29-b2a2-691197225802 /dev/disk/by-label/USB:/test.key
keyscript=passdev
~~~
For reference, these are the relevant (but UNchanged) entries in /etc/fstab:
~~~
/dev/mapper/luks-09135e69-3422-4c29-b2a2-691197225802 /swap btrfs
subvol=/@swap,defaults 0 0
/swap/swapfile swap swap defaults 0 0
~~~
But I've also seen similar behaviour if I add a bind mount inside the
/home subvolume, so it's not swap specific. Instead I suspect it's
because cryptsetup is not ready when it tries to mount the /swap
subvolume, as I see the following in the journal:
~~~
chris@chris-test:~$ journalctl -b -g
"cryptsetup|luks|swap|local-fs.target|home.mount"
May 26 22:37:42 chris-test kernel: Command line:
BOOT_IMAGE=/vmlinuz-6.14.0-15-generic
root=UUID=69898faf-5ddc-425a-9e2f-e4798fa1426e ro rootflags=subvol=@ quiet
rd.luks.uuid=09135e69-3422-4c29-b2a2-691197225802 splash vt.handoff=7
May 26 22:37:42 chris-test kernel: Kernel command line:
BOOT_IMAGE=/vmlinuz-6.14.0-15-generic
root=UUID=69898faf-5ddc-425a-9e2f-e4798fa1426e ro rootflags=subvol=@ quiet
rd.luks.uuid=09135e69-3422-4c29-b2a2-691197225802 splash vt.handoff=7
May 26 22:37:42 chris-test kernel: Spectre V1 : Mitigation: usercopy/swapgs
barriers and __user pointer sanitization
May 26 22:37:43 chris-test kernel: BTRFS: device label kubuntu_2504 devid 1
transid 140 /dev/mapper/luks-09135e69-3422-4c29-b2a2-691197225802 (252:0)
scanned by mount (314)
May 26 22:37:43 chris-test systemd[1]: systemd 257.4-1ubuntu3 running in system
mode (+PAM +AUDIT +SELINUX +APPARMOR +IMA +IPE +SMACK +SECCOMP +GCRYPT -GNUTLS
+OPENSSL +ACL +BLKID +CURL +ELFUTILS +FIDO2 +IDN2 -IDN +IPTC +KMOD
+LIBCRYPTSETUP +LIBCRYPTSETUP_PLUGINS +LIBFDISK +PCRE2 +PWQUALITY +P11KIT
+QRENCODE +TPM2 +BZIP2 +LZ4 +XZ +ZLIB +ZSTD +BPF_FRAMEWORK +BTF -XKBCOMMON
-UTMP +SYSVINIT +LIBARCHIVE)
May 26 22:37:43 chris-test systemd[1]: Created slice
system-systemd\x2dcryptsetup.slice - Encrypted Volume Units Service Slice.
May 26 22:37:43 chris-test systemd[1]: Expecting device
dev-mapper-luks\x2d09135e69\x2d3422\x2d4c29\x2db2a2\x2d691197225802.device -
/dev/mapper/luks-09135e69-3422-4c29-b2a2-691197225802...
May 26 22:37:43 chris-test systemd[1]: Mounting
run-systemd-cryptsetup-keydev\x2dluks\x2d09135e69\x2d3422\x2d4c29\x2db2a2\x2d691197225802.mount
- /run/systemd/cryptsetup/keydev-luks-09135e69-3422-4c29-b2a2-691197225802...
May 26 22:37:47 chris-test mount[384]: mount:
/run/systemd/cryptsetup/keydev-luks-09135e69-3422-4c29-b2a2-691197225802:
special device /test.key does not exist.
May 26 22:37:47 chris-test umount[438]: umount:
/run/systemd/cryptsetup/keydev-luks-09135e69-3422-4c29-b2a2-691197225802: not
mounted.
May 26 22:37:43 chris-test systemd[1]:
run-systemd-cryptsetup-keydev\x2dluks\x2d09135e69\x2d3422\x2d4c29\x2db2a2\x2d691197225802.mount:
Mount process exited, code=exited, status=32/n/a
May 26 22:37:43 chris-test systemd[1]:
run-systemd-cryptsetup-keydev\x2dluks\x2d09135e69\x2d3422\x2d4c29\x2db2a2\x2d691197225802.mount:
Failed with result 'exit-code'.
May 26 22:37:43 chris-test systemd[1]: Failed to mount
run-systemd-cryptsetup-keydev\x2dluks\x2d09135e69\x2d3422\x2d4c29\x2db2a2\x2d691197225802.mount
- /run/systemd/cryptsetup/keydev-luks-09135e69-3422-4c29-b2a2-691197225802.
May 26 22:37:43 chris-test systemd[1]: Dependency failed for
systemd-cryptsetup@luks\x2d09135e69\x2d3422\x2d4c29\x2db2a2\x2d691197225802.service
- Cryptography Setup for luks-09135e69-3422-4c29-b2a2-691197225802.
May 26 22:37:43 chris-test systemd[1]: Dependency failed for cryptsetup.target
- Local Encrypted Volumes.
May 26 22:37:43 chris-test systemd[1]: cryptsetup.target: Job
cryptsetup.target/start failed with result 'dependency'.
May 26 22:37:43 chris-test systemd[1]: Dependency failed for
dev-mapper-luks\x2d09135e69\x2d3422\x2d4c29\x2db2a2\x2d691197225802.device -
/dev/mapper/luks-09135e69-3422-4c29-b2a2-691197225802.
May 26 22:37:43 chris-test systemd[1]: Dependency failed for swap.mount - /swap.
May 26 22:37:43 chris-test systemd[1]: Dependency failed for swap-swapfile.swap
- /swap/swapfile.
May 26 22:37:43 chris-test systemd[1]: Dependency failed for swap.target -
Swaps.
May 26 22:37:43 chris-test systemd[1]: swap.target: Job swap.target/start
failed with result 'dependency'.
May 26 22:37:43 chris-test systemd[1]: swap-swapfile.swap: Job
swap-swapfile.swap/start failed with result 'dependency'.
May 26 22:37:43 chris-test systemd[1]: Dependency failed for local-fs.target -
Local File Systems.
May 26 22:37:43 chris-test systemd[1]: local-fs.target: Job
local-fs.target/start failed with result 'dependency'.
May 26 22:37:43 chris-test systemd[1]: local-fs.target: Triggering OnFailure=
dependencies.
May 26 22:37:43 chris-test systemd[1]: swap.mount: Job swap.mount/start failed
with result 'dependency'.
May 26 22:37:43 chris-test systemd[1]: Dependency failed for home.mount - /home.
May 26 22:37:43 chris-test systemd[1]: home.mount: Job home.mount/start failed
with result 'dependency'.
May 26 22:37:43 chris-test systemd[1]:
dev-mapper-luks\x2d09135e69\x2d3422\x2d4c29\x2db2a2\x2d691197225802.device: Job
dev-mapper-luks\x2d09135e69\x2d3422\x2d4c29\x2db2a2\x2d691197225802.device/start
failed with result 'dependency'.
May 26 22:37:43 chris-test systemd[1]:
systemd-cryptsetup@luks\x2d09135e69\x2d3422\x2d4c29\x2db2a2\x2d691197225802.service:
Job
systemd-cryptsetup@luks\x2d09135e69\x2d3422\x2d4c29\x2db2a2\x2d691197225802.service/start
failed with result 'dependency'.
May 26 22:37:43 chris-test systemd[1]: Reached target
blockdev@dev-mapper-luks\x2d09135e69\x2d3422\x2d4c29\x2db2a2\x2d691197225802.target
- Block Device Preparation for
/dev/mapper/luks-09135e69-3422-4c29-b2a2-691197225802.
May 26 22:37:43 chris-test systemd[1]: Started
keydev-luks-09135e69-3422-4c29-b2a2-691197225802-umount.service.
May 26 22:37:43 chris-test systemd[1]: Stopped target
blockdev@dev-mapper-luks\x2d09135e69\x2d3422\x2d4c29\x2db2a2\x2d691197225802.target
- Block Device Preparation for
/dev/mapper/luks-09135e69-3422-4c29-b2a2-691197225802.
May 26 22:37:43 chris-test systemd[1]:
keydev-luks-09135e69-3422-4c29-b2a2-691197225802-umount.service: Deactivated
successfully.
May 26 22:37:55 chris-test systemd[1]: Mounting home.mount - /home...
May 26 22:37:55 chris-test systemd[1]: Mounted home.mount - /home.
~~~
And after booting I can enable swap with "sudo mount /swap" followed by
"sudo swapon --all". I've tried working-around this bug myself, but the
problem remains no matter what changes I make to /etc/fstab or
/etc/crypttab - although I'm no expert, so perhaps there is some easy
fix that I've overlooked.
NOTE: Once crypttab uses keyscript=passdev, Kubuntu typically offers
"emergency mode" (presumably due to the above failures) - but as long as
I don't touch it, then it usually finishes booting normally, leaving me
at the Plasma desktop. However if I touch "emergency mode" at all (even
ctrl-D), then usually the swap is working (I presume it retries
something & finds it's able to mount /swap).
** Affects: ubuntu
Importance: Undecided
Status: New
** Description changed:
If I install either Kubuntu 24.04.2 or 25.04 with a swapfile & BTRFS on
an encrypted (cryptsetup) partition, and add a keyfile, then usually
(but not always) the /swap subvolume fails to mount, such that
/swap/swapfile doesn't exist, and so "cat /proc/swap" lists nothing.
This occurs on two very different laptops & a desktop PC.
After installing Kubuntu, I perform these very minor changes:
- > sudo cryptsetup luksAddKey /dev/sda3 /media/chris/USB/test.key
- > sudo vim /etc/crypttab
- > sudo update-initramfs -u #-k all
+ $ sudo cryptsetup luksAddKey /dev/sda3 /media/chris/USB/test.key
+ $ sudo vim /etc/crypttab
+ $ sudo update-initramfs -u #-k all
- Here is my slightly modified /etc/crypttab:
+ Here is my slightly modified /etc/crypttab:
~~~
#luks-09135e69-3422-4c29-b2a2-691197225802
UUID=09135e69-3422-4c29-b2a2-691197225802 none
luks-09135e69-3422-4c29-b2a2-691197225802
UUID=09135e69-3422-4c29-b2a2-691197225802 /dev/disk/by-label/USB:/test.key
keyscript=passdev
~~~
For reference, these are the relevant (but UNchanged) entries in /etc/fstab:
~~~
/dev/mapper/luks-09135e69-3422-4c29-b2a2-691197225802 /swap btrfs
subvol=/@swap,defaults 0 0
/swap/swapfile swap swap defaults 0 0
~~~
But I've also seen similar behaviour if I add a bind mount inside the
/home subvolume, so it's not swap specific. Instead I suspect it's
because cryptsetup is not ready when it tries to mount the /swap
subvolume, as I see the following in the journal:
~~~
chris@chris-test:~$ journalctl -b -g
"cryptsetup|luks|swap|local-fs.target|home.mount"
May 26 22:37:42 chris-test kernel: Command line:
BOOT_IMAGE=/vmlinuz-6.14.0-15-generic
root=UUID=69898faf-5ddc-425a-9e2f-e4798fa1426e ro rootflags=subvol=@ quiet
rd.luks.uuid=09135e69-3422-4c29-b2a2-691197225802 splash vt.handoff=7
May 26 22:37:42 chris-test kernel: Kernel command line:
BOOT_IMAGE=/vmlinuz-6.14.0-15-generic
root=UUID=69898faf-5ddc-425a-9e2f-e4798fa1426e ro rootflags=subvol=@ quiet
rd.luks.uuid=09135e69-3422-4c29-b2a2-691197225802 splash vt.handoff=7
May 26 22:37:42 chris-test kernel: Spectre V1 : Mitigation: usercopy/swapgs
barriers and __user pointer sanitization
May 26 22:37:43 chris-test kernel: BTRFS: device label kubuntu_2504 devid 1
transid 140 /dev/mapper/luks-09135e69-3422-4c29-b2a2-691197225802 (252:0)
scanned by mount (314)
May 26 22:37:43 chris-test systemd[1]: systemd 257.4-1ubuntu3 running in
system mode (+PAM +AUDIT +SELINUX +APPARMOR +IMA +IPE +SMACK +SECCOMP +GCRYPT
-GNUTLS +OPENSSL +ACL +BLKID +CURL +ELFUTILS +FIDO2 +IDN2 -IDN +IPTC +KMOD
+LIBCRYPTSETUP +LIBCRYPTSETUP_PLUGINS +LIBFDISK +PCRE2 +PWQUALITY +P11KIT
+QRENCODE +TPM2 +BZIP2 +LZ4 +XZ +ZLIB +ZSTD +BPF_FRAMEWORK +BTF -XKBCOMMON
-UTMP +SYSVINIT +LIBARCHIVE)
May 26 22:37:43 chris-test systemd[1]: Created slice
system-systemd\x2dcryptsetup.slice - Encrypted Volume Units Service Slice.
May 26 22:37:43 chris-test systemd[1]: Expecting device
dev-mapper-luks\x2d09135e69\x2d3422\x2d4c29\x2db2a2\x2d691197225802.device -
/dev/mapper/luks-09135e69-3422-4c29-b2a2-691197225802...
May 26 22:37:43 chris-test systemd[1]: Mounting
run-systemd-cryptsetup-keydev\x2dluks\x2d09135e69\x2d3422\x2d4c29\x2db2a2\x2d691197225802.mount
- /run/systemd/cryptsetup/keydev-luks-09135e69-3422-4c29-b2a2-691197225802...
May 26 22:37:47 chris-test mount[384]: mount:
/run/systemd/cryptsetup/keydev-luks-09135e69-3422-4c29-b2a2-691197225802:
special device /test.key does not exist.
May 26 22:37:47 chris-test umount[438]: umount:
/run/systemd/cryptsetup/keydev-luks-09135e69-3422-4c29-b2a2-691197225802: not
mounted.
May 26 22:37:43 chris-test systemd[1]:
run-systemd-cryptsetup-keydev\x2dluks\x2d09135e69\x2d3422\x2d4c29\x2db2a2\x2d691197225802.mount:
Mount process exited, code=exited, status=32/n/a
May 26 22:37:43 chris-test systemd[1]:
run-systemd-cryptsetup-keydev\x2dluks\x2d09135e69\x2d3422\x2d4c29\x2db2a2\x2d691197225802.mount:
Failed with result 'exit-code'.
May 26 22:37:43 chris-test systemd[1]: Failed to mount
run-systemd-cryptsetup-keydev\x2dluks\x2d09135e69\x2d3422\x2d4c29\x2db2a2\x2d691197225802.mount
- /run/systemd/cryptsetup/keydev-luks-09135e69-3422-4c29-b2a2-691197225802.
May 26 22:37:43 chris-test systemd[1]: Dependency failed for
systemd-cryptsetup@luks\x2d09135e69\x2d3422\x2d4c29\x2db2a2\x2d691197225802.service
- Cryptography Setup for luks-09135e69-3422-4c29-b2a2-691197225802.
May 26 22:37:43 chris-test systemd[1]: Dependency failed for
cryptsetup.target - Local Encrypted Volumes.
May 26 22:37:43 chris-test systemd[1]: cryptsetup.target: Job
cryptsetup.target/start failed with result 'dependency'.
May 26 22:37:43 chris-test systemd[1]: Dependency failed for
dev-mapper-luks\x2d09135e69\x2d3422\x2d4c29\x2db2a2\x2d691197225802.device -
/dev/mapper/luks-09135e69-3422-4c29-b2a2-691197225802.
May 26 22:37:43 chris-test systemd[1]: Dependency failed for swap.mount -
/swap.
May 26 22:37:43 chris-test systemd[1]: Dependency failed for
swap-swapfile.swap - /swap/swapfile.
May 26 22:37:43 chris-test systemd[1]: Dependency failed for swap.target -
Swaps.
May 26 22:37:43 chris-test systemd[1]: swap.target: Job swap.target/start
failed with result 'dependency'.
May 26 22:37:43 chris-test systemd[1]: swap-swapfile.swap: Job
swap-swapfile.swap/start failed with result 'dependency'.
May 26 22:37:43 chris-test systemd[1]: Dependency failed for local-fs.target
- Local File Systems.
May 26 22:37:43 chris-test systemd[1]: local-fs.target: Job
local-fs.target/start failed with result 'dependency'.
May 26 22:37:43 chris-test systemd[1]: local-fs.target: Triggering OnFailure=
dependencies.
May 26 22:37:43 chris-test systemd[1]: swap.mount: Job swap.mount/start
failed with result 'dependency'.
May 26 22:37:43 chris-test systemd[1]: Dependency failed for home.mount -
/home.
May 26 22:37:43 chris-test systemd[1]: home.mount: Job home.mount/start
failed with result 'dependency'.
May 26 22:37:43 chris-test systemd[1]:
dev-mapper-luks\x2d09135e69\x2d3422\x2d4c29\x2db2a2\x2d691197225802.device: Job
dev-mapper-luks\x2d09135e69\x2d3422\x2d4c29\x2db2a2\x2d691197225802.device/start
failed with result 'dependency'.
May 26 22:37:43 chris-test systemd[1]:
systemd-cryptsetup@luks\x2d09135e69\x2d3422\x2d4c29\x2db2a2\x2d691197225802.service:
Job
systemd-cryptsetup@luks\x2d09135e69\x2d3422\x2d4c29\x2db2a2\x2d691197225802.service/start
failed with result 'dependency'.
May 26 22:37:43 chris-test systemd[1]: Reached target
blockdev@dev-mapper-luks\x2d09135e69\x2d3422\x2d4c29\x2db2a2\x2d691197225802.target
- Block Device Preparation for
/dev/mapper/luks-09135e69-3422-4c29-b2a2-691197225802.
May 26 22:37:43 chris-test systemd[1]: Started
keydev-luks-09135e69-3422-4c29-b2a2-691197225802-umount.service.
May 26 22:37:43 chris-test systemd[1]: Stopped target
blockdev@dev-mapper-luks\x2d09135e69\x2d3422\x2d4c29\x2db2a2\x2d691197225802.target
- Block Device Preparation for
/dev/mapper/luks-09135e69-3422-4c29-b2a2-691197225802.
May 26 22:37:43 chris-test systemd[1]:
keydev-luks-09135e69-3422-4c29-b2a2-691197225802-umount.service: Deactivated
successfully.
May 26 22:37:55 chris-test systemd[1]: Mounting home.mount - /home...
May 26 22:37:55 chris-test systemd[1]: Mounted home.mount - /home.
~~~
And after booting I can enable swap with "sudo mount /swap" followed by
"sudo swapon --all". I've tried working-around this bug myself, but the
problem remains no matter what changes I make to /etc/fstab or
/etc/crypttab - although I'm no expert, so perhaps there is some easy
fix that I've overlooked.
NOTE: Once crypttab uses keyscript=passdev, Kubuntu typically offers
"emergency mode" (presumably due to the above failures) - but as long as
I don't touch it, then it usually finishes booting normally, leaving me
at the Plasma desktop. However if I touch "emergency mode" at all (even
ctrl-D), then usually the swap is working (I presume it retries
something & finds it's able to mount /swap).
--
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2111762
Title:
BTRFS swap not reliably mounted when using keyfile with encrypted
Kubuntu
To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+bug/2111762/+subscriptions
--
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs