From c20ecc9457454ded3074ba9aef9a1ee7dbce0afb Mon Sep 17 00:00:00 2001 From: =?utf8?q?Zbigniew=20J=C4=99drzejewski-Szmek?= Date: Mon, 20 Dec 2021 12:20:47 +0100 Subject: [PATCH] NEWS: add the boot loader stuff --- NEWS | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) diff --git a/NEWS b/NEWS index cb368c1a191..e56942a027d 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/ -- 2.47.3