osteffen/Grub2-BootLoaderSpec

Project ID: 73594

Description

Grub2 with some additions to make it more compatible with:

Additions:

  • In EFI Mode
    • Searches ESP and $root for unified kernel images (UKI) in \EFI\Linux and adds them to the menu.
    • Set LoaderDevicePartUUID to the GPT partition GUID of the ESP. Can be used by systemd to discover and auto-mount partitions.
    • Set LoaderInfo to indicate Grub as the boot loader.
  • In BIOS Mode (i386-pc)
    • Ability to load UKIs via the linux and initrd commands.
    • Discovery of ESP partition (in case running form a device with a GPT).
    • Scanning of the ESP and $root for UKIs (in the usual locations: /EFI/Linux and /boot/EFI/Linux)
    • Auto-discovery of the root partition via partition type GUID in case the embedded cmdline of the UKI does not contain root=.... root=PARTUUID=.... is appended in that case.

Source

Current Status

It works, but needs cleanup.

Notes

Loading of UKI in EFI mode can be done with the chainloader command. In BIOS mode, use the normal linux and initrd commads on the (same) UKI file.

I am thinking about unifying this by introducing a new command, let's say load_uki for both EFI and BIOS mode.

Installation Instructions

Install grub2 from this repo instead. No further config needed to use it. UKIs on the ESP and the boot partition will be added to the menu.

Active Releases

The following unofficial repositories are provided as-is by owner of this project. Contact the owner directly for bugs or issues (IE: not bugzilla).

Release Architectures Repo Download
Fedora 39 aarch64 (41)*, x86_64 (90)* Fedora 39 (32 downloads)
Fedora 40 aarch64 (40)*, x86_64 (46)* Fedora 40 (21 downloads)
Fedora 41 aarch64 (38)*, x86_64 (46)* Fedora 41 (7 downloads)
Fedora rawhide aarch64 (110)*, x86_64 (179)* Fedora rawhide (54 downloads)

* Total number of downloaded packages.