Add extra_boot_params boot parameters into miniboot parms
When the --param extra_boot_params argument is given, we need to parse the given boot parameters and include them in the miniboot boot options by adding them into the BOOT_ARGS_COMMON variable Example: For '--param extra_boot_params=arg1=1,arg2=two' The following is added to the miniboot kernel options: extra_boot_params=arg1=1,arg2=two arg1=1 arg2=two Where 'extra_boot_params=arg1=1,arg2=two' is required for parsing by miniboot.cfg and 'arg1=1 arg2=two' are the actual boot parameters applied during boot of the miniboot bootimage.iso. Test Plan PASS: - Verify that extra_boot_params is parsed both the 'extra_boot_params=' as well as separate miniboot kernel options (see above example) - Verify that the miniboot comes up with the kernel options in its /proc/cmdline (i.e., the initial miniboot ISO boots with the configured extra options) - Tested with the follow input: --param extra_boot_params=arg1=1,arg2=2 --param extra_boot_params=arg1=1 --param extra_boot_params=arg1 Closes-Bug: 2023407 Depends-On: https://review.opendev.org/c/starlingx/distcloud/+/885758 Signed-off-by: Kyle MacLeod <kyle.macleod@windriver.com> Change-Id: Iae094d9f7746e8d2963e137ab809376d75ad1bca
This commit is contained in:
parent
d98212da96
commit
05d5a6f917
@ -490,6 +490,27 @@ function generate_boot_cfg {
|
||||
BOOT_ARGS_COMMON="${BOOT_ARGS_COMMON} debug_kickstart"
|
||||
fi
|
||||
BOOT_ARGS_COMMON="${BOOT_ARGS_COMMON} ${PARAM_LIST}"
|
||||
|
||||
# Search the install kernel command line for the 'extra_boot_params='
|
||||
# option. If present, propagate the value into our BOOT_ARGS_COMMON, so
|
||||
# that any extra boot parameters are also provided during the boot from
|
||||
# miniboot ISO.
|
||||
# Multiple parameters can be separated by ',' here; we want to
|
||||
# split them out to be space-separated when adding to kernel arguments.
|
||||
# e.g.: for extra_boot_params=arg1=1,arg2=2, set kernel params: arg1=1 arg2=2
|
||||
local option
|
||||
for option in ${PARAM_LIST}; do
|
||||
if [ "${option%%=*}" = "extra_boot_params" ]; then
|
||||
# Do not include the 'extra_boot_params' string.
|
||||
# Strip out any commas and replace with space.
|
||||
extra_boot_params=${option#*=} # remove 'extra_boot_params='
|
||||
extra_boot_params=${extra_boot_params//,/ } # replace all ',' with ' '
|
||||
ilog "Adding extra_boot_params to BOOT_ARGS_COMMON: ${extra_boot_params}"
|
||||
BOOT_ARGS_COMMON="${BOOT_ARGS_COMMON} ${extra_boot_params}"
|
||||
break
|
||||
fi
|
||||
done
|
||||
|
||||
# Uncomment for debugging:
|
||||
#BOOT_ARGS_COMMON="${BOOT_ARGS_COMMON} instsh=2 instpost=shell"
|
||||
log_verbose "BOOT_ARGS_COMMON: $BOOT_ARGS_COMMON"
|
||||
|
Loading…
x
Reference in New Issue
Block a user