Skip to content

docs/composefs: Update with latest - #2298

Merged
cgwalters merged 1 commit into
bootc-dev:mainfrom
cgwalters:composefs-ondisk-stable
Jul 10, 2026
Merged

cgwalters merged 1 commit into
bootc-dev:mainfrom
cgwalters:composefs-ondisk-stable

Conversation

@cgwalters

Copy link
Copy Markdown
Collaborator

In particular, this commits us to supporting in-place upgrades from the current state!

We will leave things like the EROFS v1 switch as a followon, ensuring that we continue to support that as an upgrade path.

@github-actions github-actions Bot added the area/documentation Updates to the documentation label Jul 8, 2026
@bootc-bot
bootc-bot Bot requested a review from gursewak1997 July 8, 2026 20:23

@jeckersb jeckersb left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

🎉

@jeckersb
jeckersb enabled auto-merge July 8, 2026 20:40
@jeckersb
jeckersb added this pull request to the merge queue Jul 8, 2026
@github-merge-queue
github-merge-queue Bot removed this pull request from the merge queue due to failed status checks Jul 9, 2026
Comment thread docs/src/experimental-composefs.md

@travier travier left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Looking good! One suggestion.

@cgwalters
cgwalters added this pull request to the merge queue Jul 9, 2026
In particular, this commits us to supporting in-place upgrades
from the current state!

We will leave things like the EROFS v1 switch as a followon,
ensuring that we continue to support that as an upgrade path.

Signed-off-by: Colin Walters <walters@verbum.org>
@cgwalters
cgwalters force-pushed the composefs-ondisk-stable branch from 1808de2 to 2b84179 Compare July 9, 2026 15:20
@github-merge-queue
github-merge-queue Bot removed this pull request from the merge queue due to failed status checks Jul 9, 2026
@cgwalters
cgwalters enabled auto-merge July 9, 2026 16:48
@jeckersb

jeckersb commented Jul 9, 2026

Copy link
Copy Markdown
Collaborator

Hm required-checks appears to be wedged here, going to close and re-open to try and force it to sort things out...

@jeckersb jeckersb closed this Jul 9, 2026
auto-merge was automatically disabled July 9, 2026 17:55

Pull request was closed

