What is the proper way to unlock a root filesystem spanning two LUKS devices by only entering the password once, using systemd?
This is a well known problem, currently without solution.
On Debian (and other systems), systemd fails to assemble an encrypted BTRFS array, because of the parallel processes and various tests. All the volumes of a BTRFS array must be present for it to be mounted (properly), but as all the volumes of the BTRFS array have the same UUID (by design), systemd try to mount the first volume that it opens without waiting for the others (which would expose the same UUID, confusing systemd even more).
Currently, the only way to use encrypted BTRFS volumes on Debian is to not use systemd (packages sysvinit-core
, systemd-shim
, etc.). There is no possible "systemd way".