Blame 0088-99base-dracut-lib.sh-add-etc-cmdline-.conf-parsing.patch

Harald Hoyer 8a8033
From c2801d093829e3b87ec4c6d7054b43bad4bd59ad Mon Sep 17 00:00:00 2001
Harald Hoyer 8a8033
From: Harald Hoyer <harald@redhat.com>
Harald Hoyer 8a8033
Date: Thu, 20 Oct 2011 11:14:10 +0200
Harald Hoyer 8a8033
Subject: [PATCH] 99base/dracut-lib.sh: add /etc/cmdline/*.conf parsing
Harald Hoyer 8a8033
Harald Hoyer 8a8033
modules and overlay images can set default kernel command line
Harald Hoyer 8a8033
parameters in /etc/cmdline/*.conf in the initramfs.
Harald Hoyer 8a8033
---
Harald Hoyer 8a8033
 dracut.kernel.7.xml            |    8 ++++++++
Harald Hoyer 8a8033
 modules.d/99base/dracut-lib.sh |    9 ++++++++-
Harald Hoyer 8a8033
 2 files changed, 16 insertions(+), 1 deletions(-)
Harald Hoyer 8a8033
Harald Hoyer 8a8033
diff --git a/dracut.kernel.7.xml b/dracut.kernel.7.xml
Harald Hoyer 8a8033
index 8d50d94..2ba0570 100644
Harald Hoyer 8a8033
--- a/dracut.kernel.7.xml
Harald Hoyer 8a8033
+++ b/dracut.kernel.7.xml
Harald Hoyer 8a8033
@@ -1268,6 +1268,14 @@ set in the configuration files.</para>
Harald Hoyer 8a8033
           <para>Can contain additional command line options.</para>
Harald Hoyer 8a8033
         </listitem>
Harald Hoyer 8a8033
       </varlistentry>
Harald Hoyer 8a8033
+      <varlistentry>
Harald Hoyer 8a8033
+        <term>
Harald Hoyer 8a8033
+          <filename>/etc/cmdline.d/*.conf</filename>
Harald Hoyer 8a8033
+        </term>
Harald Hoyer 8a8033
+        <listitem>
Harald Hoyer 8a8033
+          <para>Can contain additional command line options.</para>
Harald Hoyer 8a8033
+        </listitem>
Harald Hoyer 8a8033
+      </varlistentry>
Harald Hoyer 8a8033
     </variablelist>
Harald Hoyer 8a8033
   </refsect1>
Harald Hoyer 8a8033
   <refsect1>
Harald Hoyer 8a8033
diff --git a/modules.d/99base/dracut-lib.sh b/modules.d/99base/dracut-lib.sh
Harald Hoyer 8a8033
index 2cfaf93..8d294ee 100755
Harald Hoyer 8a8033
--- a/modules.d/99base/dracut-lib.sh
Harald Hoyer 8a8033
+++ b/modules.d/99base/dracut-lib.sh
Harald Hoyer 8a8033
@@ -32,6 +32,7 @@ str_replace() {
Harald Hoyer 8a8033
 
Harald Hoyer 8a8033
 _getcmdline() {
Harald Hoyer 8a8033
     local _line
Harald Hoyer 8a8033
+    local _i
Harald Hoyer 8a8033
     unset _line
Harald Hoyer 8a8033
     if [ -z "$CMDLINE" ]; then
Harald Hoyer 8a8033
         if [ -e /etc/cmdline ]; then
Harald Hoyer 8a8033
@@ -39,8 +40,14 @@ _getcmdline() {
Harald Hoyer 8a8033
                 CMDLINE_ETC="$CMDLINE_ETC $_line";
Harald Hoyer 8a8033
             done 
Harald Hoyer 8a8033
         fi
Harald Hoyer 8a8033
+        for _i in /etc/cmdline.d/*.conf; do
Harald Hoyer 8a8033
+            [ -e "$_i" ] || continue
Harald Hoyer 8a8033
+            while read -r _line; do
Harald Hoyer 8a8033
+                CMDLINE_ETC_D="$CMDLINE_ETC_D $_line";
Harald Hoyer 8a8033
+            done <"$_i";
Harald Hoyer 8a8033
+        done
Harald Hoyer 8a8033
         read -r CMDLINE 
Harald Hoyer 8a8033
-        CMDLINE="$CMDLINE $CMDLINE_ETC"
Harald Hoyer 8a8033
+        CMDLINE="$CMDLINE_ETC_D $CMDLINE_ETC $CMDLINE"
Harald Hoyer 8a8033
     fi
Harald Hoyer 8a8033
 }
Harald Hoyer 8a8033