diff --git a/archinstall/lib/disk/device_handler.py b/archinstall/lib/disk/device_handler.py index baed2f6fbb..fa81256e2b 100644 --- a/archinstall/lib/disk/device_handler.py +++ b/archinstall/lib/disk/device_handler.py @@ -78,18 +78,20 @@ def load_devices(self): if fs_type == FilesystemType.Btrfs: subvol_infos = self.get_btrfs_info(partition.path) - - partition_infos.append( - _PartitionInfo.from_partition( - partition, - fs_type, - lsblk_info.partn, - lsblk_info.partuuid, - lsblk_info.uuid, - lsblk_info.mountpoints, - subvol_infos - ) - ) + elif fs_type == FilesystemType.Crypto_luks and len(lsblk_info.children) == 1: + child_lsblk_info = lsblk_info.children[0] + if FilesystemType(child_lsblk_info.fstype) == FilesystemType.Btrfs: + subvol_infos = self.get_btrfs_info(child_lsblk_info.path) + fs_type = FilesystemType.Btrfs # Hack to ensure btrfs-progs gets installed + partition_infos.append(_PartitionInfo.from_partition( + partition, + fs_type, + lsblk_info.partn, + lsblk_info.partuuid, + lsblk_info.uuid, + lsblk_info.mountpoints, + subvol_infos + )) block_device = BDevice(disk, device_info, partition_infos) block_devices[block_device.device_info.path] = block_device