Partition tips for a new Silverblue installation with two disks

I want to install Fedora 34 from scratch on my desktop PC to take advantage of BTRFS filesystem. I’m quite inclined to install Silverblue, as on my laptop. I have a question: as my PC has 2 disks, how to manage partitions?

I have one SSD disk of 250 GB and one regular disk of 1 TB. It’s a lot of space.
I think I’ll use the SSD disk for the root / and the regular disk for /var/home only.
Root will contain the operating system, the flatpak apps and HTML resources in /var/www.

The docs recommend automatic partitioning. I don’t know how the installer behaves when two disks are detected. I’ll let you know.

I’ve read here that /var/home is an accepted mount in Silverblue. If I have to use manual partitioning, it should work fine.

I’d be happy to hear any tip on this matter.
Thanks in advance

2 Likes

For multi-disk setup, automatic storage layout for btrfs will create a multi-disk btrfs file system, which is not what you want.

I suggest you to use Advanced (blivet-gui) to to make sure you are:

  1. Create EFI, boot and one btrfs partition in your SSD
  • create the rootfs subvol from that btrfs mount as “/”.
  1. Create another btrfs partition on your HDD
  • create a subvol and mounted it as “/var/home”

Similar you can create more subvols from SDD and HDD and mount them. In this way, you have full control which mount point will use which disk.

2 Likes

Can you be more specific? Especially for the SSD partitioning…
You write partition>subvolume, but in blivet-gui I can create a normal partition or a btrfs volume.

I’ve enabled EFI on my boot firmware.
Should I create only /boot/efi or also /boot? Should I use normal separate partitions for these or put them as subvolumes of the btrfs volume (as you seem to suggest)?

I’m currently installing Fedora on my desktop. In my laptop the default automatic partition chosen by Anaconda was:

/dev/sda3 on /var type btrfs (rw,relatime,seclabel,compress=zstd:1,ssd,space_cache,subvolid=257,subvol=/root)
/dev/sda3 on /var/home type btrfs (rw,relatime,seclabel,compress=zstd:1,ssd,space_cache,subvolid=256,subvol=/home)
/dev/sda3 on /sysroot/ostree/deploy/fedora/var/home type btrfs (rw,relatime,seclabel,compress=zstd:1,ssd,space_cache,subvolid=256,subvol=/home)
tmpfs on /tmp type tmpfs (rw,nosuid,nodev,seclabel,size=3998224k,nr_inodes=409600,inode64)
/dev/sda2 on /boot type ext4 (rw,relatime,seclabel)
/dev/sda1 on /boot/efi type vfat (rw,relatime,fmask=0077,dmask=0077,codepage=437,iocharset=ascii,shortname=winnt,errors=remount-ro)

I cannot find complete and easy tutorials on this matter.

Hello @fedelibre ,
When I re-installed Silverblue, I did this on version F32 to use BTRFS as my file system. I have three physical disks in my setup, 2 @240GB SSD’s and one 1TB spinning rust. I had to choose the advanced partitioning of the Anaconda installer at that time since the auto-detect and partition didn’t do what I wanted. I wanted my two SSD’s to be setup as RAID1 and be the subvolume mounted as /. Also I wanted two subvolumes on the spinning rust disk that were /var and /var/home in my case. This all had to be done in the advanced blivet GUI of Anaconda, and at the time was a bit painful due to some since resolved issues with the installer.
For the boot, whether EFI or BIOS, as long as Grub2 is the bootloader, and according to the BLS, it must have a BIOS Boot partition which is basically a DOS partition, then since I use a BIOS machine there is an ext4 partition which has the /boot mountpoint and then the rest of the subovlume layout as I described above. The BIOS Boot and /boot are both on my spinning rust disk so the only thing on the SSD’s is the root filesystem /.
As for documentation it is out there, I find it in too many places at the moment though so hopefully some stout heart in the Fedora community will take some interest and time to bring the topics together in a cohesive manner.

I went ahead and installed the system.
At first I did not realize that there was an EFI System Partition type and I used vfat instead (as in my laptop the mount command shows it as vfat), but the installer refused to use vfat. So I realized I should have used the EFI System Partition and I managed to complete the installation.

This is something that should be documented IMO. Not sure where…

Now I tried booting the installed system, but there’s some problem. I see this error:

error: ../../grub-core/kern/fs.c:120: unknown filesystem.
Entering rescue mode...
grub rescue> 

Suppose you are connecting the SSD as /dev/sda and HDD as /dev/sdb

  1. Once Anaconda is up, choose “Installation Destination”
  2. Make sure both disks are selected in the Local Standard Disk section
  3. Click Full disk summary and boot loader, make sure the SSD is marked as Boot, then close.
  4. Selection Custom in Storage Configuration, then click Done
  5. With the default BTRFS scheme, click create automatically
  • the /boot and /boot/efi should be configured correctly
  1. Highlight /, then click modify under Volume
  • make sure only the SSD is selected, RAID Level is Single, Size Automatic, then Save
  1. Highlight Home, click Modify again
  • make sure only the HDD is selected, change the Name to avoid confusing with the btrfs filesystem in the SDD

Now you can click Done and begin the Installation

Thanks for the detailed instructions. I’ll try them as soon as I’m back to office this week.

This is likely the main issue? I’m sure I’ve not marked any disk as boot, but I can’t remember if this was set automatically. I wonder if the installer should have complained and warned me if none of the two available disks were marked as boot.

Ok, I’ll try the Custom mode.

1 Like

The system will assign boot order to each disk device connected to the computer.

Anaconda will assign the disk with highest boot priority as boot by default.

These two points don’t work unfortunately.

When I change the name of a volume and change the disk of the home partition, it changes also the root partition (name and disk) automatically. And the other way around. It seems they are interconnected and I can’t do what you describe in these two points.

Before clicking on “create automatically…” I deleted the previous partitions on both disks. However on the bottom left I see 700,22 GiB available space, 1,14 TiB total space. Don’t know if it matters.

Why it’s so complicate?

Ok, so I deleted the home partition and created it again by clicking on the + button.
Now I can use a different volume and the other disk indipendently from the other volume.

There’s only one defect: despite the fact I set automatic size, the desired capacity for the home partition is 231,3 GiB as for the root partition, but the home partition should be about 1 TiB.

If I click on Done, I see the partitions that will be created. But I have no confirmation about the size. If I click on Installation Destination again I see that the SSD has only 1,18 MiB free, while the HDD has 700 GiB free. So I would not recommend automatic size. Back again in the partition settings, chose “as big as possible” (I’m translating from italian) and now the size is correct.

I’ll let you know if it boots.

It doesn’t boot.

I’m running out of time. I guess I’ll have to install something else.

In this case, I recommend you to simply left out your HDD during the installation. (You can select only the SSD during storage configuration)

After the system is up and running, it is easy to add your HDD and mount as /home afterwards.

If possible, take a photo of your configuration and post here, so that we can see what is actually used.

I’ve worked it out. The problem was related to EFI.

I changed the preference in the boot from “Prefer UEFI” to “Prefer Legacy”. Then started the installation and the automatic partition creation created only /boot (not /boot/efi). I used both disks and the installation completed successfully.

Changing volumes in the custom partition worked better this time. I think there’s some kind of bug, but not easy to reproduce consistently.

Many thanks for your help!

1 Like