1=================== 2Kconfig make config 3=================== 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 for 11navigation, search, and other general help text. 12 13The gconfig ('gconf') program has limited help text. 14 15General 16------- 17 18New kernel releases often introduce new config symbols. Often more 19important, new kernel releases may rename config symbols. When 20this happens, using a previously working .config file and running 21"make oldconfig" won't necessarily produce a working new kernel 22for you, so you may find that you need to see what NEW kernel 23symbols have been introduced. 24 25To see a list of new config symbols, use:: 26 27 cp user/some/old.config .config 28 make listnewconfig 29 30and the config program will list any new symbols, one per line. 31 32Alternatively, you can use the brute force method:: 33 34 make oldconfig 35 scripts/diffconfig .config.old .config | less 36 37---------------------------------------------------------------------- 38 39Environment variables for `*config` 40 41KCONFIG_CONFIG 42-------------- 43This environment variable can be used to specify a default kernel config 44file name to override the default name of ".config". 45 46KCONFIG_DEFCONFIG_LIST 47---------------------- 48 49This environment variable specifies a list of config files which can be used 50as a base configuration in case the .config does not exist yet. Entries in 51the list are separated with whitespaces to each other, and the first one 52that exists is used. 53 54KCONFIG_OVERWRITECONFIG 55----------------------- 56If you set KCONFIG_OVERWRITECONFIG in the environment, Kconfig will not 57break symlinks when .config is a symlink to somewhere else. 58 59KCONFIG_WARN_UNKNOWN_SYMBOLS 60---------------------------- 61This environment variable makes Kconfig warn about all unrecognized 62symbols in the config input. 63 64KCONFIG_WERROR 65-------------- 66If set, Kconfig treats warnings as errors. 67 68`CONFIG_` 69--------- 70If you set `CONFIG_` in the environment, Kconfig will prefix all symbols 71with its value when saving the configuration, instead of using the default, 72`CONFIG_`. 73 74---------------------------------------------------------------------- 75 76Environment variables for '{allyes/allmod/allno/rand}config' 77 78KCONFIG_ALLCONFIG 79----------------- 80(partially based on lkml email from/by Rob Landley, re: miniconfig) 81 82-------------------------------------------------- 83 84The allyesconfig/allmodconfig/allnoconfig/randconfig variants can also 85use the environment variable KCONFIG_ALLCONFIG as a flag or a filename 86that contains config symbols that the user requires to be set to a 87specific value. If KCONFIG_ALLCONFIG is used without a filename where 88KCONFIG_ALLCONFIG == "" or KCONFIG_ALLCONFIG == "1", `make *config` 89checks for a file named "all{yes/mod/no/def/random}.config" 90(corresponding to the `*config` command that was used) for symbol values 91that are to be forced. If this file is not found, it checks for a 92file named "all.config" to contain forced values. 93 94This enables you to create "miniature" config (miniconfig) or custom 95config files containing just the config symbols that you are interested 96in. Then the kernel config system generates the full .config file, 97including symbols of your miniconfig file. 98 99This 'KCONFIG_ALLCONFIG' file is a config file which contains 100(usually a subset of all) preset config symbols. These variable 101settings are still subject to normal dependency checks. 102 103Examples:: 104 105 KCONFIG_ALLCONFIG=custom-notebook.config make allnoconfig 106 107or:: 108 109 KCONFIG_ALLCONFIG=mini.config make allnoconfig 110 111or:: 112 113 make KCONFIG_ALLCONFIG=mini.config allnoconfig 114 115These examples will disable most options (allnoconfig) but enable or 116disable the options that are explicitly listed in the specified 117mini-config files. 118 119---------------------------------------------------------------------- 120 121Environment variables for 'randconfig' 122 123KCONFIG_SEED 124------------ 125You can set this to the integer value used to seed the RNG, if you want 126to somehow debug the behaviour of the kconfig parser/frontends. 127If not set, the current time will be used. 128 129KCONFIG_PROBABILITY 130------------------- 131This variable can be used to skew the probabilities. This variable can 132be unset or empty, or set to three different formats: 133 134 ======================= ================== ===================== 135 KCONFIG_PROBABILITY y:n split y:m:n split 136 ======================= ================== ===================== 137 unset or empty 50 : 50 33 : 33 : 34 138 N N : 100-N N/2 : N/2 : 100-N 139 [1] N:M N+M : 100-(N+M) N : M : 100-(N+M) 140 [2] N:M:L N : 100-N M : L : 100-(M+L) 141 ======================= ================== ===================== 142 143where N, M and L are integers (in base 10) in the range [0,100], and so 144that: 145 146 [1] N+M is in the range [0,100] 147 148 [2] M+L is in the range [0,100] 149 150Examples:: 151 152 KCONFIG_PROBABILITY=10 153 10% of booleans will be set to 'y', 90% to 'n' 154 5% of tristates will be set to 'y', 5% to 'm', 90% to 'n' 155 KCONFIG_PROBABILITY=15:25 156 40% of booleans will be set to 'y', 60% to 'n' 157 15% of tristates will be set to 'y', 25% to 'm', 60% to 'n' 158 KCONFIG_PROBABILITY=10:15:15 159 10% of booleans will be set to 'y', 90% to 'n' 160 15% of tristates will be set to 'y', 15% to 'm', 70% to 'n' 161 162---------------------------------------------------------------------- 163 164Environment variables for 'syncconfig' 165 166KCONFIG_NOSILENTUPDATE 167---------------------- 168If this variable has a non-blank value, it prevents silent kernel 169config updates (requires explicit updates). 170 171KCONFIG_AUTOCONFIG 172------------------ 173This environment variable can be set to specify the path & name of the 174"auto.conf" file. Its default value is "include/config/auto.conf". 175 176KCONFIG_AUTOHEADER 177------------------ 178This environment variable can be set to specify the path & name of the 179"autoconf.h" (header) file. 180Its default value is "include/generated/autoconf.h". 181 182 183---------------------------------------------------------------------- 184 185menuconfig 186---------- 187 188SEARCHING for CONFIG symbols 189 190Searching in menuconfig: 191 192 The Search function searches for kernel configuration symbol 193 names, so you have to know something close to what you are 194 looking for. 195 196 Example:: 197 198 /hotplug 199 This lists all config symbols that contain "hotplug", 200 e.g., HOTPLUG_CPU, MEMORY_HOTPLUG. 201 202 For search help, enter / followed by TAB-TAB (to highlight 203 <Help>) and Enter. This will tell you that you can also use 204 regular expressions (regexes) in the search string, so if you 205 are not interested in MEMORY_HOTPLUG, you could try:: 206 207 /^hotplug 208 209 When searching, symbols are sorted thus: 210 211 - first, exact matches, sorted alphabetically (an exact match 212 is when the search matches the complete symbol name); 213 - then, other matches, sorted alphabetically. 214 215 For example: ^ATH.K matches: 216 217 ATH5K ATH9K ATH5K_AHB ATH5K_DEBUG [...] ATH6KL ATH6KL_DEBUG 218 [...] ATH9K_AHB ATH9K_BTCOEX_SUPPORT ATH9K_COMMON [...] 219 220 of which only ATH5K and ATH9K match exactly and so are sorted 221 first (and in alphabetical order), then come all other symbols, 222 sorted in alphabetical order. 223 224 In this menu, pressing the key in the (#) prefix will jump 225 directly to that location. You will be returned to the current 226 search results after exiting this new menu. 227 228---------------------------------------------------------------------- 229 230User interface options for 'menuconfig' 231 232MENUCONFIG_COLOR 233---------------- 234It is possible to select different color themes using the variable 235MENUCONFIG_COLOR. To select a theme use:: 236 237 make MENUCONFIG_COLOR=<theme> menuconfig 238 239Available themes are:: 240 241 - mono => selects colors suitable for monochrome displays 242 - blackbg => selects a color scheme with black background 243 - classic => theme with blue background. The classic look 244 - bluetitle => a LCD friendly version of classic. (default) 245 246MENUCONFIG_MODE 247--------------- 248This mode shows all sub-menus in one large tree. 249 250Example:: 251 252 make MENUCONFIG_MODE=single_menu menuconfig 253 254---------------------------------------------------------------------- 255 256nconfig 257------- 258 259nconfig is an alternate text-based configurator. It lists function 260keys across the bottom of the terminal (window) that execute commands. 261You can also just use the corresponding numeric key to execute the 262commands unless you are in a data entry window. E.g., instead of F6 263for Save, you can just press 6. 264 265Use F1 for Global help or F3 for the Short help menu. 266 267Searching in nconfig: 268 269 You can search either in the menu entry "prompt" strings 270 or in the configuration symbols. 271 272 Use / to begin a search through the menu entries. This does 273 not support regular expressions. Use <Down> or <Up> for 274 Next hit and Previous hit, respectively. Use <Esc> to 275 terminate the search mode. 276 277 F8 (SymSearch) searches the configuration symbols for the 278 given string or regular expression (regex). 279 280 In the SymSearch, pressing the key in the (#) prefix will 281 jump directly to that location. You will be returned to the 282 current search results after exiting this new menu. 283 284NCONFIG_MODE 285------------ 286This mode shows all sub-menus in one large tree. 287 288Example:: 289 290 make NCONFIG_MODE=single_menu nconfig 291 292---------------------------------------------------------------------- 293 294xconfig 295------- 296 297Searching in xconfig: 298 299 The Search function searches for kernel configuration symbol 300 names, so you have to know something close to what you are 301 looking for. 302 303 Example:: 304 305 Ctrl-F hotplug 306 307 or:: 308 309 Menu: File, Search, hotplug 310 311 lists all config symbol entries that contain "hotplug" in 312 the symbol name. In this Search dialog, you may change the 313 config setting for any of the entries that are not grayed out. 314 You can also enter a different search string without having 315 to return to the main menu. 316 317 318---------------------------------------------------------------------- 319 320gconfig 321------- 322 323Searching in gconfig: 324 325 There is no search command in gconfig. However, gconfig does 326 have several different viewing choices, modes, and options. 327