Problem installing F36 over existing LVM setup

Years ago I installed Fedora 25 on my laptop and kept it dual-booting. I have

  sda1 260 MiB fat32    /boot/efi "EFI System Partition"
  sda2  16 MiB unknown  "Microsoft reserved"
  sda3 176 GiB ntfs     /media/Windows "Basic data partition" (my Windows C: drive)
  sda5   1 GiB ext4     /boot
  sda6  60 GiB lvm pv2  [encrypted] "fedora_fedlaptop" (Fedora on LVMs)
  sda4   1 GiB ntfs     "Windows Recovery drive"

The LVM LUKS encrypted sda6 partition has my Linux root, home, and swap volumes. All this has worked for years. For Fedora 36 I wanted to switch to btrfs, so I’m reinstalling Fedora. As I understand it, root, home, and swap will become flexible btrfs subvolumes.

In Anaconda I choose my laptop drive and Custom, then go to Manual Partitioning. Under unknown I see Encrypted (LUKS) sda6, which I want to turn into the btrfs volume. But I can’t see how to tell Anaconda to use sda6. If I select it and click [+] and enter Mount point: / and size 60 GiB, I get “Failed to add new device”, with details “Not enough disks for single”.

Maybe I have to unlock sda6. If I do so, Anaconda shows my Fedora 35 setup with the three LVM volumes, and knows about my /boot, /boot/efi, and /media/Windows partitions. I can click [-] to delete the three LVM volumes, and Anaconda then shows “Available space 60 GiB.” But there’s no sda6 to point to to say “use this as my root.”

Do I need to first delete the LUKS-LVM setup before starting Anaconda? Do I have to use blivet? Many thanks.

Exactly, you need to unlock the encrypted LUKS partition, so Anaconda can deal with it.

As far as I remember Anaconda lets you unlock the partition (don’t know on top of my head, and can’t check right now), when booting the Live CD, just unlock the partition in the File manager Nautilus of in Gnome Disks (gnome-disks) before starting the installer.

No need to delete the existing Luks partition. The btrfs system can be setup with in the existing one.

Thanks. Anaconda itself prompts for the passphrase to unlock the LUKS volume.

I realize if I click [-] to delete sda6 without unlocking, I can then click [+] to create a 60 GiB btrfs encrypted /. I don’t have to tell Anaconda where it goes. After I re-set up my /boot and /boot/efi volumes I can click [Done] without errors and the SUMMARY OF CHANGES reveals that Anaconda will destroy device partition sda6 and then create a new device partition sda6, which is what I want. (It then will go on to create a whole sda6 > luks/dm-crypt > luks-sda6 > btrfs > btrfs subvolume > “root” device hierarchy, which sounds right.)

I think my only remaining confusion is how to request home and swap btrfs subvolumes. I clicked [+] to add a /home mount point on the btrfs volume; do I also need to add a swap myself on the btrfs volume? What other subvolumes does Fedora normally create in the btrfs partition?

1 Like

Fedora now uses in-memory-swap, which is not partition-based anymore: zram.

So, unless you specifically need/want a swap partition, you don’t have to do anything. In case you want to swap onto your disk, I’d recommend a swap file on / rather than a dedicated swap partition.

1 Like

BTRFS like ZFS combine file system and volume manager so LVM is useless … Microsoft security telemetry can be picky and likes to stay alone. I use Microsoft Edge with Fedora allowing to connect to Office online, OneDrive and many apps exist for Linux. BTRFS doesn’t have file encryption as designed for industrial server configuration where physical access is paramount.

Therefore dm-crypt/LUKS setup…

If security for business is a concern, Red Hat (RHEL) is a perfect solution allowing to connect directly to Microsoft Azure cognitive services or IBM Cloud. Not free as air but efficient, default workstation configuration is XFS with LVM.

@augenuaf thanks, good to know about swap. I was about to create /home subvolume to match Btrfs - Fedora Project Wiki which says

The Btrfs partition scheme preset creates an ext4 /boot, and a Btrfs pool. Two subvolumes, root and home, are created from that pool and mounted at / and /home respectively.

But then in , @cmurf suggested I just do Automatic install instead of Custom > Manual Partitioning. Under Automatic I checked “make additional space available” and “encrypt.” I deleted my ext4 /boot partition and encrypted LUKS partition, and preserved the rest. Then nothing left to do but install. It seemed to do the right thing, creating a new ext4 /boot and new encrypted btrfs volume. Fingers crossed!

1 Like