{"guid":"094a81bc-e198-5c8b-b4e6-08e05a3e373c","title":"One Boot Config to Rule Them All: Bringing UAPI Boot Specification to Legacy BIOS","subtitle":null,"slug":"all-systems-go-2025-328-one-boot-config-to-rule-them-all-bringing-uapi-boot-specification-to-legacy-bios","link":"https://cfp.all-systems-go.io/all-systems-go-2025/talk/ANC879/","description":"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.\n\nAs 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.\n\nI 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.\n\nIn this talk, I’ll cover:\n\n- What the UAPI boot spec is\n- Why you'd want to use legacy boot instead of EFI/systemd-boot - *spoiler: you don't! but you might have to*\n- How I implemented UAPI boot support for legacy BIOS\n- What about UKIs?\n- A live demo of the bootloader in action\n- The current state of the project and what’s next\n\nhttps://uapi-group.org/specifications/specs/boot_loader_specification\nhttps://github.com/nkraetzschmar/bootloader\n\nLicensed to the public under https://creativecommons.org/licenses/by/4.0/de/","original_language":"eng","persons":["Nikolas Krätzschmar"],"tags":["328","2025","asg2025","Galerie","asg2025-eng","asg2025","Day 2"],"view_count":117,"promoted":false,"date":"2025-10-01T17:15:00.000+02:00","release_date":"2025-10-01T00:00:00.000+02:00","updated_at":"2026-03-19T10:30:06.835+01:00","length":1499,"duration":1499,"thumb_url":"https://static.media.ccc.de/media/events/all_systems_go/2025/328-094a81bc-e198-5c8b-b4e6-08e05a3e373c.jpg","poster_url":"https://static.media.ccc.de/media/events/all_systems_go/2025/328-094a81bc-e198-5c8b-b4e6-08e05a3e373c_preview.jpg","timeline_url":"https://static.media.ccc.de/media/events/all_systems_go/2025/328-094a81bc-e198-5c8b-b4e6-08e05a3e373c.timeline.jpg","thumbnails_url":"https://static.media.ccc.de/media/events/all_systems_go/2025/328-094a81bc-e198-5c8b-b4e6-08e05a3e373c.thumbnails.vtt","frontend_link":"https://media.ccc.de/v/all-systems-go-2025-328-one-boot-config-to-rule-them-all-bringing-uapi-boot-specification-to-legacy-bios","url":"https://api.media.ccc.de/public/events/094a81bc-e198-5c8b-b4e6-08e05a3e373c","conference_title":"All Systems Go! 2025","conference_url":"https://api.media.ccc.de/public/conferences/asg2025","related":[],"recordings":[{"size":276,"length":1499,"mime_type":"video/webm;codecs=av01","language":"eng","filename":"asg2025-328-eng-One_Boot_Config_to_Rule_Them_All_Bringing_UAPI_Boot_Specification_to_Legacy_BIOS_av1-hd.webm","state":"new","folder":"av1-hd","high_quality":true,"width":1920,"height":1080,"updated_at":"2025-10-01T18:26:52.742+02:00","recording_url":"https://cdn.media.ccc.de/events/all_systems_go/2025/av1-hd/asg2025-328-eng-One_Boot_Config_to_Rule_Them_All_Bringing_UAPI_Boot_Specification_to_Legacy_BIOS_av1-hd.webm","url":"https://api.media.ccc.de/public/recordings/91974","event_url":"https://api.media.ccc.de/public/events/094a81bc-e198-5c8b-b4e6-08e05a3e373c","conference_url":"https://api.media.ccc.de/public/conferences/asg2025"},{"size":72,"length":1499,"mime_type":"video/webm","language":"eng","filename":"asg2025-328-eng-One_Boot_Config_to_Rule_Them_All_Bringing_UAPI_Boot_Specification_to_Legacy_BIOS_webm-sd.webm","state":"new","folder":"webm-sd","high_quality":false,"width":720,"height":576,"updated_at":"2025-10-01T18:52:30.244+02:00","recording_url":"https://cdn.media.ccc.de/events/all_systems_go/2025/webm-sd/asg2025-328-eng-One_Boot_Config_to_Rule_Them_All_Bringing_UAPI_Boot_Specification_to_Legacy_BIOS_webm-sd.webm","url":"https://api.media.ccc.de/public/recordings/91984","event_url":"https://api.media.ccc.de/public/events/094a81bc-e198-5c8b-b4e6-08e05a3e373c","conference_url":"https://api.media.ccc.de/public/conferences/asg2025"},{"size":303,"length":1499,"mime_type":"video/webm","language":"eng","filename":"asg2025-328-eng-One_Boot_Config_to_Rule_Them_All_Bringing_UAPI_Boot_Specification_to_Legacy_BIOS_webm-hd.webm","state":"new","folder":"webm-hd","high_quality":true,"width":1920,"height":1080,"updated_at":"2025-10-01T18:51:34.630+02:00","recording_url":"https://cdn.media.ccc.de/events/all_systems_go/2025/webm-hd/asg2025-328-eng-One_Boot_Config_to_Rule_Them_All_Bringing_UAPI_Boot_Specification_to_Legacy_BIOS_webm-hd.webm","url":"https://api.media.ccc.de/public/recordings/91982","event_url":"https://api.media.ccc.de/public/events/094a81bc-e198-5c8b-b4e6-08e05a3e373c","conference_url":"https://api.media.ccc.de/public/conferences/asg2025"},{"size":85,"length":1499,"mime_type":"video/mp4","language":"eng","filename":"asg2025-328-eng-One_Boot_Config_to_Rule_Them_All_Bringing_UAPI_Boot_Specification_to_Legacy_BIOS_sd.mp4","state":"new","folder":"h264-sd","high_quality":false,"width":720,"height":576,"updated_at":"2025-10-01T18:29:13.445+02:00","recording_url":"https://cdn.media.ccc.de/events/all_systems_go/2025/h264-sd/asg2025-328-eng-One_Boot_Config_to_Rule_Them_All_Bringing_UAPI_Boot_Specification_to_Legacy_BIOS_sd.mp4","url":"https://api.media.ccc.de/public/recordings/91977","event_url":"https://api.media.ccc.de/public/events/094a81bc-e198-5c8b-b4e6-08e05a3e373c","conference_url":"https://api.media.ccc.de/public/conferences/asg2025"},{"size":16,"length":1499,"mime_type":"audio/opus","language":"eng","filename":"asg2025-328-eng-One_Boot_Config_to_Rule_Them_All_Bringing_UAPI_Boot_Specification_to_Legacy_BIOS_opus.opus","state":"new","folder":"opus","high_quality":false,"width":0,"height":0,"updated_at":"2025-10-01T18:26:56.360+02:00","recording_url":"https://cdn.media.ccc.de/events/all_systems_go/2025/opus/asg2025-328-eng-One_Boot_Config_to_Rule_Them_All_Bringing_UAPI_Boot_Specification_to_Legacy_BIOS_opus.opus","url":"https://api.media.ccc.de/public/recordings/91975","event_url":"https://api.media.ccc.de/public/events/094a81bc-e198-5c8b-b4e6-08e05a3e373c","conference_url":"https://api.media.ccc.de/public/conferences/asg2025"},{"size":22,"length":1499,"mime_type":"audio/mpeg","language":"eng","filename":"asg2025-328-eng-One_Boot_Config_to_Rule_Them_All_Bringing_UAPI_Boot_Specification_to_Legacy_BIOS_mp3.mp3","state":"new","folder":"mp3","high_quality":false,"width":0,"height":0,"updated_at":"2025-10-01T18:22:52.086+02:00","recording_url":"https://cdn.media.ccc.de/events/all_systems_go/2025/mp3/asg2025-328-eng-One_Boot_Config_to_Rule_Them_All_Bringing_UAPI_Boot_Specification_to_Legacy_BIOS_mp3.mp3","url":"https://api.media.ccc.de/public/recordings/91971","event_url":"https://api.media.ccc.de/public/events/094a81bc-e198-5c8b-b4e6-08e05a3e373c","conference_url":"https://api.media.ccc.de/public/conferences/asg2025"},{"size":441,"length":1499,"mime_type":"video/mp4","language":"eng","filename":"asg2025-328-eng-One_Boot_Config_to_Rule_Them_All_Bringing_UAPI_Boot_Specification_to_Legacy_BIOS_hd.mp4","state":"new","folder":"h264-hd","high_quality":true,"width":1920,"height":1080,"updated_at":"2025-10-01T18:13:48.822+02:00","recording_url":"https://cdn.media.ccc.de/events/all_systems_go/2025/h264-hd/asg2025-328-eng-One_Boot_Config_to_Rule_Them_All_Bringing_UAPI_Boot_Specification_to_Legacy_BIOS_hd.mp4","url":"https://api.media.ccc.de/public/recordings/91963","event_url":"https://api.media.ccc.de/public/events/094a81bc-e198-5c8b-b4e6-08e05a3e373c","conference_url":"https://api.media.ccc.de/public/conferences/asg2025"}]}