chiark / gitweb /
kernel-install/90-loaderentry.install: fixed cmdline parsing
authorHarald Hoyer <harald@redhat.com>
Fri, 15 Aug 2014 12:39:05 +0000 (14:39 +0200)
committerHarald Hoyer <harald@redhat.com>
Fri, 15 Aug 2014 12:41:50 +0000 (14:41 +0200)
If /etc/kernel/cmdline is missing or empty, we read /proc/cmdline and
want to filter out the initrd line. Due to a bug, the whole contents was
filtered out.

src/kernel-install/90-loaderentry.install

index c17b8a9..6f032b5 100644 (file)
@@ -47,11 +47,10 @@ if [[ -f /etc/kernel/cmdline ]]; then
 fi
 
 if ! [[ ${BOOT_OPTIONS[*]} ]]; then
-    readarray -t line < /proc/cmdline
-    for i in ${line[*]}; do
-        if [[ "${i#initrd=*}" == "$i" ]]; then
-            BOOT_OPTIONS[${#BOOT_OPTIONS[@]}]="$i"
-        fi
+    read -ar line < /proc/cmdline
+    for i in "${line[@]}"; do
+        [[ "${i#initrd=*}" != "$i" ]] && continue
+        BOOT_OPTIONS[${#BOOT_OPTIONS[@]}]="$i"
     done
 fi