Skip to content

fedora: /boot on btrfs for Fedora Cloud 44 (HMS-9737)#1960

Merged
supakeen merged 4 commits intoosbuild:mainfrom
supakeen:allow-btrfs-boot
Dec 18, 2025
Merged

fedora: /boot on btrfs for Fedora Cloud 44 (HMS-9737)#1960
supakeen merged 4 commits intoosbuild:mainfrom
supakeen:allow-btrfs-boot

Conversation

@supakeen
Copy link
Member

@supakeen supakeen commented Oct 20, 2025

We enforce a partition for /boot even when there's already a subvolume with a mountpoint for /boot in the partition table. Let's change this requirement to only add a boot partition if there's a btrfs root but no boot.

Initially my focus is on supporting this in your YAML definitions hence some shortcuts are taken here; we assume that there must be a btrfs subvolume with a /boot mountpoint. This isn't a hard requirement (I could see using the / subvolume instead) but that will need a bit more finagling and discussion.

Also moves Fedora Cloud 44's /boot onto btrfs per this change proposal.

@supakeen supakeen changed the title disk: allow btrfs /boot disk: allow btrfs /boot (HMS-9737) Nov 13, 2025
@supakeen supakeen force-pushed the allow-btrfs-boot branch 2 times, most recently from 1a26c37 to f5ad9a7 Compare November 22, 2025 20:27
@supakeen supakeen force-pushed the allow-btrfs-boot branch 2 times, most recently from 8f2c341 to a190d00 Compare December 12, 2025 08:52
@supakeen supakeen changed the title disk: allow btrfs /boot (HMS-9737) fedora: /boot on btrfs for Fedora Cloud 44 (HMS-9737) Dec 12, 2025
@supakeen supakeen force-pushed the allow-btrfs-boot branch 4 times, most recently from 155d5ba to 0fc5512 Compare December 12, 2025 15:17
Update blueprint to 1.20.0.

Signed-off-by: Simon de Vlieger <supakeen@redhat.com>
We enforce a partition for /boot even when there's already a subvolume
with a mountpoint for /boot in the partition table. Let's change this
requirement to only add a boot partition if there's a btrfs root but
*no* boot.

Note that in the future we might need to adjust this a bit further if we
plan to allow for setting parent subvolumes and automatic mountpoints
for btrfs subvols.

Signed-off-by: Simon de Vlieger <supakeen@redhat.com>
@supakeen supakeen force-pushed the allow-btrfs-boot branch 2 times, most recently from 87406aa to d4df024 Compare December 12, 2025 15:33
@supakeen supakeen marked this pull request as ready for review December 12, 2025 15:33
@supakeen supakeen requested review from a team and achilleas-k as code owners December 12, 2025 15:33
@supakeen supakeen requested review from mvo5 and thozza December 12, 2025 15:33
@supakeen
Copy link
Member Author

This is now ready for review since the blueprint PR has landed, I've included a commit here that updates the dependency.

We had some chat(s) about this during the team meeting and standup. It seems we're mostly OK with the FindMountableOnPlain and that while we'd like to adjust the shenanigans going on in the grub2.inst stage there currently aren't any nice ideas on how to do it.

If someone does have a way to make that part nicer please let me know :)

@supakeen supakeen requested a review from lzap December 12, 2025 15:35
@Conan-Kudo
Copy link
Contributor

I don't think there's a such thing as "nice code" for configuring bootloaders. At least not in my experience.

Copy link
Contributor

@Conan-Kudo Conan-Kudo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks reasonable to me.

lzap
lzap previously approved these changes Dec 15, 2025
Copy link
Member

@thozza thozza left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In general, this LGTM.

There is one corner case that could lead to a panic, so it would be good to address it.

We need to do things slightly differently for our BLS and grub configs
when the mountable for `/boot` is not on an plain partition.

Signed-off-by: Simon de Vlieger <supakeen@redhat.com>
Change our default image definitions to have the `/boot` mountpoint be
on the btrfs filesystem for Fedora Cloud 44, per this [1] change
proposal.

Note that s390x stays the same as this change doesn't apply there.

[1]: https://fedoraproject.org/wiki/Changes/BtrfsBootForCloud

