All Systems Go! 2025

One Boot Config to Rule Them All: Bringing UAPI Boot Specification to Legacy BIOS
2025-10-01 , Main

The UAPI Boot Loader Specification defines conventions that let multiple operating systems and bootloaders share boot config files. So far, only systemd-boot implements it - and it’s UEFI-only by design.

As a result, hybrid UEFI/BIOS images require maintaining (and keeping in sync) two sets of bootloader configs: one for systemd-boot, and one for a legacy bootloader such as syslinux.

I set out to fix that by building a BIOS bootloader that uses the UAPI Boot Loader Specification - allowing both UEFI and legacy boot to use a single shared set of config files. This talk is about why that matters, how I built it, and what comes next.


In this talk, I’ll cover:

  • What the UAPI boot spec is
  • Why you'd want to use legacy boot instead of EFI/systemd-boot - spoiler: you don't! but you might have to
  • How I implemented UAPI boot support for legacy BIOS
  • What about UKIs?
  • A live demo of the bootloader in action
  • The current state of the project and what’s next

https://uapi-group.org/specifications/specs/boot_loader_specification
https://github.com/nkraetzschmar/bootloader

Developer @ GardenLinux, SAP

Focused on building a streamlined, security-hardened Linux for container and Kubernetes environments, with a keen interest in C programming and security.