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
