[PATCH] merge_config.sh: Add option for allmodconfig

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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




[Index of Archives]     [Linux&nblp;USB Development]     [Linux Media]     [Video for Linux]     [Linux Audio Users]     [Yosemite Secrets]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux