Support for two boot mode variants in Fedora Cloud Images
Summary
With recent changes in public cloud bringing widespread support for the use of UEFI boot, it would beneficial to add hybrid boot support, unifying the classic and uefi boot in the same fedora cloud base images.
Owner
- Name: David Duncan, Chris Murphy, Josef Bacik, Michel Alexandre Salim, Davide Cavalca, Neal Gompa, Dusty Mabe, Matthew Almond
- Email: davdunc@amazon.com, chrismurphy@fedoraproject.org, josef@toxicpanda.com, michel@michel-slm.name, dcavalca@fb.com, ngompa13@gmail.com, dusty@dustymabe.com, malmond@fb.com
- Products: Fedora Cloud Edition
- Responsible WGs: Fedora Cloud WG
Current status
- Targeted release: Fedora Linux 35
- Last Updated: 2021-06-03
- FESCo Issue: Pending
- Tracker bug: <will be assigned by the Wrangler>
- Release notes tracker: <will be assigned by the Wrangler>
Detailed Description
The cloud base will be created with multiple partitions and a GPT label instead of one single partition and implicit mbr The partitions will be: 1. An EFI System partition 1. A BIOS boot partition 1. A general data partition
Feedback
Benefit to Fedora
This is a continuation from the changes outlined in the Fedora Linux 34 Change to Unify the Grub configuration files. There has been an overwhelming change in the public cloud architectures leading to the widespread support for UEFI boot and add support for other anticipated changes which make it best to modify the boot partitions to include both the classic boot as a fallback and the UEFI. This is going to require a group of modifications to the cloud base, including modifying the partition to support UEFI and a disk label change to GPT. With this change in place, the images will have greater flexibility to support file systems, such as btrfs, for boot across a number of supported providers and environments.
- To have a consistent configuration across all the architectures
- Allows the same image to be booted using either EFI or legacy BIOS.
- Allow easier migration from one environment to another where there is potentially a change in boot loader.
- Use the same documentation and commands for the avialable cloud architectures instead of having special cases for different environments.
- Align with images generated by COSA and OSBuild on how the GRUB configuration files are used.
- Align with other installation methods on how the partitions under
/boot
are defined - Align with other distributions, like CentOS and OpenSUSE, on support for GRUB configuration
Scope
- Proposal owners:
- Submit PRs for Cloud Edition kickstarts to produce hybrid boot.
- Release engineering:
- Policies and guidelines: N/A
- Trademark approval: N/A
Upgrade/compatibility impact
Change will not affect upgrades.
How To Test
Once the change lands in Rawhide, spin up the images in AWS, GCP, and KVM/OpenStack to test to see systems boot and run. Where possible, test images on cloud virtual machines types where both methods are support.
Verify that the general data partition is properly grown in the case that the root volume is larger than the image default.
User Experience
- Mostly transparent.
- Consistent recovery experience with other distributions and builds of Fedora Linux.
Dependencies
Grub2 GPT
Documentation
No extra documentation is required reading for users. Supporting recovery documentation is already avaialble.
Release Notes
Fedora cloud images are updated to boot on both UEFI and legacy boot through a hybrid configuration.