@jeckersb jeckersb reopened this Jul 9, 2026
@jeckersb
jeckersb enabled auto-merge July 9, 2026 17:55
@jeckersb
jeckersb added this pull request to the merge queue Jul 9, 2026
@github-merge-queue
github-merge-queue Bot removed this pull request from the merge queue due to failed status checks Jul 9, 2026
@cgwalters
cgwalters merged commit 332e36f into bootc-dev:main Jul 10, 2026
20 checks passed
cgwalters-bot added a commit to cgwalters-forge/bootc that referenced this pull request Sep 24, 2026
We already committed in bootc-dev#2298 to in-place upgrades for every composefs
system installed since 1.16.0, the V1/V2 EROFS transition has shipped
with its bridge for 1.16 UKIs, and `bootc install mount` (bootc-dev#2483) gives
post-install tooling a supported way into a deployment instead of
poking at backend paths. What was left was docs and help text calling
the backend experimental, which no longer matches what we promise.

Stable now, under the same RELEASES.md guarantees as the ostree
backend: the backend itself (install, upgrade, switch, rollback,
status, usr-overlay, soft reboot, and `bootc install mount`), its
on-disk state, BLS installs with GRUB or systemd-boot, UKIs with
systemd-boot including sealed ones, fs-verity optional on filesystems
without it, the composefs.digest= and bare composefs= kernel
arguments, bootc-root-setup.service and setup-root-conf.toml, and the
image build commands `bootc container ukify`, `split-kernel-and-rootfs`
and `compute-composefs-digest`. The last was hidden only because it
belonged to the experimental feature set; it is documented as part of
the sealed image flow, so it is now visible and gets a man page. The
composefs part of the status JSON (BootEntryComposefs) becomes stable
API along with it.

Still experimental: the grub-cc bootloader (CI covers it only on
Fedora 44, with a GRUB binary side-loaded from ELN), UKI addons (they
are only installed at install time, never updated on upgrade, garbage
collected or reverted on rollback) and unified storage.
compute-composefs-digest-from-storage stays hidden as a debugging aid.

Known gaps are listed as limitations rather than as reasons to keep
the whole backend experimental: bootc edit, install reset, boot
counting, ostree to composefs transitions, a single ESP without
XBOOTLDR, x86_64-only testing, and the upgrade paths that CI actually
exercises. The zstd:chunked caveat now names 1.16.12, the first release
with the composefs-rs decoder fix.

Generated-by: AI
cgwalters-bot added a commit to cgwalters-forge/bootc that referenced this pull request Sep 25, 2026
We already committed in bootc-dev#2298 to in-place upgrades for every composefs
system installed since 1.16.0, the V1/V2 EROFS transition has shipped
with its bridge for 1.16 UKIs, and `bootc install mount` (bootc-dev#2483) gives
post-install tooling a supported way into a deployment instead of
poking at backend paths. What was left was docs and help text calling
the backend experimental, which no longer matches what we promise.

Stable now, under the same RELEASES.md guarantees as the ostree
backend: the backend itself (install, upgrade, switch, rollback,
status, usr-overlay, soft reboot, and `bootc install mount`), its
on-disk state, BLS installs with GRUB or systemd-boot, UKIs with
systemd-boot including sealed ones, fs-verity optional on filesystems
without it, the composefs.digest= and bare composefs= kernel
arguments, bootc-root-setup.service and setup-root-conf.toml, and the
image build commands `bootc container ukify`, `split-kernel-and-rootfs`
and `compute-composefs-digest`. The last was hidden only because it
belonged to the experimental feature set; it is documented as part of
the sealed image flow, so it is now visible and gets a man page. The
composefs part of the status JSON (BootEntryComposefs) becomes stable
API along with it.

Still experimental: the grub-cc bootloader (CI covers it only on
Fedora 44, with a GRUB binary side-loaded from ELN), UKI addons (they
are only installed at install time, never updated on upgrade, garbage
collected or reverted on rollback) and unified storage.
compute-composefs-digest-from-storage stays hidden as a debugging aid.

Known gaps are listed as limitations rather than as reasons to keep
the whole backend experimental: bootc edit, install reset, boot
counting, ostree to composefs transitions, a single ESP without
XBOOTLDR, x86_64-only testing, and the upgrade paths that CI actually
exercises. The zstd:chunked caveat now names 1.16.12, the first release
with the composefs-rs decoder fix.

Generated-by: AI
cgwalters-bot added a commit to cgwalters-forge/bootc that referenced this pull request Sep 25, 2026
We already committed in bootc-dev#2298 to in-place upgrades for every composefs
system installed since 1.16.0, the V1/V2 EROFS transition has shipped
with its bridge for 1.16 UKIs, and `bootc install mount` (bootc-dev#2483) gives
post-install tooling a supported way into a deployment instead of
poking at backend paths. What was left was docs and help text calling
the backend experimental, which no longer matches what we promise.

Stable now, under the same RELEASES.md guarantees as the ostree
backend: the backend itself (install, upgrade, switch, rollback,
status, usr-overlay, soft reboot, and `bootc install mount`), its
on-disk state, BLS installs with GRUB or systemd-boot, UKIs with
systemd-boot including sealed ones, fs-verity optional on filesystems
without it, the composefs.digest= and bare composefs= kernel
arguments, bootc-root-setup.service and setup-root-conf.toml, and the
image build commands `bootc container ukify`, `split-kernel-and-rootfs`
and `compute-composefs-digest`. The last was hidden only because it
belonged to the experimental feature set; it is documented as part of
the sealed image flow, so it is now visible and gets a man page. The
composefs part of the status JSON (BootEntryComposefs) becomes stable
API along with it.

Still experimental: the grub-cc bootloader (CI covers it only on
Fedora 44, with a GRUB binary side-loaded from ELN), UKI addons (they
are only installed at install time, never updated on upgrade, garbage
collected or reverted on rollback) and unified storage.
compute-composefs-digest-from-storage stays hidden as a debugging aid.

Known gaps are listed as limitations rather than as reasons to keep
the whole backend experimental: bootc edit, install reset, boot
counting, ostree to composefs transitions, a single ESP without
XBOOTLDR, x86_64-only testing, and the upgrade paths that CI actually
exercises. The zstd:chunked caveat now names 1.16.12, the first release
with the composefs-rs decoder fix.

Generated-by: AI
cgwalters-bot added a commit to cgwalters-forge/bootc that referenced this pull request Sep 25, 2026
We already committed in bootc-dev#2298 to in-place upgrades for every composefs
system installed since 1.16.0, the V1/V2 EROFS transition has shipped
with its bridge for 1.16 UKIs, and `bootc install mount` (bootc-dev#2483) gives
post-install tooling a supported way into a deployment instead of
poking at backend paths. What was left was docs and help text calling
the backend experimental, which no longer matches what we promise.

Stable now, under the same RELEASES.md guarantees as the ostree
backend: the backend itself (install, upgrade, switch, rollback,
status, usr-overlay, soft reboot, and `bootc install mount`), its
on-disk state, BLS installs with GRUB or systemd-boot, UKIs with
systemd-boot including sealed ones, fs-verity optional on filesystems
without it, the composefs.digest= and bare composefs= kernel
arguments, bootc-root-setup.service and setup-root-conf.toml, and the
image build commands `bootc container ukify`, `split-kernel-and-rootfs`
and `compute-composefs-digest`. The last was hidden only because it
belonged to the experimental feature set; it is documented as part of
the sealed image flow, so it is now visible and gets a man page. The
composefs part of the status JSON (BootEntryComposefs) becomes stable
API along with it.

Still experimental: the grub-cc bootloader (CI covers it only on
Fedora 44, with a GRUB binary side-loaded from ELN), UKI addons (they
are only installed at install time, never updated on upgrade, garbage
collected or reverted on rollback) and unified storage.
compute-composefs-digest-from-storage stays hidden as a debugging aid.

Known gaps are listed as limitations rather than as reasons to keep
the whole backend experimental: bootc edit, install reset, boot
counting, ostree to composefs transitions, a single ESP without
XBOOTLDR, x86_64-only testing, and the upgrade paths that CI actually
exercises. The zstd:chunked caveat now names 1.16.12, the first release
with the composefs-rs decoder fix.

Generated-by: AI
cgwalters-bot added a commit to cgwalters-forge/bootc that referenced this pull request Sep 26, 2026
We already committed in bootc-dev#2298 to in-place upgrades for every composefs
system installed since 1.16.0, the V1/V2 EROFS transition has shipped
with its bridge for 1.16 UKIs, and `bootc install mount` (bootc-dev#2483) gives
post-install tooling a supported way into a deployment instead of
poking at backend paths. What was left was docs and help text calling
the backend experimental, which no longer matches what we promise.

Stable now, under the same RELEASES.md guarantees as the ostree
backend: the backend itself (install, upgrade, switch, rollback,
status, usr-overlay, soft reboot, and `bootc install mount`), its
on-disk state, BLS installs with GRUB or systemd-boot, UKIs with
systemd-boot including sealed ones, fs-verity optional on filesystems
without it, the composefs.digest= and bare composefs= kernel
arguments, bootc-root-setup.service and setup-root-conf.toml, and the
image build commands `bootc container ukify`, `split-kernel-and-rootfs`
and `compute-composefs-digest`. The last was hidden only because it
belonged to the experimental feature set; it is documented as part of
the sealed image flow, so it is now visible and gets a man page. The
composefs part of the status JSON (BootEntryComposefs) becomes stable
API along with it.

Still experimental: the grub-cc bootloader (CI covers it only on
Fedora 44, with a GRUB binary side-loaded from ELN), UKI addons (they
are only installed at install time, never updated on upgrade, garbage
collected or reverted on rollback) and unified storage.
compute-composefs-digest-from-storage stays hidden as a debugging aid.

Known gaps are listed as limitations rather than as reasons to keep
the whole backend experimental: bootc edit, install reset, boot
counting, ostree to composefs transitions, a single ESP without
XBOOTLDR, x86_64-only testing, and the upgrade paths that CI actually
exercises. The zstd:chunked caveat now names 1.16.12, the first release
with the composefs-rs decoder fix.

Generated-by: AI
cgwalters-bot added a commit to cgwalters-forge/bootc that referenced this pull request Sep 28, 2026
We already committed in bootc-dev#2298 to in-place upgrades for every composefs
system installed since 1.16.0, the V1/V2 EROFS transition has shipped
with its bridge for 1.16 UKIs, and `bootc install mount` (bootc-dev#2483) gives
post-install tooling a supported way into a deployment instead of
poking at backend paths. What was left was docs and help text calling
the backend experimental, which no longer matches what we promise.

Stable now, under the same RELEASES.md guarantees as the ostree
backend: the backend itself (install, upgrade, switch, rollback,
status, usr-overlay, soft reboot, and `bootc install mount`), its
on-disk state, BLS installs with GRUB or systemd-boot, UKIs with
systemd-boot including sealed ones, fs-verity optional on filesystems
without it, the composefs.digest= and bare composefs= kernel
arguments, bootc-root-setup.service and setup-root-conf.toml, and the
image build commands `bootc container ukify`, `split-kernel-and-rootfs`
and `compute-composefs-digest`. The last was hidden only because it
belonged to the experimental feature set; it is documented as part of
the sealed image flow, so it is now visible and gets a man page. The
composefs part of the status JSON (BootEntryComposefs) becomes stable
API along with it.

Still experimental: the grub-cc bootloader (CI covers it only on
Fedora 44, with a GRUB binary side-loaded from ELN), UKI addons (they
are only installed at install time, never updated on upgrade, garbage
collected or reverted on rollback) and unified storage.
compute-composefs-digest-from-storage stays hidden as a debugging aid.

Known gaps are listed as limitations rather than as reasons to keep
the whole backend experimental: bootc edit, install reset, boot
counting, ostree to composefs transitions, a single ESP without
XBOOTLDR, x86_64-only testing, and the upgrade paths that CI actually
exercises. The zstd:chunked caveat now names 1.16.12, the first release
with the composefs-rs decoder fix.

Generated-by: AI
cgwalters-bot added a commit to cgwalters-forge/bootc that referenced this pull request Sep 29, 2026
We already committed in bootc-dev#2298 to in-place upgrades for every composefs
system installed since 1.16.0, the V1/V2 EROFS transition has shipped
with its bridge for 1.16 UKIs, and `bootc install mount` (bootc-dev#2483) gives
post-install tooling a supported way into a deployment instead of
poking at backend paths. What was left was docs and help text calling
the backend experimental, which no longer matches what we promise.

Stable now, under the same RELEASES.md guarantees as the ostree
backend: the backend itself (install, upgrade, switch, rollback,
status, usr-overlay, soft reboot, and `bootc install mount`), its
on-disk state, BLS installs with GRUB or systemd-boot, UKIs with
systemd-boot including sealed ones, fs-verity optional on filesystems
without it, the composefs.digest= and bare composefs= kernel
arguments, bootc-root-setup.service and setup-root-conf.toml, and the
image build commands `bootc container ukify`, `split-kernel-and-rootfs`
and `compute-composefs-digest`. The last was hidden only because it
belonged to the experimental feature set; it is documented as part of
the sealed image flow, so it is now visible and gets a man page. The
composefs part of the status JSON (BootEntryComposefs) becomes stable
API along with it.

Still experimental: the grub-cc bootloader (CI covers it only on
Fedora 44, with a GRUB binary side-loaded from ELN), UKI addons (they
are only installed at install time, never updated on upgrade, garbage
collected or reverted on rollback) and unified storage.
compute-composefs-digest-from-storage stays hidden as a debugging aid.

Known gaps are listed as limitations rather than as reasons to keep
the whole backend experimental: bootc edit, install reset, boot
counting, ostree to composefs transitions, --soft-reboot=auto not
falling back to a regular reboot, a single ESP without XBOOTLDR,
x86_64-only testing, and the upgrade paths that CI actually exercises. The zstd:chunked caveat now names 1.16.12, the first release
with the composefs-rs decoder fix.

Generated-by: AI
cgwalters-bot added a commit to cgwalters-forge/bootc that referenced this pull request Sep 30, 2026
We already committed in bootc-dev#2298 to in-place upgrades for every composefs
system installed since 1.16.0, the V1/V2 EROFS transition has shipped
with its bridge for 1.16 UKIs, and `bootc install mount` (bootc-dev#2483) gives
post-install tooling a supported way into a deployment instead of
poking at backend paths. What was left was docs and help text calling
the backend experimental, which no longer matches what we promise.

Stable now, under the same RELEASES.md guarantees as the ostree
backend: the backend itself (install, upgrade, switch, rollback,
status, usr-overlay, soft reboot, and `bootc install mount`), its
on-disk state, BLS installs with GRUB or systemd-boot, UKIs with
systemd-boot including sealed ones, fs-verity optional on filesystems
without it, the composefs.digest= and bare composefs= kernel
arguments, bootc-root-setup.service and setup-root-conf.toml, and the
image build commands `bootc container ukify`, `split-kernel-and-rootfs`
and `compute-composefs-digest`. The last was hidden only because it
belonged to the experimental feature set; it is documented as part of
the sealed image flow, so it is now visible and gets a man page. The
composefs part of the status JSON (BootEntryComposefs) becomes stable
API along with it.

Still experimental: the grub-cc bootloader (CI covers it only on
Fedora 44, with a GRUB binary side-loaded from ELN), UKI addons (they
are only installed at install time, never updated on upgrade, garbage
collected or reverted on rollback) and unified storage.
compute-composefs-digest-from-storage stays hidden as a debugging aid.

Known gaps are listed as limitations rather than as reasons to keep
the whole backend experimental: bootc edit, install reset, boot
counting, ostree to composefs transitions, --soft-reboot=auto not
falling back to a regular reboot, a single ESP without XBOOTLDR,
x86_64-only testing, and the upgrade paths that CI actually exercises.
The zstd:chunked caveat now names 1.16.12, the first release with the
composefs-rs decoder fix.

Generated-by: AI
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area/documentation Updates to the documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants