From a9d2581448ddb4c9cb1904dca06512aa79145f80 Mon Sep 17 00:00:00 2001
From: Jiri Konecny <jkonecny@redhat.com>
Date: Mon, 8 Feb 2021 11:26:06 +0100
Subject: [PATCH 1/3] Revert "Remove support for boot arguments without 'inst.'
prefix from Dracut (#1912502)" (#1907566)
Allow to use Anaconda kernel args in Dracut without inst. prefix to not break
beaker. Beaker needs more time for adaptation so avoid to break it for RHEL-9.
This reverts commit a45405de99a42e5af047f04b78d168b6d41fa513.
Related: rhbz#1907566
---
dracut/anaconda-diskroot | 2 +-
dracut/anaconda-ks-sendheaders.sh | 4 +--
dracut/fetch-kickstart-disk | 2 +-
dracut/kickstart-genrules.sh | 2 +-
dracut/parse-anaconda-dd.sh | 2 +-
dracut/parse-anaconda-kickstart.sh | 6 ++---
dracut/parse-anaconda-net.sh | 3 ---
dracut/parse-anaconda-options.sh | 39 ++++++++++++++----------------
dracut/parse-anaconda-repo.sh | 6 ++---
9 files changed, 30 insertions(+), 36 deletions(-)
diff --git a/dracut/anaconda-diskroot b/dracut/anaconda-diskroot
index 274849fdb3..2797e67625 100755
--- a/dracut/anaconda-diskroot
+++ b/dracut/anaconda-diskroot
@@ -39,7 +39,7 @@ run_checkisomd5() {
dev="$1"
path="$2" # optional, could be empty
-kickstart="$(getarg inst.ks=)"
+kickstart="$(getarg ks= inst.ks=)"
# Log the device that triggered this job.
debug_msg "Trying to find a root image on the device $dev."
diff --git a/dracut/anaconda-ks-sendheaders.sh b/dracut/anaconda-ks-sendheaders.sh
index a479a50667..7bc97393b8 100755
--- a/dracut/anaconda-ks-sendheaders.sh
+++ b/dracut/anaconda-ks-sendheaders.sh
@@ -5,7 +5,7 @@
command -v set_http_header >/dev/null || . /lib/url-lib.sh
# inst.ks.sendmac: send MAC addresses in HTTP headers
-if getargbool 0 inst.ks.sendmac; then
+if getargbool 0 kssendmac inst.ks.sendmac; then
ifnum=0
for ifname in /sys/class/net/*; do
[ -e "$ifname/address" ] || continue
@@ -21,7 +21,7 @@ if getargbool 0 inst.ks.sendmac; then
fi
# inst.ks.sendsn: send system serial number in HTTP headers
-if getargbool 0 inst.ks.sendsn; then
+if getargbool 0 kssendsn inst.ks.sendsn; then
system_serial=$(cat /sys/class/dmi/id/product_serial 2>/dev/null)
if [ -z "$system_serial" ]; then
warn "inst.ks.sendsn: can't find system serial number"
diff --git a/dracut/fetch-kickstart-disk b/dracut/fetch-kickstart-disk
index b1ee9f826c..7eb769ea5c 100755
--- a/dracut/fetch-kickstart-disk
+++ b/dracut/fetch-kickstart-disk
@@ -6,7 +6,7 @@ command -v getarg >/dev/null || . /lib/dracut-lib.sh
dev="$1"
path="${2:-/ks.cfg}"
-kickstart="$(getarg inst.ks=)"
+kickstart="$(getarg ks= inst.ks=)"
[ -e /tmp/ks.cfg.done ] && exit 1
[ -b "$dev" ] || exit 1
diff --git a/dracut/kickstart-genrules.sh b/dracut/kickstart-genrules.sh
index 84277890dd..8e1ba22643 100755
--- a/dracut/kickstart-genrules.sh
+++ b/dracut/kickstart-genrules.sh
@@ -28,7 +28,7 @@ case "${kickstart%%:*}" in
wait_for_kickstart
;;
"")
- if [ -z "$kickstart" -a -z "$(getarg inst.ks=)" ]; then
+ if [ -z "$kickstart" -a -z "$(getarg ks= inst.ks=)" ]; then
when_diskdev_appears $(disk_to_dev_path LABEL=OEMDRV) \
fetch-kickstart-disk \$env{DEVNAME} "/ks.cfg"
fi
diff --git a/dracut/parse-anaconda-dd.sh b/dracut/parse-anaconda-dd.sh
index 8eeceb9a49..3633d29282 100755
--- a/dracut/parse-anaconda-dd.sh
+++ b/dracut/parse-anaconda-dd.sh
@@ -11,7 +11,7 @@
rm -f /tmp/dd_interactive /tmp/dd_net /tmp/dd_disk /tmp/dd_todo
# parse any dd/inst.dd args found
-for dd in $(getargs inst.dd=); do
+for dd in $(getargs dd= inst.dd=); do
case "$dd" in
# plain 'dd'/'inst.dd': Engage interactive mode!
dd|inst.dd) echo menu > /tmp/dd_interactive ;;
diff --git a/dracut/parse-anaconda-kickstart.sh b/dracut/parse-anaconda-kickstart.sh
index 83b319dc7d..1f4f190db9 100755
--- a/dracut/parse-anaconda-kickstart.sh
+++ b/dracut/parse-anaconda-kickstart.sh
@@ -5,9 +5,9 @@
[ -f /tmp/ks.cfg.done ] && return
# inst.ks: provide a "URI" for the kickstart file
-kickstart="$(getarg inst.ks=)"
+kickstart="$(getarg ks= inst.ks=)"
if [ -z "$kickstart" ]; then
- getargbool 0 inst.ks && kickstart='nfs:auto'
+ getargbool 0 ks inst.ks && kickstart='nfs:auto'
fi
# no root? the kickstart will probably tell us what our root device is.
[ "$kickstart" ] && [ -z "$root" ] && root="anaconda-kickstart"
@@ -23,7 +23,7 @@ case "${kickstart%%:*}" in
set_neednet
;;
urls) # multiple network kickstarts?
- locations="$(getargs inst.ks=)"
+ locations="$(getargs ks= inst.ks=)"
get_urls "$locations" >/tmp/ks_urls
set_neednet
;;
diff --git a/dracut/parse-anaconda-net.sh b/dracut/parse-anaconda-net.sh
index f09ec8d098..5518546e5b 100755
--- a/dracut/parse-anaconda-net.sh
+++ b/dracut/parse-anaconda-net.sh
@@ -16,9 +16,6 @@ mac_to_bootif() {
# handle ksdevice (tell us which device to use for ip= stuff later)
export ksdevice=""
-# TODO: Remove support for ksdevice. It's deprecated a long time already
-# this should be inst.ksdevice however, this is deprecated a long time so we don't have
-# any inst.ksdevice. Let's just ignore this for now.
ksdev_val=$(getarg ksdevice=)
if [ -n "$ksdev_val" ]; then
case "$ksdev_val" in
diff --git a/dracut/parse-anaconda-options.sh b/dracut/parse-anaconda-options.sh
index debe8ac0cb..c2735b0e19 100755
--- a/dracut/parse-anaconda-options.sh
+++ b/dracut/parse-anaconda-options.sh
@@ -58,12 +58,6 @@ check_removed_arg() {
fi
}
-check_removed_no_inst_arg() {
- local removed_arg="$1" new_arg="$2"
- check_removed_arg "$removed_arg" "All usage of Anaconda boot arguments without 'inst.' prefix \
-was removed. Please use $new_arg instead."
-}
-
check_depr_args "blacklist=" "inst.blacklist=%s"
check_depr_arg "nofirewire" "inst.blacklist=firewire_ohci"
@@ -83,32 +77,35 @@ check_removed_arg askmethod "Use an appropriate 'inst.repo=' argument instead."
check_removed_arg asknetwork "Use an appropriate 'ip=' argument instead."
# lang & keymap
-check_removed_no_inst_arg "lang" "inst.lang"
-check_removed_no_inst_arg "keymap" "inst.keymap"
+warn_renamed_arg "lang" "inst.lang"
+warn_renamed_arg "keymap" "inst.keymap"
+
+# debug
+warn_renamed_arg "debug" "inst.debug"
# repo
check_depr_arg "method=" "repo=%s"
-check_removed_no_inst_arg "repo" "inst.repo"
+warn_renamed_arg "repo" "inst.repo"
# stage2
-check_removed_no_inst_arg "stage2" "inst.stage2"
+warn_renamed_arg "stage2" "inst.stage2"
# kickstart
-check_removed_no_inst_arg "ks" "inst.ks"
-check_removed_no_inst_arg "ksdevice" "inst.ks.device"
-check_removed_no_inst_arg "kssendmac" "inst.ks.sendmac"
-check_removed_no_inst_arg "kssendsn" "inst.ks.sendsn"
+warn_renamed_arg "ks" "inst.ks"
+warn_renamed_arg "ksdevice" "inst.ks.device"
+warn_renamed_arg "kssendmac" "inst.ks.sendmac"
+warn_renamed_arg "kssendsn" "inst.ks.sendsn"
# Ignore self-signed SSL certs
-check_removed_no_inst_arg "noverifyssl" "inst.noverifyssl"
-if getargbool 0 inst.noverifyssl; then
+warn_renamed_arg "noverifyssl" "inst.noverifyssl"
+if getargbool 0 noverifyssl inst.noverifyssl; then
# Tell dracut to use curl --insecure
echo "rd.noverifyssl" >> /etc/cmdline.d/75-anaconda-options.conf
fi
# updates
-check_removed_no_inst_arg "updates" "inst.updates"
-if updates=$(getarg inst.updates); then
+warn_renamed_arg "updates=" "inst.updates"
+if updates=$(getarg updates inst.updates); then
if [ -n "$updates" ]; then
export anac_updates=$updates
case $updates in
@@ -122,11 +119,11 @@ if updates=$(getarg inst.updates); then
fi
# for vnc bring network up in initramfs so that cmdline configuration is used
-check_removed_no_inst_arg "vnc" "inst.vnc"
-getargbool 0 inst.vnc && warn "anaconda requiring network for vnc" && set_neednet
+warn_renamed_arg "vnc" "inst.vnc"
+getargbool 0 vnc inst.vnc && warn "anaconda requiring network for vnc" && set_neednet
# Driver Update Disk
-check_removed_no_inst_arg "dd" "inst.dd"
+warn_renamed_arg "dd" "inst.dd"
# re-read the commandline args
unset CMDLINE
diff --git a/dracut/parse-anaconda-repo.sh b/dracut/parse-anaconda-repo.sh
index fdc937a95a..a1f96b3d98 100755
--- a/dracut/parse-anaconda-repo.sh
+++ b/dracut/parse-anaconda-repo.sh
@@ -4,8 +4,8 @@
# If there's a root= arg, we'll just use that
getarg root= >/dev/null && return
-repo="$(getarg inst.repo=)"
-stage2="$(getarg inst.stage2=)"
+repo="$(getarg repo= inst.repo=)"
+stage2="$(getarg stage2= inst.stage2=)"
arg="repo"
# default to using repo, but if we have stage2=, use that
@@ -26,7 +26,7 @@ if [ -n "$repo" ]; then
;;
urls)
root="anaconda-net:urls"
- locations="$(getargs inst.stage2=)"
+ locations="$(getargs stage2= inst.stage2=)"
get_urls "$locations" >/tmp/stage2_urls
set_neednet
;;
--
2.29.2