]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
docs: add /loader/entries.srel to the boot loader spec
authorLennart Poettering <lennart@poettering.net>
Thu, 17 Mar 2022 17:35:53 +0000 (18:35 +0100)
committerLennart Poettering <lennart@poettering.net>
Mon, 21 Mar 2022 23:34:33 +0000 (00:34 +0100)
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

index 7f15a231647f01f796a1b850d69a7d5816d70f67..375efeb1d1975712df106adeccfdce62219a2c8a 100644 (file)
@@ -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