Package: systemd-boot Version: 251.4-3 Severity: normal Tags: patch Dear Maintainer,
In the default installation, both a bare initrd and a versioned one are installed: /boot/efi/HASH/5.16.0-1-amd64/initrd.img-5.16.0-1-amd64 /boot/efi/HASH/5.16.0-1-amd64/linux /boot/efi/HASH/5.16.0-1-amd64/initrd In #970213, I worked around this by only installing the generated as the standard "initrd" fallback if none was passed; I've been using a simple #!/bin/sh bootctl is-installed > /dev/null || exit 0 exec kernel-install add "$1" "/boot/vmlinuz-$1" "/boot/initrd.img-$1" /etc/kernel/postinst.d/kernel-install (and analogous remove), so this works for that case perfectly. In #826045, upstream hooks were added: debian/extra/kernel/post{inst,rm}.d/systemd-boot (74127387dacf23f037f3a55a808951fae93024c6) and debian/extra/initramfs/post-update.d/systemd-boot (9a6d87f1c6f7fbde8ff8e7beab30973944221244) to integrate with bootctl out-of-box. This is great! However, /etc/kernel/postinst.d/systemd-boot runs: kernel-install add "$1" "$2" and /etc/initramfs/post-update.d/systemd-boot runs: kernel-install add "$1" "/boot/vmlinuz-$1" "$2" And the former installs: /boot/efi/HASH/5.16.0-1-amd64/linux /boot/efi/HASH/5.16.0-1-amd64/initrd but the latter installs: /boot/efi/HASH/5.16.0-1-amd64/initrd.img-5.16.0-1-amd64 /boot/efi/HASH/5.16.0-1-amd64/linux hence the situation at the top I wanted to avoid in #970213; ESPs tend to be really small! I've opened MR 169 on Salsa: https://salsa.debian.org/systemd-team/systemd/-/merge_requests/169 and am attaching a patch for this that makes it so /etc/kernel/postinst.d/systemd-boot calls kernel-install add "$1" "$2" "/boot/initrd.img-$1" if the latter exists, and the previous kernel-install add "$1" "$2" otherwise, which always installs the versioned initrd, as well as one that will order this bootloader hook with the other bootloader hooks at the end (cf. message). Installation logs that demonstrate this follow. Implicit image: root@zoot2:~# kernel-install -v add $(uname -r) /boot/vmlinuz-5.16.0-1-amd64 Reading /usr/lib/kernel/install.conf… BOOT_ROOT=/tmp/br set via environment or install.conf machine-id d42f27f4670847aeae24b01bd283a4e0 acquired from /etc/machine-id Entry-token candidates: d42f27f4670847aeae24b01bd283a4e0 debian Default /tmp/br/d42f27f4670847aeae24b01bd283a4e0 exists, using BOOT_ROOT=/tmp/br, ENTRY_TOKEN=d42f27f4670847aeae24b01bd283a4e0 /tmp/br/d42f27f4670847aeae24b01bd283a4e0 exists, using layout=bls Using ENTRY_DIR_ABS=/tmp/br/d42f27f4670847aeae24b01bd283a4e0/5.16.0-1-amd64 Plugin files: /usr/lib/kernel/install.d/50-depmod.install /usr/lib/kernel/install.d/85-initrd.install /usr/lib/kernel/install.d/90-loaderentry.install +mkdir -v -p /tmp/br/d42f27f4670847aeae24b01bd283a4e0/5.16.0-1-amd64 mkdir: created directory '/tmp/br/d42f27f4670847aeae24b01bd283a4e0/5.16.0-1-amd64' +/usr/lib/kernel/install.d/50-depmod.install add 5.16.0-1-amd64 /tmp/br/d42f27f4670847aeae24b01bd283a4e0/5.16.0-1-amd64 /boot/vmlinuz-5.16.0-1-amd64 +depmod -a 5.16.0-1-amd64 +/usr/lib/kernel/install.d/85-initrd.install add 5.16.0-1-amd64 /tmp/br/d42f27f4670847aeae24b01bd283a4e0/5.16.0-1-amd64 /boot/vmlinuz-5.16.0-1-amd64 Installing '/boot/initrd.img-5.16.0-1-amd64' as '/tmp/br/d42f27f4670847aeae24b01bd283a4e0/5.16.0-1-amd64/initrd' +/usr/lib/kernel/install.d/90-loaderentry.install add 5.16.0-1-amd64 /tmp/br/d42f27f4670847aeae24b01bd283a4e0/5.16.0-1-amd64 /boot/vmlinuz-5.16.0-1-amd64 Creating /tmp/br/loader/entries/d42f27f4670847aeae24b01bd283a4e0-5.16.0-1-amd64.conf root@zoot2:~# find /tmp/br/ /tmp/br/ /tmp/br/loader /tmp/br/loader/entries /tmp/br/loader/entries/d42f27f4670847aeae24b01bd283a4e0-5.16.0-1-amd64.conf /tmp/br/d42f27f4670847aeae24b01bd283a4e0 /tmp/br/d42f27f4670847aeae24b01bd283a4e0/5.16.0-1-amd64 /tmp/br/d42f27f4670847aeae24b01bd283a4e0/5.16.0-1-amd64/linux /tmp/br/d42f27f4670847aeae24b01bd283a4e0/5.16.0-1-amd64/initrd Explicit image: root@zoot2:~# kernel-install -v add $(uname -r) /boot/vmlinuz-5.16.0-1-amd64 /boot/initrd.img-5.16.0-1-amd64 Reading /usr/lib/kernel/install.conf… BOOT_ROOT=/tmp/br set via environment or install.conf machine-id d42f27f4670847aeae24b01bd283a4e0 acquired from /etc/machine-id Entry-token candidates: d42f27f4670847aeae24b01bd283a4e0 debian Default /tmp/br/d42f27f4670847aeae24b01bd283a4e0 exists, using BOOT_ROOT=/tmp/br, ENTRY_TOKEN=d42f27f4670847aeae24b01bd283a4e0 /tmp/br/d42f27f4670847aeae24b01bd283a4e0 exists, using layout=bls Using ENTRY_DIR_ABS=/tmp/br/d42f27f4670847aeae24b01bd283a4e0/5.16.0-1-amd64 Plugin files: /usr/lib/kernel/install.d/50-depmod.install /usr/lib/kernel/install.d/85-initrd.install /usr/lib/kernel/install.d/90-loaderentry.install +mkdir -v -p /tmp/br/d42f27f4670847aeae24b01bd283a4e0/5.16.0-1-amd64 mkdir: created directory '/tmp/br/d42f27f4670847aeae24b01bd283a4e0/5.16.0-1-amd64' +/usr/lib/kernel/install.d/50-depmod.install add 5.16.0-1-amd64 /tmp/br/d42f27f4670847aeae24b01bd283a4e0/5.16.0-1-amd64 /boot/vmlinuz-5.16.0-1-amd64 /boot/initrd.img-5.16.4 +depmod -a 5.16.0-1-amd64 +/usr/lib/kernel/install.d/85-initrd.install add 5.16.0-1-amd64 /tmp/br/d42f27f4670847aeae24b01bd283a4e0/5.16.0-1-amd64 /boot/vmlinuz-5.16.0-1-amd64 /boot/initrd.img-5.16.4 +/usr/lib/kernel/install.d/90-loaderentry.install add 5.16.0-1-amd64 /tmp/br/d42f27f4670847aeae24b01bd283a4e0/5.16.0-1-amd64 /boot/vmlinuz-5.16.0-1-amd64 /boot/initrd.img-4 Installing /tmp/br/d42f27f4670847aeae24b01bd283a4e0/5.16.0-1-amd64/initrd.img-5.16.0-1-amd64 Creating /tmp/br/loader/entries/d42f27f4670847aeae24b01bd283a4e0-5.16.0-1-amd64.conf root@zoot2:~# find /tmp/br/ /tmp/br/ /tmp/br/d42f27f4670847aeae24b01bd283a4e0 /tmp/br/d42f27f4670847aeae24b01bd283a4e0/5.16.0-1-amd64 /tmp/br/d42f27f4670847aeae24b01bd283a4e0/5.16.0-1-amd64/initrd.img-5.16.0-1-amd64 /tmp/br/d42f27f4670847aeae24b01bd283a4e0/5.16.0-1-amd64/linux /tmp/br/loader /tmp/br/loader/entries /tmp/br/loader/entries/d42f27f4670847aeae24b01bd283a4e0-5.16.0-1-amd64.conf One then the other: root@zoot2:~# kernel-install -v add $(uname -r) /boot/vmlinuz-5.16.0-1-amd64 /boot/initrd.img-5.16.0-1-amd64 Reading /usr/lib/kernel/install.conf… BOOT_ROOT=/tmp/br set via environment or install.conf machine-id d42f27f4670847aeae24b01bd283a4e0 acquired from /etc/machine-id Entry-token candidates: d42f27f4670847aeae24b01bd283a4e0 debian Default /tmp/br/d42f27f4670847aeae24b01bd283a4e0 exists, using BOOT_ROOT=/tmp/br, ENTRY_TOKEN=d42f27f4670847aeae24b01bd283a4e0 /tmp/br/d42f27f4670847aeae24b01bd283a4e0 exists, using layout=bls Using ENTRY_DIR_ABS=/tmp/br/d42f27f4670847aeae24b01bd283a4e0/5.16.0-1-amd64 Plugin files: /usr/lib/kernel/install.d/50-depmod.install /usr/lib/kernel/install.d/85-initrd.install /usr/lib/kernel/install.d/90-loaderentry.install +mkdir -v -p /tmp/br/d42f27f4670847aeae24b01bd283a4e0/5.16.0-1-amd64 +/usr/lib/kernel/install.d/50-depmod.install add 5.16.0-1-amd64 /tmp/br/d42f27f4670847aeae24b01bd283a4e0/5.16.0-1-amd64 /boot/vmlinuz-5.16.0-1-amd64 /boot/initrd.img-5.16.4 +depmod -a 5.16.0-1-amd64 +/usr/lib/kernel/install.d/85-initrd.install add 5.16.0-1-amd64 /tmp/br/d42f27f4670847aeae24b01bd283a4e0/5.16.0-1-amd64 /boot/vmlinuz-5.16.0-1-amd64 /boot/initrd.img-5.16.4 +/usr/lib/kernel/install.d/90-loaderentry.install add 5.16.0-1-amd64 /tmp/br/d42f27f4670847aeae24b01bd283a4e0/5.16.0-1-amd64 /boot/vmlinuz-5.16.0-1-amd64 /boot/initrd.img-4 Installing /tmp/br/d42f27f4670847aeae24b01bd283a4e0/5.16.0-1-amd64/initrd.img-5.16.0-1-amd64 Creating /tmp/br/loader/entries/d42f27f4670847aeae24b01bd283a4e0-5.16.0-1-amd64.conf root@zoot2:~# find /tmp/br/ /tmp/br/ /tmp/br/loader /tmp/br/loader/entries /tmp/br/loader/entries/d42f27f4670847aeae24b01bd283a4e0-5.16.0-1-amd64.conf /tmp/br/d42f27f4670847aeae24b01bd283a4e0 /tmp/br/d42f27f4670847aeae24b01bd283a4e0/5.16.0-1-amd64 /tmp/br/d42f27f4670847aeae24b01bd283a4e0/5.16.0-1-amd64/initrd.img-5.16.0-1-amd64 /tmp/br/d42f27f4670847aeae24b01bd283a4e0/5.16.0-1-amd64/linux /tmp/br/d42f27f4670847aeae24b01bd283a4e0/5.16.0-1-amd64/initrd -- System Information: Debian Release: 11.5 APT prefers stable-updates APT policy: (500, 'stable-updates'), (500, 'stable-security'), (500, 'stable-debug'), (500, 'stable') Architecture: amd64 (x86_64) Foreign Architectures: i386 Kernel: Linux 5.10.0-17-amd64 (SMP w/24 CPU threads) Kernel taint flags: TAINT_PROPRIETARY_MODULE, TAINT_FIRMWARE_WORKAROUND, TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8), LANGUAGE=en_GB:en Shell: /bin/sh linked to /usr/bin/dash Init: systemd (via /run/systemd/system) LSM: AppArmor: enabled Versions of packages systemd-boot depends on: ii libc6 2.31-13+deb11u4 pn libsystemd-shared <none> pn systemd-boot-efi <none> Versions of packages systemd-boot recommends: ii efibootmgr 17-1 systemd-boot suggests no packages.
signature.asc
Description: PGP signature