Signed-off-by: Simon de Vlieger <supakeen@redhat.com>
@supakeen supakeen added this pull request to the merge queue Dec 17, 2025
@github-merge-queue github-merge-queue bot removed this pull request from the merge queue due to failed status checks Dec 17, 2025
@supakeen supakeen added this pull request to the merge queue Dec 17, 2025
@github-merge-queue github-merge-queue bot removed this pull request from the merge queue due to no response for status checks Dec 17, 2025
@supakeen supakeen added this pull request to the merge queue Dec 18, 2025
Merged via the queue into osbuild:main with commit 070c630 Dec 18, 2025
23 checks passed
@supakeen supakeen deleted the allow-btrfs-boot branch December 18, 2025 06:15
croissanne added a commit to croissanne/osbuild-composer that referenced this pull request Jan 21, 2026
Changes with 0.231.0
----------------
  - Drop iommu.strict=0 from aarch64 EC2 images (osbuild/images#2090)
    - Author: Achilleas Koutsou, Reviewers: Lukáš Zapletal, Simon de Vlieger, Tomáš Hozza
  - bootc: Fix selinux labeling when using separate build container (osbuild/images#2092)
    - Author: Alexander Larsson, Reviewers: Lukáš Zapletal, Simon de Vlieger, Tomáš Hozza
  - ci: resolve dubious ownership for git (osbuild/images#2100)
    - Author: Lukáš Zapletal, Reviewers: Achilleas Koutsou, Michael Vogt
  - data: import RH v4 key on rhel-10.1+ only (osbuild/images#2097)
    - Author: Michael Vogt, Reviewers: Lukáš Zapletal, Simon de Vlieger
  - distrodefs: drop `use_syslinux` as it has no effect (osbuild/images#2088)
    - Author: Michael Vogt, Reviewers: Lukáš Zapletal, Simon de Vlieger
  - fedora: /boot on btrfs for Fedora Cloud 44 (HMS-9737) (osbuild/images#1960)
    - Author: Simon de Vlieger, Reviewers: Lukáš Zapletal, Neal Gompa (ニール・ゴンパ), Tomáš Hozza
  - fedora: add `server-network-installer` (osbuild/images#2094)
    - Author: Simon de Vlieger, Reviewers: Lukáš Zapletal, Tomáš Hozza
  - installer: only install `syslinux` when needed (osbuild/images#2089)
    - Author: Simon de Vlieger, Reviewers: Lukáš Zapletal, Tomáš Hozza
  - manifest: add `set -e` to `bootc switch...` kickstart %post (osbuild/images#2093)
    - Author: Michael Vogt, Reviewers: Lukáš Zapletal, Simon de Vlieger, Tomáš Hozza
  - many: include legal and license files in ISO (osbuild/images#2099)
    - Author: Simon de Vlieger, Reviewers: Lukáš Zapletal, Tomáš Hozza
  - osbuild: drop `valueIn` helper (osbuild/images#2086)
    - Author: Michael Vogt, Reviewers: Brian C. Lane, Simon de Vlieger
  - readme: update link to image definitions (osbuild/images#2070)
    - Author: Anna Vítová, Reviewers: Achilleas Koutsou, Lukáš Zapletal, Simon de Vlieger, Tomáš Hozza
  - test: cross arch build/boot smoke test for ppc64le,s390x (osbuild/images#2069)
    - Author: Michael Vogt, Reviewers: Lukáš Zapletal, Simon de Vlieger, Tomáš Hozza
achilleas-k pushed a commit to osbuild/osbuild-composer that referenced this pull request Jan 21, 2026
Changes with 0.231.0
----------------
  - Drop iommu.strict=0 from aarch64 EC2 images (osbuild/images#2090)
    - Author: Achilleas Koutsou, Reviewers: Lukáš Zapletal, Simon de Vlieger, Tomáš Hozza
  - bootc: Fix selinux labeling when using separate build container (osbuild/images#2092)
    - Author: Alexander Larsson, Reviewers: Lukáš Zapletal, Simon de Vlieger, Tomáš Hozza
  - ci: resolve dubious ownership for git (osbuild/images#2100)
    - Author: Lukáš Zapletal, Reviewers: Achilleas Koutsou, Michael Vogt
  - data: import RH v4 key on rhel-10.1+ only (osbuild/images#2097)
    - Author: Michael Vogt, Reviewers: Lukáš Zapletal, Simon de Vlieger
  - distrodefs: drop `use_syslinux` as it has no effect (osbuild/images#2088)
    - Author: Michael Vogt, Reviewers: Lukáš Zapletal, Simon de Vlieger
  - fedora: /boot on btrfs for Fedora Cloud 44 (HMS-9737) (osbuild/images#1960)
    - Author: Simon de Vlieger, Reviewers: Lukáš Zapletal, Neal Gompa (ニール・ゴンパ), Tomáš Hozza
  - fedora: add `server-network-installer` (osbuild/images#2094)
    - Author: Simon de Vlieger, Reviewers: Lukáš Zapletal, Tomáš Hozza
  - installer: only install `syslinux` when needed (osbuild/images#2089)
    - Author: Simon de Vlieger, Reviewers: Lukáš Zapletal, Tomáš Hozza
  - manifest: add `set -e` to `bootc switch...` kickstart %post (osbuild/images#2093)
    - Author: Michael Vogt, Reviewers: Lukáš Zapletal, Simon de Vlieger, Tomáš Hozza
  - many: include legal and license files in ISO (osbuild/images#2099)
    - Author: Simon de Vlieger, Reviewers: Lukáš Zapletal, Tomáš Hozza
  - osbuild: drop `valueIn` helper (osbuild/images#2086)
    - Author: Michael Vogt, Reviewers: Brian C. Lane, Simon de Vlieger
  - readme: update link to image definitions (osbuild/images#2070)
    - Author: Anna Vítová, Reviewers: Achilleas Koutsou, Lukáš Zapletal, Simon de Vlieger, Tomáš Hozza
  - test: cross arch build/boot smoke test for ppc64le,s390x (osbuild/images#2069)
    - Author: Michael Vogt, Reviewers: Lukáš Zapletal, Simon de Vlieger, Tomáš Hozza
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.

4 participants