sd-encrypt needs /usr/lib/systemd/systemd-makefs to create swap

Task Info (Flyspray)
Opened By nl6720 (nl6720)
Task ID 72174
Type Bug Report
Project Arch Linux
Category Packages: Core
Version None
OS All
Opened 2021-09-19 12:05:12 UTC
Status Assigned
Assignee Christian Hesse (eworm)

Details

Description: The sd-encrypt hook adds the mkswap binary to the initramfs to allow creating encrypted swap, but this is not enough. systemd-cryptsetup additionally requires the /usr/lib/systemd/systemd-makefs binary.

systemd[190]: systemd-cryptsetup@swap.service: Failed to locate executable /usr/lib/systemd/systemd-makefs: No such file or directory systemd[190]: systemd-cryptsetup@swap.service: Failed at step EXEC spawning /usr/lib/systemd/systemd-makefs: No such file or directory systemd[1]: systemd-cryptsetup@swap.service: Control process exited, code=exited, status=203/EXEC systemd[1]: systemd-cryptsetup@swap.service: Failed with result 'exit-code'. systemd[1]: Failed to start Cryptography Setup for swap. systemd[1]: Dependency failed for Local Encrypted Volumes.

Additional info:

Steps to reproduce:

  • Configure /etc/mkinitcpio.conf to use systemd and sd-encrypt hooks.
  • Create /etc/crypttab.initramfs and add something like:

swap PARTLABEL=swap /dev/urandom swap,cipher=aes-xts-plain64,size=512

  • Regenerate the initramfs and reboot.