BIOS boot.iso with GRUB2
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.
- Name: Brian C. Lane
- Email: firstname.lastname@example.org
- 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>
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.
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.
- 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: 
- Policies and guidelines: N/A (not needed for this Change)
- Trademark approval: N/A (not needed for this Change)
- Alignment with Objectives:
This will have no effect on upgrades, it only effects the installation boot media.
How To Test
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
Users will notice that the boot.iso menu is now using GRUB2 when booting on BIOS and UEFI systems.
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 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
There will be documentation included in the Lorax PR.