Wiki: https://fedoraproject.org/wiki/Changes/ModernizeBootISO

Discussion Thread: https://discussion.fedoraproject.org/t/177634

**This is a proposed Change for Fedora Linux.**
This document represents a proposed Change. As part of the Changes process,
proposals are publicly announced in order to receive community feedback.
This proposal will only be implemented if approved by the Fedora
Engineering Steering Committee.

== Summary ==
We will switch over production of the boot.iso from using `lorax` to
`image-builder` modernizing the build of the deliverable while keeping
functional parity.

== Owner ==
* Name: [[User:supakeen| Simon de Vlieger]], [[User:ngompa| Neal Gompa]]
* Email: [email protected], [email protected]

== Detailed Description ==
Over the past few Fedora releases we have slowly been moving deliverable
production over to new image build tooling. Package based live media has
moved onto `kiwi`. ostree-, and bootc-based artifacts have moved onto
`image-builder` though some deliverables remain to be migrated in this area.

One of the important artifacts in Fedora is the boot.iso. This is the
network installer that is shipped as the "Everything" network installer, or
the "Server" network installer for Fedora Server edition.

This artifact is used in pungi and processed further into the dvd.iso (by
embedding a compose's repositories into the boot.iso) and the Fedora Atomic
installers (by embedding a compose's ostree commit into the boot.iso).

We would like to start producing the boot.iso with modern image build
tooling.

`image-builder` is currently deployed in Fedora's Koji build system and can
produce both the Everything and Fedora Server Edition boot.iso's. Thus for
this effort we would like to switch over the pungi configuration to start
using `image-builder` for these deliverables.

While `image-builder` definitions currently provide a boot.iso that is at
parity we would like to also use this switch to address several concerns
with the boot.iso media while keeping functional parity. This includes
(less|no) usage of Lorax in the build process which might necessitate
changes to packages and/or configuration (mostly in Anaconda).

Since the boot.iso media is used in many workflows both internal to Fedora
and by users we have explicitly targeted Fedora 45 to give us enough time
to discover any dragons that might appear.

We plan to switch over as early as possible after rawhide becomes Fedora 45
to give users and ourselves the maximum amount of time to find any
regressions and address them.

Separately, any work on the Pungi side of things and the investigative work
that will go into this will benefit other image build tooling such as
`kiwi` to also be able to produce these deliverables in the future as these
parts are shared. Having redundancy in our tooling (both `image-builder`
and `kiwi` being able to build the same artifacts) is a great thing to have
as it allows us to switch over the build backend when one or the other is
having issues and reduces the risk of any complications affecting all
deliverables.

== Feedback ==


== Benefit to Fedora ==
Changing the production of the boot.iso over to `image-builder` brings
infrastructural benefits. It also allows users to easily build (customized)
boot.iso's locally that match official Fedora deliverables and provides an
easier way to produce derivatives and Fedora remixes that want to create
boot.iso media using `image-builder` or `kiwi`.

Aside from this the process on how these deliverables are produced becomes
more linear and simpler to understand.

## Scope [📖](https://fedoraproject.org/wiki/Changes/ModernizeBootISO#Scope)
* Proposal owners: implement definitions (`image-builder`) and descriptions
(`kiwi`) to build modernized boot.iso media. Update pungi configuration to
make use of this (might imply changes to pungi itself as well).
* Other developers: None.
* Release engineering:
https://forge.fedoraproject.org/releng/tickets/issues/13140
* Policies and guidelines: N/A (not needed for this Change)
* Trademark approval: N/A (not needed for this Change)
* Alignment with the Fedora Strategy:

== Upgrade/compatibility impact ==


== Early Testing (Optional) ==
Users can test the current state of these artifacts by installing
`image-builder` and building the deliverables as they are now:

 $ sudo dnf install image-builder

 $ sudo image-builder build everything-network-installer

Note that several changes need to land upstream and thus these installers
do not properly reflect the state that we want in Fedora, yet.

== How To Test ==
Once the pungi configuration for rawhide has been changed to produce these
deliverables with `image-builder` OpenQA will start testing these
automatically.

Users can also start testing after this point. The tests would involve the
usual requirements and criteria for the boot.iso.

Once the new deliverables are testable an announcement will be made on the
mailinglist and discussion forum to get as many eyes on this as possible.

== User Experience ==
The user experience of using the boot.iso media should not change in any
functional way.

== Dependencies ==
There are no dependencies on other changes. The owners of this proposal
will likely need to perform work in pungi, the pungi configuration, and
perhaps Anaconda.

We have explicitly targeted Fedora 45 to give us enough time to make these
changes as they might have long(er) timeframes to land in Fedora.

If any critical changes are not able to land before Fedora 45 we will have
the option to either pave over them in `image-builder` (for example, if
configuration files need to be moved around, or directories need to be
removed) or to trigger the contigency and defer to Fedora 46.

== Contingency Plan ==
* Contingency mechanism: Revert pungi configuration changes
* Contingency deadline: Beta Freeze
* Blocks release: Yes

== Documentation ==
Notes will be written and kept as the implementation progresses.

== Release Notes ==
\n
-- 
_______________________________________________
devel-announce mailing list -- [email protected]
To unsubscribe send an email to [email protected]
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/[email protected]
Do not reply to spam, report it: 
https://pagure.io/fedora-infrastructure/new_issue
-- 
_______________________________________________
devel mailing list -- [email protected]
To unsubscribe send an email to [email protected]
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/[email protected]
Do not reply to spam, report it: 
https://pagure.io/fedora-infrastructure/new_issue

Reply via email to