Recently there has been some work in reporting and fixing bugs in booting an allmodconfig kernel - here are a few examples: https://lore.kernel.org/linux-edac/304df85b-8b56-b77e-1a11-aa23769f2e7c@xxxxxxxxxx/T/#t https://lore.kernel.org/linux-ide/bdf02e03-86a1-3d35-2908-28187f504495@xxxxxxxxxx/T/#t https://lore.kernel.org/netdev/CADYN=9LCPfbpwdTWKw03B22-y3Text=RWXW7XP7wJBHYsMOgrA@xxxxxxxxxxxxxx/ https://sourceforge.net/p/openipmi/mailman/message/36871567/ If we want to boot an allmodconfig kernel we may still want to force some loadable modules built-in, like UART drivers. Or just still turn off some configs. So add an option to add add fragments to an allmodconfig kernel. Signed-off-by: John Garry <john.garry@xxxxxxxxxx> diff --git a/scripts/kconfig/merge_config.sh b/scripts/kconfig/merge_config.sh index 63c8565206a4..01697fb6dfbe 100755 --- a/scripts/kconfig/merge_config.sh +++ b/scripts/kconfig/merge_config.sh @@ -23,6 +23,7 @@ clean_up() { usage() { echo "Usage: $0 [OPTIONS] [CONFIG [...]]" echo " -h display this help text" + echo " -a use allmodconfig instead of alldefconfig" echo " -m only merge the fragments, do not execute the make command" echo " -n use allnoconfig instead of alldefconfig" echo " -r list redundant entries when merging fragments" @@ -41,6 +42,11 @@ CONFIG_PREFIX=${CONFIG_-CONFIG_} while true; do case $1 in + "-a") + ALLTARGET=allmodconfig + shift + continue + ;; "-n") ALLTARGET=allnoconfig shift @@ -171,6 +177,7 @@ fi # Use the merged file as the starting point for: # alldefconfig: Fills in any missing symbols with Kconfig default +# allmodconfig: Fills in any missing symbols with =m when loadable # allnoconfig: Fills in any missing symbols with # CONFIG_* is not set make KCONFIG_ALLCONFIG=$TMP_FILE $OUTPUT_ARG $ALLTARGET -- 2.17.1