Trouble booting Endeavour with multiple encrypted btrfs volumes

Hi all, I’m new to Endeavour but have been using Linux for over two decades. I did run Arch briefly a decade ago. Installing Endeavour with btrfs insides a luks partition was straight forward and works. Adding another encrypted filesystem to crypttab/fstab also works.

I’d like to extend my btrfs filesystem across multiple devices in a laptop, but this creates a complication in the boot process: the unlock prompt needs to unlock all the devices for the btrfs filesystem before attempting to mount the filesystem but does not do so, and thus the btrfs filesystem is unmountable.

I tried modifying the dracut config to add the second btrfs device to add_device+= line but that didn’t work.

Is there a proper way to achieve this?

Are you using grub or systemd-boot?

systemd-boot, along with whatever other defaults the current install image has.

Go to /etc/kernel/cmdline

You will see something that looks like rd.luks.name=<some device ID>=<some name>. Copy that, and replace the info with the info for your other device. Then run sudo reinstall-kernels.

Make sure you used the same password on both devices.

Copy that and put it where?

I did use the luks name from before, following the same pattern of luks-UUID, getting the UUID from /dev/disks/by-uuid

That file just contains one line. So copy and paste it into the same line.

In other words, you will have two rd.luks.name= entries in the same line. That tells dracut to unlock the device and what to name it once it is unlocked.

That worked, thanks!

I was able to boot the install media, unlock, mount, chroot, edit, and reinstall-kernels.

Now to figure out applying the patches to put btrfs metadata on the 16GB optane device I added.