| =================== | 
 | Kconfig make config | 
 | =================== | 
 |  | 
 | This file contains some assistance for using `make *config`. | 
 |  | 
 | Use "make help" to list all of the possible configuration targets. | 
 |  | 
 | The xconfig ('qconf'), menuconfig ('mconf'), and nconfig ('nconf') | 
 | programs also have embedded help text.  Be sure to check that for | 
 | navigation, search, and other general help text. | 
 |  | 
 | General | 
 | ------- | 
 |  | 
 | New kernel releases often introduce new config symbols.  Often more | 
 | important, new kernel releases may rename config symbols.  When | 
 | this happens, using a previously working .config file and running | 
 | "make oldconfig" won't necessarily produce a working new kernel | 
 | for you, so you may find that you need to see what NEW kernel | 
 | symbols have been introduced. | 
 |  | 
 | To see a list of new config symbols, use:: | 
 |  | 
 | 	cp user/some/old.config .config | 
 | 	make listnewconfig | 
 |  | 
 | and the config program will list any new symbols, one per line. | 
 |  | 
 | Alternatively, you can use the brute force method:: | 
 |  | 
 | 	make oldconfig | 
 | 	scripts/diffconfig .config.old .config | less | 
 |  | 
 | ---------------------------------------------------------------------- | 
 |  | 
 | Environment variables for `*config` | 
 |  | 
 | KCONFIG_CONFIG | 
 | -------------- | 
 | This environment variable can be used to specify a default kernel config | 
 | file name to override the default name of ".config". | 
 |  | 
 | KCONFIG_DEFCONFIG_LIST | 
 | ---------------------- | 
 |  | 
 | This environment variable specifies a list of config files which can be used | 
 | as a base configuration in case the .config does not exist yet. Entries in | 
 | the list are separated with whitespaces to each other, and the first one | 
 | that exists is used. | 
 |  | 
 | KCONFIG_OVERWRITECONFIG | 
 | ----------------------- | 
 | If you set KCONFIG_OVERWRITECONFIG in the environment, Kconfig will not | 
 | break symlinks when .config is a symlink to somewhere else. | 
 |  | 
 | `CONFIG_` | 
 | --------- | 
 | If you set `CONFIG_` in the environment, Kconfig will prefix all symbols | 
 | with its value when saving the configuration, instead of using the default, | 
 | `CONFIG_`. | 
 |  | 
 | ---------------------------------------------------------------------- | 
 |  | 
 | Environment variables for '{allyes/allmod/allno/rand}config' | 
 |  | 
 | KCONFIG_ALLCONFIG | 
 | ----------------- | 
 | (partially based on lkml email from/by Rob Landley, re: miniconfig) | 
 |  | 
 | -------------------------------------------------- | 
 |  | 
 | The allyesconfig/allmodconfig/allnoconfig/randconfig variants can also | 
 | use the environment variable KCONFIG_ALLCONFIG as a flag or a filename | 
 | that contains config symbols that the user requires to be set to a | 
 | specific value.  If KCONFIG_ALLCONFIG is used without a filename where | 
 | KCONFIG_ALLCONFIG == "" or KCONFIG_ALLCONFIG == "1", `make *config` | 
 | checks for a file named "all{yes/mod/no/def/random}.config" | 
 | (corresponding to the `*config` command that was used) for symbol values | 
 | that are to be forced.  If this file is not found, it checks for a | 
 | file named "all.config" to contain forced values. | 
 |  | 
 | This enables you to create "miniature" config (miniconfig) or custom | 
 | config files containing just the config symbols that you are interested | 
 | in.  Then the kernel config system generates the full .config file, | 
 | including symbols of your miniconfig file. | 
 |  | 
 | This 'KCONFIG_ALLCONFIG' file is a config file which contains | 
 | (usually a subset of all) preset config symbols.  These variable | 
 | settings are still subject to normal dependency checks. | 
 |  | 
 | Examples:: | 
 |  | 
 | 	KCONFIG_ALLCONFIG=custom-notebook.config make allnoconfig | 
 |  | 
 | or:: | 
 |  | 
 | 	KCONFIG_ALLCONFIG=mini.config make allnoconfig | 
 |  | 
 | or:: | 
 |  | 
 | 	make KCONFIG_ALLCONFIG=mini.config allnoconfig | 
 |  | 
 | These examples will disable most options (allnoconfig) but enable or | 
 | disable the options that are explicitly listed in the specified | 
 | mini-config files. | 
 |  | 
 | ---------------------------------------------------------------------- | 
 |  | 
 | Environment variables for 'randconfig' | 
 |  | 
 | KCONFIG_SEED | 
 | ------------ | 
 | You can set this to the integer value used to seed the RNG, if you want | 
 | to somehow debug the behaviour of the kconfig parser/frontends. | 
 | If not set, the current time will be used. | 
 |  | 
 | KCONFIG_PROBABILITY | 
 | ------------------- | 
 | This variable can be used to skew the probabilities. This variable can | 
 | be unset or empty, or set to three different formats: | 
 |  | 
 |     =======================     ==================  ===================== | 
 | 	KCONFIG_PROBABILITY     y:n split           y:m:n split | 
 |     =======================     ==================  ===================== | 
 | 	unset or empty          50  : 50            33  : 33  : 34 | 
 | 	N                        N  : 100-N         N/2 : N/2 : 100-N | 
 |     [1] N:M                     N+M : 100-(N+M)      N  :  M  : 100-(N+M) | 
 |     [2] N:M:L                    N  : 100-N          M  :  L  : 100-(M+L) | 
 |     =======================     ==================  ===================== | 
 |  | 
 | where N, M and L are integers (in base 10) in the range [0,100], and so | 
 | that: | 
 |  | 
 |     [1] N+M is in the range [0,100] | 
 |  | 
 |     [2] M+L is in the range [0,100] | 
 |  | 
 | Examples:: | 
 |  | 
 | 	KCONFIG_PROBABILITY=10 | 
 | 		10% of booleans will be set to 'y', 90% to 'n' | 
 | 		5% of tristates will be set to 'y', 5% to 'm', 90% to 'n' | 
 | 	KCONFIG_PROBABILITY=15:25 | 
 | 		40% of booleans will be set to 'y', 60% to 'n' | 
 | 		15% of tristates will be set to 'y', 25% to 'm', 60% to 'n' | 
 | 	KCONFIG_PROBABILITY=10:15:15 | 
 | 		10% of booleans will be set to 'y', 90% to 'n' | 
 | 		15% of tristates will be set to 'y', 15% to 'm', 70% to 'n' | 
 |  | 
 | ---------------------------------------------------------------------- | 
 |  | 
 | Environment variables for 'syncconfig' | 
 |  | 
 | KCONFIG_NOSILENTUPDATE | 
 | ---------------------- | 
 | If this variable has a non-blank value, it prevents silent kernel | 
 | config updates (requires explicit updates). | 
 |  | 
 | KCONFIG_AUTOCONFIG | 
 | ------------------ | 
 | This environment variable can be set to specify the path & name of the | 
 | "auto.conf" file.  Its default value is "include/config/auto.conf". | 
 |  | 
 | KCONFIG_AUTOHEADER | 
 | ------------------ | 
 | This environment variable can be set to specify the path & name of the | 
 | "autoconf.h" (header) file. | 
 | Its default value is "include/generated/autoconf.h". | 
 |  | 
 |  | 
 | ---------------------------------------------------------------------- | 
 |  | 
 | menuconfig | 
 | ---------- | 
 |  | 
 | SEARCHING for CONFIG symbols | 
 |  | 
 | Searching in menuconfig: | 
 |  | 
 | 	The Search function searches for kernel configuration symbol | 
 | 	names, so you have to know something close to what you are | 
 | 	looking for. | 
 |  | 
 | 	Example:: | 
 |  | 
 | 		/hotplug | 
 | 		This lists all config symbols that contain "hotplug", | 
 | 		e.g., HOTPLUG_CPU, MEMORY_HOTPLUG. | 
 |  | 
 | 	For search help, enter / followed by TAB-TAB (to highlight | 
 | 	<Help>) and Enter.  This will tell you that you can also use | 
 | 	regular expressions (regexes) in the search string, so if you | 
 | 	are not interested in MEMORY_HOTPLUG, you could try:: | 
 |  | 
 | 		/^hotplug | 
 |  | 
 | 	When searching, symbols are sorted thus: | 
 |  | 
 | 	  - first, exact matches, sorted alphabetically (an exact match | 
 | 	    is when the search matches the complete symbol name); | 
 | 	  - then, other matches, sorted alphabetically. | 
 |  | 
 | 	For example: ^ATH.K matches: | 
 |  | 
 | 	    ATH5K ATH9K ATH5K_AHB ATH5K_DEBUG [...] ATH6KL ATH6KL_DEBUG | 
 | 	    [...] ATH9K_AHB ATH9K_BTCOEX_SUPPORT ATH9K_COMMON [...] | 
 |  | 
 | 	of which only ATH5K and ATH9K match exactly and so are sorted | 
 | 	first (and in alphabetical order), then come all other symbols, | 
 | 	sorted in alphabetical order. | 
 |  | 
 | ---------------------------------------------------------------------- | 
 |  | 
 | User interface options for 'menuconfig' | 
 |  | 
 | MENUCONFIG_COLOR | 
 | ---------------- | 
 | It is possible to select different color themes using the variable | 
 | MENUCONFIG_COLOR.  To select a theme use:: | 
 |  | 
 | 	make MENUCONFIG_COLOR=<theme> menuconfig | 
 |  | 
 | Available themes are:: | 
 |  | 
 |   - mono       => selects colors suitable for monochrome displays | 
 |   - blackbg    => selects a color scheme with black background | 
 |   - classic    => theme with blue background. The classic look | 
 |   - bluetitle  => a LCD friendly version of classic. (default) | 
 |  | 
 | MENUCONFIG_MODE | 
 | --------------- | 
 | This mode shows all sub-menus in one large tree. | 
 |  | 
 | Example:: | 
 |  | 
 | 	make MENUCONFIG_MODE=single_menu menuconfig | 
 |  | 
 | ---------------------------------------------------------------------- | 
 |  | 
 | nconfig | 
 | ------- | 
 |  | 
 | nconfig is an alternate text-based configurator.  It lists function | 
 | keys across the bottom of the terminal (window) that execute commands. | 
 | You can also just use the corresponding numeric key to execute the | 
 | commands unless you are in a data entry window.  E.g., instead of F6 | 
 | for Save, you can just press 6. | 
 |  | 
 | Use F1 for Global help or F3 for the Short help menu. | 
 |  | 
 | Searching in nconfig: | 
 |  | 
 | 	You can search either in the menu entry "prompt" strings | 
 | 	or in the configuration symbols. | 
 |  | 
 | 	Use / to begin a search through the menu entries.  This does | 
 | 	not support regular expressions.  Use <Down> or <Up> for | 
 | 	Next hit and Previous hit, respectively.  Use <Esc> to | 
 | 	terminate the search mode. | 
 |  | 
 | 	F8 (SymSearch) searches the configuration symbols for the | 
 | 	given string or regular expression (regex). | 
 |  | 
 | NCONFIG_MODE | 
 | ------------ | 
 | This mode shows all sub-menus in one large tree. | 
 |  | 
 | Example:: | 
 |  | 
 | 	make NCONFIG_MODE=single_menu nconfig | 
 |  | 
 | ---------------------------------------------------------------------- | 
 |  | 
 | xconfig | 
 | ------- | 
 |  | 
 | Searching in xconfig: | 
 |  | 
 | 	The Search function searches for kernel configuration symbol | 
 | 	names, so you have to know something close to what you are | 
 | 	looking for. | 
 |  | 
 | 	Example:: | 
 |  | 
 | 		Ctrl-F hotplug | 
 |  | 
 | 	or:: | 
 |  | 
 | 		Menu: File, Search, hotplug | 
 |  | 
 | 	lists all config symbol entries that contain "hotplug" in | 
 | 	the symbol name.  In this Search dialog, you may change the | 
 | 	config setting for any of the entries that are not grayed out. | 
 | 	You can also enter a different search string without having | 
 | 	to return to the main menu. | 
 |  | 
 |  | 
 | ---------------------------------------------------------------------- | 
 |  | 
 | gconfig | 
 | ------- | 
 |  | 
 | Searching in gconfig: | 
 |  | 
 | 	There is no search command in gconfig.  However, gconfig does | 
 | 	have several different viewing choices, modes, and options. |