296 lines · plain
1=================================2Configuration targets and editors3=================================4 5This file contains some assistance for using ``make *config``.6 7Use ``make help`` to list all of the possible configuration targets.8 9The xconfig ('qconf'), menuconfig ('mconf'), and nconfig ('nconf')10programs also have embedded help text. Be sure to check that for11navigation, search, and other general help text.12 13The gconfig ('gconf') program has limited help text.14 15 16General17=======18 19New kernel releases often introduce new config symbols. Often more20important, new kernel releases may rename config symbols. When21this happens, using a previously working .config file and running22"make oldconfig" won't necessarily produce a working new kernel23for you, so you may find that you need to see what NEW kernel24symbols have been introduced.25 26To see a list of new config symbols, use::27 28 cp user/some/old.config .config29 make listnewconfig30 31and the config program will list any new symbols, one per line.32 33Alternatively, you can use the brute force method::34 35 make oldconfig36 scripts/diffconfig .config.old .config | less37 38 39Environment variables40=====================41 42Environment variables for ``*config``:43 44``KCONFIG_CONFIG``45 This environment variable can be used to specify a default kernel config46 file name to override the default name of ".config".47 48``KCONFIG_DEFCONFIG_LIST``49 This environment variable specifies a list of config files which can be50 used as a base configuration in case the .config does not exist yet.51 Entries in the list are separated with whitespaces to each other, and52 the first one that exists is used.53 54``KCONFIG_OVERWRITECONFIG``55 If you set KCONFIG_OVERWRITECONFIG in the environment, Kconfig will not56 break symlinks when .config is a symlink to somewhere else.57 58``KCONFIG_WARN_UNKNOWN_SYMBOLS``59 This environment variable makes Kconfig warn about all unrecognized60 symbols in the config input.61 62``KCONFIG_WERROR``63 If set, Kconfig treats warnings as errors.64 65``CONFIG_``66 If you set ``CONFIG_`` in the environment, Kconfig will prefix all symbols67 with its value when saving the configuration, instead of using the68 default, ``CONFIG_``.69 70Environment variables for ``{allyes/allmod/allno/rand}config``:71 72``KCONFIG_ALLCONFIG``73 The allyesconfig/allmodconfig/allnoconfig/randconfig variants can also74 use the environment variable KCONFIG_ALLCONFIG as a flag or a filename75 that contains config symbols that the user requires to be set to a76 specific value. If KCONFIG_ALLCONFIG is used without a filename where77 KCONFIG_ALLCONFIG == "" or KCONFIG_ALLCONFIG == "1", ``make *config``78 checks for a file named "all{yes/mod/no/def/random}.config"79 (corresponding to the ``*config`` command that was used) for symbol values80 that are to be forced. If this file is not found, it checks for a81 file named "all.config" to contain forced values.82 83 This enables you to create "miniature" config (miniconfig) or custom84 config files containing just the config symbols that you are interested85 in. Then the kernel config system generates the full .config file,86 including symbols of your miniconfig file.87 88 This ``KCONFIG_ALLCONFIG`` file is a config file which contains89 (usually a subset of all) preset config symbols. These variable90 settings are still subject to normal dependency checks.91 92 Examples::93 94 KCONFIG_ALLCONFIG=custom-notebook.config make allnoconfig95 96 or::97 98 KCONFIG_ALLCONFIG=mini.config make allnoconfig99 100 or::101 102 make KCONFIG_ALLCONFIG=mini.config allnoconfig103 104 These examples will disable most options (allnoconfig) but enable or105 disable the options that are explicitly listed in the specified106 mini-config files.107 108Environment variables for ``randconfig``:109 110``KCONFIG_SEED``111 You can set this to the integer value used to seed the RNG, if you want112 to somehow debug the behaviour of the kconfig parser/frontends.113 If not set, the current time will be used.114 115``KCONFIG_PROBABILITY``116 This variable can be used to skew the probabilities. This variable can117 be unset or empty, or set to three different formats:118 119 ======================= ================== =====================120 KCONFIG_PROBABILITY y:n split y:m:n split121 ======================= ================== =====================122 unset or empty 50 : 50 33 : 33 : 34123 N N : 100-N N/2 : N/2 : 100-N124 [1] N:M N+M : 100-(N+M) N : M : 100-(N+M)125 [2] N:M:L N : 100-N M : L : 100-(M+L)126 ======================= ================== =====================127 128where N, M and L are integers (in base 10) in the range [0,100], and so129that:130 131 [1] N+M is in the range [0,100]132 133 [2] M+L is in the range [0,100]134 135Examples::136 137 KCONFIG_PROBABILITY=10138 10% of booleans will be set to 'y', 90% to 'n'139 5% of tristates will be set to 'y', 5% to 'm', 90% to 'n'140 KCONFIG_PROBABILITY=15:25141 40% of booleans will be set to 'y', 60% to 'n'142 15% of tristates will be set to 'y', 25% to 'm', 60% to 'n'143 KCONFIG_PROBABILITY=10:15:15144 10% of booleans will be set to 'y', 90% to 'n'145 15% of tristates will be set to 'y', 15% to 'm', 70% to 'n'146 147Environment variables for ``syncconfig``:148 149``KCONFIG_NOSILENTUPDATE``150 If this variable has a non-blank value, it prevents silent kernel151 config updates (requires explicit updates).152 153``KCONFIG_AUTOCONFIG``154 This environment variable can be set to specify the path & name of the155 "auto.conf" file. Its default value is "include/config/auto.conf".156 157``KCONFIG_AUTOHEADER``158 This environment variable can be set to specify the path & name of the159 "autoconf.h" (header) file.160 Its default value is "include/generated/autoconf.h".161 162 163menuconfig164==========165 166Searching in menuconfig:167 168 The Search function searches for kernel configuration symbol169 names, so you have to know something close to what you are170 looking for.171 172 Example::173 174 /hotplug175 This lists all config symbols that contain "hotplug",176 e.g., HOTPLUG_CPU, MEMORY_HOTPLUG.177 178 For search help, enter / followed by TAB-TAB (to highlight179 <Help>) and Enter. This will tell you that you can also use180 regular expressions (regexes) in the search string, so if you181 are not interested in MEMORY_HOTPLUG, you could try::182 183 /^hotplug184 185 When searching, symbols are sorted thus:186 187 - first, exact matches, sorted alphabetically (an exact match188 is when the search matches the complete symbol name);189 - then, other matches, sorted alphabetically.190 191 For example, ^ATH.K matches:192 193 ATH5K ATH9K ATH5K_AHB ATH5K_DEBUG [...] ATH6KL ATH6KL_DEBUG194 [...] ATH9K_AHB ATH9K_BTCOEX_SUPPORT ATH9K_COMMON [...]195 196 of which only ATH5K and ATH9K match exactly and so are sorted197 first (and in alphabetical order), then come all other symbols,198 sorted in alphabetical order.199 200 In this menu, pressing the key in the (#) prefix will jump201 directly to that location. You will be returned to the current202 search results after exiting this new menu.203 204User interface options for 'menuconfig':205 206``MENUCONFIG_COLOR``207 It is possible to select different color themes using the variable208 MENUCONFIG_COLOR. To select a theme use::209 210 make MENUCONFIG_COLOR=<theme> menuconfig211 212 Available themes are::213 214 - mono => selects colors suitable for monochrome displays215 - blackbg => selects a color scheme with black background216 - classic => theme with blue background. The classic look217 - bluetitle => a LCD friendly version of classic. (default)218 219``MENUCONFIG_MODE``220 This mode shows all sub-menus in one large tree.221 222 Example::223 224 make MENUCONFIG_MODE=single_menu menuconfig225 226 227nconfig228=======229 230nconfig is an alternate text-based configurator. It lists function231keys across the bottom of the terminal (window) that execute commands.232You can also just use the corresponding numeric key to execute the233commands unless you are in a data entry window. E.g., instead of F6234for Save, you can just press 6.235 236Use F1 for Global help or F3 for the Short help menu.237 238Searching in nconfig:239 240 You can search either in the menu entry "prompt" strings241 or in the configuration symbols.242 243 Use / to begin a search through the menu entries. This does244 not support regular expressions. Use <Down> or <Up> for245 Next hit and Previous hit, respectively. Use <Esc> to246 terminate the search mode.247 248 F8 (SymSearch) searches the configuration symbols for the249 given string or regular expression (regex).250 251 In the SymSearch, pressing the key in the (#) prefix will252 jump directly to that location. You will be returned to the253 current search results after exiting this new menu.254 255Environment variables:256 257``NCONFIG_MODE``258 This mode shows all sub-menus in one large tree.259 260 Example::261 262 make NCONFIG_MODE=single_menu nconfig263 264 265xconfig266=======267 268Searching in xconfig:269 270 The Search function searches for kernel configuration symbol271 names, so you have to know something close to what you are272 looking for.273 274 Example::275 276 Ctrl-F hotplug277 278 or::279 280 Menu: File, Search, hotplug281 282 lists all config symbol entries that contain "hotplug" in283 the symbol name. In this Search dialog, you may change the284 config setting for any of the entries that are not grayed out.285 You can also enter a different search string without having286 to return to the main menu.287 288 289gconfig290=======291 292Searching in gconfig:293 294 There is no search command in gconfig. However, gconfig does295 have several different viewing choices, modes, and options.296