]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
kernel-install: Only read cmdline from /proc/cmdline when not in container
authorDaan De Meyer <daan.j.demeyer@gmail.com>
Mon, 29 Jul 2024 15:13:28 +0000 (17:13 +0200)
committerDaan De Meyer <daan.j.demeyer@gmail.com>
Mon, 29 Jul 2024 16:56:30 +0000 (18:56 +0200)
If we're running from within a container, we're very likely not going
to want to use the kernel command line from /proc/cmdline, so let's add
a check to see if we're running from a container to decide whether we'll
use the kernel command line from /proc/cmdline.

src/kernel-install/90-loaderentry.install.in

index 4ef6aca169c1a70fcc879f236d51b29be0bf269c..79427684cc5c96e4481345c30f06ff92eedad533 100755 (executable)
@@ -79,8 +79,10 @@ elif [ -f /etc/kernel/cmdline ]; then
     BOOT_OPTIONS="$(tr -s "$IFS" ' ' </etc/kernel/cmdline)"
 elif [ -f /usr/lib/kernel/cmdline ]; then
     BOOT_OPTIONS="$(tr -s "$IFS" ' ' </usr/lib/kernel/cmdline)"
-else
+elif ! systemd-detect-virt --container --quiet; then
     BOOT_OPTIONS="$(tr -s "$IFS" '\n' </proc/cmdline | grep -ve '^BOOT_IMAGE=' -e '^initrd=' | tr '\n' ' ')"
+else
+    BOOT_OPTIONS=""
 fi
 
 BOOT_OPTIONS="${BOOT_OPTIONS% }"
@@ -194,7 +196,7 @@ mkdir -p "${LOADER_ENTRY%/*}" || {
         echo "machine-id $MACHINE_ID"
     fi
     [ -n "$SORT_KEY" ] && echo "sort-key   $SORT_KEY"
-    echo "options    $BOOT_OPTIONS"
+    [ -n "$BOOT_OPTIONS" ] && echo "options    $BOOT_OPTIONS"
     echo "linux      $KERNEL_ENTRY"
     [ -n "$DEVICETREE_ENTRY" ] && echo "devicetree $DEVICETREE_ENTRY"