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