From: Luca Boccassi Date: Wed, 8 Mar 2023 21:25:25 +0000 (+0000) Subject: Merge pull request #26119 from kraxel/uki.install X-Git-Tag: v254-rc1~1088 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=25a45b0dd1a3d81a0b398ba112e298116179a86f;p=thirdparty%2Fsystemd.git Merge pull request #26119 from kraxel/uki.install kernel-install: improve uki handling --- 25a45b0dd1a3d81a0b398ba112e298116179a86f diff --cc src/kernel-install/kernel-install.in index c722dc0f77e,25884fc0e23..2c59648afc1 --- a/src/kernel-install/kernel-install.in +++ b/src/kernel-install/kernel-install.in @@@ -265,13 -246,22 +265,21 @@@ f if [ -z "$ENTRY_TOKEN" ]; then ENTRY_TOKEN="$MACHINE_ID" - [ "$KERNEL_INSTALL_VERBOSE" -gt 0 ] && \ - echo "No entry-token candidate matched, using \"$ENTRY_TOKEN\" from machine-id" + log_verbose "No entry-token candidate matched, using \"$ENTRY_TOKEN\" from machine-id" fi - if [ -z "$layout" ]; then + export KERNEL_INSTALL_IMAGE_TYPE="" + if [ -f "$1" ]; then + KERNEL_INSTALL_IMAGE_TYPE="$(bootctl kernel-identify "$1" 2>/dev/null || echo "unknown")" + fi + + if [ "$layout" = "auto" ] || [ -z "$layout" ]; then # No layout configured by the administrator. Let's try to figure it out # automatically from metadata already contained in $BOOT_ROOT. - if [ -e "$BOOT_ROOT/loader/entries.srel" ]; then + if [ "$KERNEL_INSTALL_IMAGE_TYPE" = "uki" ]; then + layout="uki" + log_verbose "Kernel image is UKI, using layout=$layout" + elif [ -e "$BOOT_ROOT/loader/entries.srel" ]; then read -r ENTRIES_SREL <"$BOOT_ROOT/loader/entries.srel" if [ "$ENTRIES_SREL" = "type1" ]; then # The loader/entries.srel file clearly indicates that the installed