From Fedora Project Wiki


BIOS boot.iso with GRUB2

Important.png
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

Modify lorax-generic-templates to use GRUB2 when booting the boot.iso on BIOS systems, instead of syslinux. Upstream syslinux development is dead, and the Fedora maintainer would like to drop the package from the distribution. GRUB2 works as a replacement in most situations and continues to have upstream support.

Owner


Current status

  • Targeted release: Fedora Linux 37
  • Last updated: 2022-05-23
  • devel thread
  • FESCo issue: #2796
  • Tracker bug: <will be assigned by the Wrangler>
  • Release notes tracker: <will be assigned by the Wrangler>

Detailed Description

After the recent discussion surrounding removing BIOS support from the boot.iso I have modified the templates used to build it to use GRUB2 with help from the xorriso author Thomas Schmitt. In testing so far this seems to work in the majority of cases, which should be sufficient to keep Fedora working on most BIOS systems.

Feedback

The community is strongly in favor of continuing to support BIOS booting for the boot.iso, we figured out how to use GRUB2 instead of syslinux so that we can continue to support BIOS systems.

Benefit to Fedora

The benefit to Fedora is that it will continue to be available on BIOS systems, at least until GRUB2 stops supporting it.

Scope

  • Proposal owners:

Update lorax-generic-templates to use GRUB2. See the Lorax PR

  • Other developers:

Pungi uses the boot.iso as the basis for the DVD and may need changes. I have opened a Pungi issue to track this.

  • Release engineering: [1]
  • Policies and guidelines: N/A (not needed for this Change)
  • Trademark approval: N/A (not needed for this Change)
  • Alignment with Objectives:

Upgrade/compatibility impact

This will have no effect on upgrades, it only effects the installation boot media.

How To Test

Testing can be done with the test iso from [2] or by checking out the Lorax PR and running Lorax from the git repo to build a new boot.iso locally:

sudo PATH="./src/sbin:$PATH" PYTHONPATH=./src/ ./src/sbin/lorax \
-p Fedora -v rawhide -r rawhide \
-s https://dl.fedoraproject.org/pub/fedora/linux/development/rawhide/Everything/x86_64/os/ \
--logfile=lorax-build.log --sharedir ./share/ --tmp /var/tmp/ \
./rawhide-lorax/ |& tee lorax-build-out.log


User Experience

Users will notice that the boot.iso menu is now using GRUB2 when booting on BIOS and UEFI systems.

Dependencies

Pungi uses Lorax to create the base of the DVD, it then repackages it without using the templates. These changes may cause problems for that workflow, an issue has been filed with Pungi for this.

Contingency Plan

  • Contingency mechanism: I will revert the changes to the templates and return to syslinux.
  • Contingency deadline: Beta Freeze
  • Blocks release? Yes

If the change does not work we can easily fall back to the previous templates, as long as syslinux is still available. Without syslinux, and without this change, we will have to remove BIOS support from the boot.iso as implemented in this draft PR

Documentation

There will be documentation included in the Lorax PR.

Release Notes