Skip to content

Fedora ISO Modernization (HMS-9965)#2533

Merged
supakeen merged 6 commits into
osbuild:mainfrom
supakeen:no-lorax-snek
Jul 20, 2026
Merged

Fedora ISO Modernization (HMS-9965)#2533
supakeen merged 6 commits into
osbuild:mainfrom
supakeen:no-lorax-snek

Conversation

@supakeen

@supakeen supakeen commented Jul 20, 2026

Copy link
Copy Markdown
Member

This is the implementation of the Fedora 45 change proposal 1 which drops the use of Lorax to create boot.iso-style media in Fedora 45.

Behavior is gated on the definition of LoraxTemplatePackage. If it is not present we perform certain steps that Lorax used to perform ourselves albeit it being a much more minimal set of actions (see the documentation section of the change proposal for the steps).

Some of the steps we already performed unconditionally so these are untouched (user creation, selinux permissions).


Some bits aren't the nicest, especially the handling of root filesystem excludes for non-installer image types (bootc and pxe). I'd like to leave that for a follow-up as it isn't strictly worse but might require some more foundational changes to root filesystem options and configs.

supakeen added 4 commits July 20, 2026 08:04
Plumb through the `remove` option from the stage to exclude given files
from the initramfs. This is used to build Anaconda installers without
involving Lorax.

Signed-off-by: Simon de Vlieger <cmdr@supakeen.com>
Set the default target with our systemd stage when there's no Lorax
package selected. This puts us into non-Lorax mode and thus we have to
set the default target ourselves.

Signed-off-by: Simon de Vlieger <cmdr@supakeen.com>
Lorax removes several systemd generators from the filesystem tree so
they don't end up in the ISO. These can interfere with the boot process
as they don't correctly search for the ISO-labelled filesystem.

Thus, when no Lorax template is defined we handle the removal ourselves.
In this case we don't remove them from the root filesystem but instead
instruct Dracut to remove the files only from the initrd.

Signed-off-by: Simon de Vlieger <cmdr@supakeen.com>
Allow for the definition of ISO rootfs excludes in the YAML definitions
where it makes sense. Move others out of the pipeline generator and into
the image function(s) specific to those image types for others (`bootc`,
`pxe`).

The latter few will require some more thought on where to source the
values from.

Signed-off-by: Simon de Vlieger <cmdr@supakeen.com>
@supakeen
supakeen force-pushed the no-lorax-snek branch 2 times, most recently from e854d72 to 736cef5 Compare July 20, 2026 08:52
@supakeen
supakeen marked this pull request as ready for review July 20, 2026 08:53
@supakeen
supakeen requested a review from a team as a code owner July 20, 2026 08:53
@supakeen
supakeen requested review from avitova, brlane-rht and lzap July 20, 2026 08:53
@supakeen supakeen changed the title Fedora ISO Modernization Fedora ISO Modernization (HMS-9965) Jul 20, 2026
supakeen added 2 commits July 20, 2026 11:10
Keep the RPM and DNF metadata on the image. They're tiny size-wise and
make debugging installed packages (without a Lorax-packages file)
straightforward.

Signed-off-by: Simon de Vlieger <cmdr@supakeen.com>
Don't define a Lorax template package for Fedora >= 45. This turns off
any Lorax stages in `image-builder`'s generated manifest. Producing an
ISO entirely without invoking Lorax.

See this [1] change proposal for the motivation.

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

Signed-off-by: Simon de Vlieger <cmdr@supakeen.com>

@avitova avitova 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.

lgtm:)

@croissanne croissanne left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

makes sense to move the excludes to the image defs. thanks!

@supakeen
supakeen added this pull request to the merge queue Jul 20, 2026
Merged via the queue into osbuild:main with commit 25dd8be Jul 20, 2026
50 checks passed
@supakeen
supakeen deleted the no-lorax-snek branch July 20, 2026 13:21
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