Skip to content

Add BootcRootFS pipeline and use it for bootc pxe-tar-xz#2361

Open
brlane-rht wants to merge 7 commits into
osbuild:mainfrom
brlane-rht:main-rootfs-bootc-pxe
Open

Add BootcRootFS pipeline and use it for bootc pxe-tar-xz#2361
brlane-rht wants to merge 7 commits into
osbuild:mainfrom
brlane-rht:main-rootfs-bootc-pxe

Conversation

@brlane-rht
Copy link
Copy Markdown
Contributor

@brlane-rht brlane-rht commented May 21, 2026

This moves the rootfs.img setup into its own pipeline so that it can be shared between PXE and ISO bootc creation.

One slightly ugly bit is that I'm using ISOCustomizations to control the rootfs compression type and optional erofs config settings. It's not ideal, but I think it's better than also changing everything around. But it is a good candidate for future cleanup.

This set builds on top of #2360 and needs osbuild v182 for the squashfs/erofs mount support so it's currently a daft.

@brlane-rht brlane-rht force-pushed the main-rootfs-bootc-pxe branch from 2d85931 to 502aeb6 Compare May 26, 2026 23:42
@brlane-rht brlane-rht marked this pull request as ready for review May 26, 2026 23:42
@brlane-rht brlane-rht requested a review from a team as a code owner May 26, 2026 23:42
@supakeen
Copy link
Copy Markdown
Member

This moves the rootfs.img setup into its own pipeline so that it can be shared between PXE and ISO bootc creation.

One slightly ugly bit is that I'm using ISOCustomizations to control the rootfs compression type and optional erofs config settings. It's not ideal, but I think it's better than also changing everything around. But it is a good candidate for future cleanup.

This set builds on top of #2360 and needs osbuild v182 for the squashfs/erofs mount support so it's currently a daft.

Yea I think I initially had something like crofs (a name people didn't like) that would control the "compressed read only filesystem" pipeline or stages if they exist. We need to rethink a bit how to pass customizations/definitions on a per-pipeline basis without encoding pipeline names into it.

supakeen
supakeen previously approved these changes May 27, 2026
@brlane-rht brlane-rht force-pushed the main-rootfs-bootc-pxe branch 4 times, most recently from a13cc96 to 5ea5e84 Compare June 1, 2026 18:43
supakeen
supakeen previously approved these changes Jun 1, 2026
achilleas-k
achilleas-k previously approved these changes Jun 2, 2026
Copy link
Copy Markdown
Member

@achilleas-k achilleas-k left a comment

Choose a reason for hiding this comment

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

Thanks. LGTM.
Minor comment about that disabled code block.

Comment thread pkg/manifest/bootc_rootfs.go Outdated
The ISOCustomizations are useful for the PXE and ISO types, so remove
the check for BootISO. In the future the rootfs specific options should
be moved.

Related: HMS-10627
This takes a partitioned disk image created with bootc
install-to-filesystem and compresses it into a rootfs.img suitable for
use with PXE and ISO booting. It also copies the kernel and initrd.

Includes tests.

Also satisfies the TreePipeline interface by implementing Platform()

Related: HMS-10627
This updates BootcPXETree to use the common rootfs pipeline which
handles the compression of the bootc filesystem and copies out the
kernel and initrd.

This simplifies the stage, removing the need to copy and mount the
partitioned disk image.

Includes tests.

Related: HMS-10627
Update BootcPXEImage to use the common rootfs creation pipeline.

Includes tests.

Related: HMS-10627
The RootfsType and ErofsOptions are used to configure the rootfs.img --
this isn't ideal since PXE isn't an ISO but until we move these options
this is better than adding new settings.

Related: HMS-10627
The iso_config is now used to control creation of the rootfs.  This
continues using squashfs for now but will allow setting the erofs
compression arguments when it is switched to use erofs.

Related: HMS-10627
This includes support for squashfs mount support and erofs mount support
in BootcRootFS

Related: HMS-10627
@brlane-rht brlane-rht dismissed stale reviews from achilleas-k and supakeen via 8ca01fc June 2, 2026 17:01
@brlane-rht brlane-rht force-pushed the main-rootfs-bootc-pxe branch from 5ea5e84 to 8ca01fc Compare June 2, 2026 17:01
@brlane-rht brlane-rht enabled auto-merge June 2, 2026 18:11
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.

3 participants