BIOS boot.iso with GRUB2
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
- Name: Brian C. Lane
- Email: bcl@redhat.com
Current status
- Targeted release: Fedora Linux 37
- Last updated: 2022-06-01
- devel thread
- FESCo issue: #2796
- Tracker bug: #2092065
- Release notes tracker: #843
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.