From f6ad0282c9b9260076e74195e35a4c0c278537c7 Mon Sep 17 00:00:00 2001 From: Lennart Poettering Date: Thu, 17 Mar 2022 18:35:53 +0100 Subject: [PATCH] docs: add /loader/entries.srel to the boot loader spec This new file is supposed to address conflicts with Fedora/Grub's frankenbootloaderspec implementation, that squatted the /loader/entries/ dir, but place incompatible files in them (that do variable expansion?). A simple text file /loader/entries.srel shall indicate which spec is implemented. If it contains the string "type1\n" then the /loader/entries/ directory implements our standard spec, otherwise something else. --- docs/BOOT_LOADER_SPECIFICATION.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/docs/BOOT_LOADER_SPECIFICATION.md b/docs/BOOT_LOADER_SPECIFICATION.md index 7f15a231647..375efeb1d19 100644 --- a/docs/BOOT_LOADER_SPECIFICATION.md +++ b/docs/BOOT_LOADER_SPECIFICATION.md @@ -309,6 +309,18 @@ focus for this specification. More specifically, on non-EFI systems configuration snippets following this specification cannot be used to spawn other operating systems (such as Windows). +Unfortunately, there are implementations of boot loading infrastructure that +are also using the /loader/entries/ directory, but place files in them that are +not valid by this specification. In order to minimize confusion a boot loader +implementation may place a file /loader/entries.srel next to the +/loader/entries/ directory containing the ASCII string "type1" (suffixed +with a UNIX newline). Tools that need to determine whether an existing +directory implements the semantics described here may check for this file and +contents: if it exists and contains the mentioned string, it shall assume a +standards compliant implementation is in place. If it exists but contains a +different string it shall assume non-standard semantics are implemented. If the +file does not exist no assumptions should be made. + ### Type #2 EFI Unified Kernel Images A unified kernel image is a single EFI PE executable combining an EFI stub -- 2.47.3