The command line options can be specified in `/etc/cmdline`,
`/etc/cmdline.d`, and on the kernel command line `/proc/cmdline`.
`/proc/cmdline` is read last and overrides options from `/etc`. There is
no way to override options from `/proc/cmdline`.
To allow overriding options from `/proc/cmdline` during boot also read
`/run/initramfs/cmdline.d`.
if [ -z "${PREFIX-}" ]; then
if ! [ -d /run/initramfs ]; then
+ mkdir -p -m 0755 /run/initramfs/cmdline.d
mkdir -p -m 0755 /run/initramfs/log
ln -sfn /run/initramfs/log /var/log
fi
local CMDLINE_ETC_D=''
local CMDLINE_ETC=''
local CMDLINE_PROC=''
+ local CMDLINE_RUN=''
unset _line
if [ -e /etc/cmdline ]; then
CMDLINE_PROC="$CMDLINE_PROC $_line"
done < /proc/cmdline
fi
- CMDLINE="$CMDLINE_ETC_D $CMDLINE_ETC $CMDLINE_PROC"
+ for _i in /run/initramfs/cmdline.d/*.conf; do
+ [ -e "$_i" ] || continue
+ while read -r _line || [ -n "$_line" ]; do
+ CMDLINE_RUN="$CMDLINE_RUN $_line"
+ done < "$_i"
+ done
+ CMDLINE="$CMDLINE_ETC_D $CMDLINE_ETC $CMDLINE_PROC $CMDLINE_RUN"
printf "%s" "$CMDLINE"
}