Skip to content

Include btrfs-progs for btrfs filesystem support#42

Open
dcasota wants to merge 2 commits into
vmware:masterfrom
dcasota:patch-1
Open

Include btrfs-progs for btrfs filesystem support#42
dcasota wants to merge 2 commits into
vmware:masterfrom
dcasota:patch-1

Conversation

@dcasota
Copy link
Copy Markdown
Contributor

@dcasota dcasota commented Apr 12, 2026

Add btrfs-progs to install list for btrfs partitions.

dcasota and others added 2 commits April 13, 2026 00:38
Add btrfs-progs to install list for btrfs partitions.
Co-authored-by: factory-droid[bot] <138933559+factory-droid[bot]@users.noreply.github.com>
@oliverkurth
Copy link
Copy Markdown
Contributor

Did you see any problem with btrfs-progs not installed?

@dcasota
Copy link
Copy Markdown
Contributor Author

dcasota commented Jun 6, 2026

Yes. btrfs-progs isn't in packages_minimal.json (or packages_developer.json), so it isn't pulled in transitively — a minimal install onto btrfs boots with no btrfs userspace tooling at all (btrfs, fsck.btrfs, the 64-btrfs.rules udev rules).

mkfs.btrfs at install time is fine — that runs in the installer initrd. The gap is the resulting target system, which then can't:

  • run fsck.btrfs (referenced via the fstab pass number at boot),
  • btrfs device scan / assemble multi-device or labeled volumes (the udev/initramfs path), or
  • manage the btrfs subvolumes the installer itself can create (subvol= fstab entries) — there's no btrfs binary to snapshot/scrub/check/repair.

This mirrors the existing lvm2 line just above: when a partition uses a storage feature, the installed system needs that feature's tools. The addition is guarded by if any(p.get('filesystem') == 'btrfs' for p in partitions), so it only pulls in btrfs-progs when btrfs is actually selected.

(For reference, this change is also carried as a downstream spec patch in vmware/photon#1658 for the 5.0 build.)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants