]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
NEWS: add the boot loader stuff
authorZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Mon, 20 Dec 2021 11:20:47 +0000 (12:20 +0100)
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
Mon, 20 Dec 2021 11:23:40 +0000 (12:23 +0100)
NEWS

diff --git a/NEWS b/NEWS
index cb368c1a191cfe38eb3b9601d9fe667d5d3ef179..e56942a027dcdd00c0a872d6939b7311bf8983a9 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -515,6 +515,49 @@ CHANGES WITH 250 in spe:
           may be used to set the boot menu time-out of the boot loader (for all
           or just the subsequent boot).
 
+        * bootctl and kernel-install will now read KERNEL_INSTALL_MACHINE_ID
+          and KERNEL_INSTALL_LAYOUT from kernel/install.conf. The first
+          variable specifies the machine-id to use for installation. It would
+          previously be used if set in the environment, and now it'll also be
+          read automatically from the config file. The second variable is new.
+          When set, it specifies the layout to use for installation directories
+          on the boot partition, so that tools don't need to guess it based on
+          the already-existing directories. The only value that is defined
+          natively is "bls", corresponding to the layout specified in
+          https://systemd.io/BOOT_LOADER_SPECIFICATION/. Plugins for
+          kernel-install that implement a different layout can declare other
+          values for this variable.
+
+          'bootctl install' will now write KERNEL_INSTALL_LAYOUT=bls, on the
+          assumption that if the user installed sd-boot to the ESP, they intend
+          to use the entry layout understood by sd-boot. It'll also write
+          KERNEL_INSTALL_MACHINE_ID= if it creates any directories using the ID
+          (and it wasn't specified in the config file yet). Similarly,
+          kernel-install will now write KERNEL_INSTALL_MACHINE_ID= (if it
+          wasn't specified in the config file yet). Effectively, those changes
+          mean that the machine-id used for boot loader entry installation is
+          "frozen" upon first use and becomes independent of the actual
+          machine-id.
+
+          Configuring KERNEL_INSTALL_MACHINE_ID fixes the following problem:
+          images created for distribution ("golden images") are built with no
+          machine-id, so that a unique machine-id can be created on the first
+          boot. But those images may contain boot loader entries with the
+          machine-id used during build included in paths. Using a "frozen"
+          value allows unambiguously identifying entries that match the
+          specific installation, while still permitting parallel installations
+          without conflict.
+
+          Configuring KERNEL_INSTALL_LAYOUT obviates the need for
+          kernel-install to guess the installation layout. This fixes the
+          problem where a (possibly empty) directory in the boot partition is
+          created from a different layout causing kernel-install plugins to
+          assume the wrong layout. A particular example of how this may happen
+          is the grub2 package in Fedora which includes directories under /boot
+          directly in its file list. Various other packages pull in grub2 as a
+          dependency, so it may be installed even if unused, breaking
+          installations that use the bls layout.
+
         * bootctl and systemd-bless-boot can now be linked statically.
 
         * systemd-sysext now optionally doesn't insist on extension-release.d/