Why do you use XFS for boot_device?

As part of the FCOS / Butane config v1.3.0 there is a new field boot_device for easily configuring well… the boot device.

This was also updated in the FCOS doc.

I.e.

variant: fcos
version: 1.3.0
boot_device:
  luks:
    tpm2: true

is equivalent to:

variant: fcos
version: 1.3.0
storage:
  luks:
    - name: root
      label: luks-root
      device: /dev/disk/by-partlabel/root
      clevis:
        tpm2: true
      wipe_volume: true
  filesystems:
    - device: /dev/mapper/root
      format: xfs
      wipe_filesystem: true
      label: root

Now, Clevis and so on stays configurable, however one thing does not – in contrast to when you do it manually without that syntax: format: xfs, i.e. the actual filesystem.

Given all others like Fedora Workstation and AFAIK server now default to using btrfs (since Fedora 33 IIRC), why don’t you do it here, too?
Is there any special reason to choose xfs as a filesystem for root?

If not, why don’t you make the root filesystem also configurable in boot_device?

1 Like

Fedora Workstation switched to btrfs by default, but Server and CoreOS did not. Note that Ignition needs some additional work to support btrfs well; see #815 and #890.

We didn’t include boot_device sugar for setting the filesystem because that was considered an advanced setting that wouldn’t be needed by most users, but you can override the sugar:

variant: fcos
version: 1.3.0
boot_device:
  luks:
    tpm2: true
storage:
  filesystems:
    - device: /dev/mapper/root
      format: btrfs
2 Likes