summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>2021-12-20 12:20:47 +0100
committerZbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>2021-12-20 12:23:40 +0100
commitc20ecc9457454ded3074ba9aef9a1ee7dbce0afb (patch)
treec1d34e5977bf15905a2d791b8f864ef52687175f
parent219c1dc7804b6ae6f19c9bfb5f68f78d2a1faef9 (diff)
downloadsystemd-c20ecc9457454ded3074ba9aef9a1ee7dbce0afb.tar.gz
NEWS: add the boot loader stuff
-rw-r--r--NEWS43
1 files changed, 43 insertions, 0 deletions
diff --git a/NEWS b/NEWS
index cb368c1a19..e56942a027 100644
--- 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/