From Fedora Project Wiki

Build Fedora Workstation live ISO with image builder

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

Image builder is a set of modern tools for building operating system images. Its goal is to make the builds reliable and reproducible. Moreover, it's designed to give the end users a simple workflow to build their own custom images. The aim of this change is to switch the build tool for Fedora Workstation live ISO from livemedia-creator to image builder.

Owner

Current status

  • Targeted release: Fedora Linux 39
  • Last updated: 2023-06-26
  • [<will be assigned by the Wrangler> devel thread]
  • FESCo issue: <will be assigned by the Wrangler>
  • Tracker bug: <will be assigned by the Wrangler>
  • Release notes tracker: <will be assigned by the Wrangler>

Detailed Description

Image builder is currently getting support for building live ISOs. Once the PR implementing the new image type is merged, the pungi-fedora configuration needs to be updated. This change will ensure that pungi creates an osbuildImage task in koji instead of the currently used livemedia one.

Pungi and Koji already support image builder, so no additional work is required there (refer to the pungi and koji documentation). The only missing part in terms of infrastructure is provisioning ppc64le worker machines for image builder, see the relevant fedora-infra ticket.

Note that image builder is already used for building ISOs and raw disks of Fedora IoT. Therefore, this proposal does not introduce a new tool to the Fedora build pipeline.

Feedback

Currently, Image Builder does not populate the DNF database correctly, leading to all RPMs installed on the target system being marked as user-installer. This is a known issue that the team is planning to address as soon as the initial support for live ISOs is merged.

Benefit to Fedora

The maintainer team of image builder believes that the project undergoes more comprehensive testing compared to lorax/livemedia-creator. Thus, by switching to image builder, Fedora should experience fewer issues with the image building pipeline.

Another advantage is the project's emphasis on making image builder more user-friendly. End users can easily build their own customized version of the live ISO using a simple TOML blueprint file and a CLI interface. This approach, utilizing well-known file formats, is a positive step compared to livemedia-creator's kickstart files. More information about building customized images can found on Major Hayden's blog or in a conference talk given by Ondřej Budai, one of the proposal owners. Moreover, image builder provides a graphical interface for visually defining blueprints, further simplifying the workflow.

We believe that image builder can also be beneficial to the Respins SIG as it nicely aligns with their objective of providing a simple method for building up-to-date, customizable images.

Scope

  • Proposal owners:

Finishing implementing support for the live ISO upstream and collaborate with release engineering to switch the pungi config to use image builder.

  • Other developers:

Our focus for this change is specifically on Fedora Workstation. Nevertheless, we are open to collaborating with all spins/SIG to transition their build pipelines to image builder. However, for the initial switch, we aim to minimize the impact by focusing on a single artifact. We anticipate that more artifacts will be transitioned in subsequent releases of Fedora Linux.

Provide ppc64le machines to image builder. Switch the pungi config to use image builder

  • Policies and guidelines: N/A (not needed for this Change)
  • Trademark approval: N/A (not needed for this Change)
  • Alignment with Community Initiatives:

Upgrade/compatibility impact

There shouldn't be any. The goal of this proposal is to build the same images as livemedia-creator does, just using a different tooling.


How To Test

Once the pungi config is changed, grab the ISO built by image builder and test if there are any unexpected changes.


User Experience

No change is expected.

Dependencies

The Workstation SIG and the installer team are working on a change to use the new installer web UI for the Workstation live ISO. We are fully aware of this change and have the capability to build ISOs with and without the new UI. As a result, these changes should be independent of each other. Furthermore, the installer and image builder teams are closely collaborating, ensuring that any issues that may arise can be addressed with high priority.

Contingency Plan

  • Contingency mechanism: (What to do? Who will do it?) Release engineering to revert the change in pungi, so that the old tooling is used instead.
  • Contingency deadline: Final freeze (the change is trivially revertable)
  • Blocks release? No


Documentation

N/A

Release Notes

Fedora Workstations ISOs are now built using image builder instead of the legacy tooling used before.