1*10465441SEvalZeroThis file contains some assistance for using "make *config". 2*10465441SEvalZero 3*10465441SEvalZeroUse "make help" to list all of the possible configuration targets. 4*10465441SEvalZero 5*10465441SEvalZeroThe xconfig ('qconf') and menuconfig ('mconf') programs also 6*10465441SEvalZerohave embedded help text. Be sure to check it for navigation, 7*10465441SEvalZerosearch, and other general help text. 8*10465441SEvalZero 9*10465441SEvalZero====================================================================== 10*10465441SEvalZeroGeneral 11*10465441SEvalZero-------------------------------------------------- 12*10465441SEvalZero 13*10465441SEvalZeroNew kernel releases often introduce new config symbols. Often more 14*10465441SEvalZeroimportant, new kernel releases may rename config symbols. When 15*10465441SEvalZerothis happens, using a previously working .config file and running 16*10465441SEvalZero"make oldconfig" won't necessarily produce a working new kernel 17*10465441SEvalZerofor you, so you may find that you need to see what NEW kernel 18*10465441SEvalZerosymbols have been introduced. 19*10465441SEvalZero 20*10465441SEvalZeroTo see a list of new config symbols when using "make oldconfig", use 21*10465441SEvalZero 22*10465441SEvalZero cp user/some/old.config .config 23*10465441SEvalZero make listnewconfig 24*10465441SEvalZero 25*10465441SEvalZeroand the config program will list any new symbols, one per line. 26*10465441SEvalZero 27*10465441SEvalZero scripts/diffconfig .config.old .config | less 28*10465441SEvalZero 29*10465441SEvalZero______________________________________________________________________ 30*10465441SEvalZeroEnvironment variables for '*config' 31*10465441SEvalZero 32*10465441SEvalZeroKCONFIG_CONFIG 33*10465441SEvalZero-------------------------------------------------- 34*10465441SEvalZeroThis environment variable can be used to specify a default kernel config 35*10465441SEvalZerofile name to override the default name of ".config". 36*10465441SEvalZero 37*10465441SEvalZeroKCONFIG_OVERWRITECONFIG 38*10465441SEvalZero-------------------------------------------------- 39*10465441SEvalZeroIf you set KCONFIG_OVERWRITECONFIG in the environment, Kconfig will not 40*10465441SEvalZerobreak symlinks when .config is a symlink to somewhere else. 41*10465441SEvalZero 42*10465441SEvalZeroCONFIG_ 43*10465441SEvalZero-------------------------------------------------- 44*10465441SEvalZeroIf you set CONFIG_ in the environment, Kconfig will prefix all symbols 45*10465441SEvalZerowith its value when saving the configuration, instead of using the default, 46*10465441SEvalZero"CONFIG_". 47*10465441SEvalZero 48*10465441SEvalZero______________________________________________________________________ 49*10465441SEvalZeroEnvironment variables for '{allyes/allmod/allno/rand}config' 50*10465441SEvalZero 51*10465441SEvalZeroKCONFIG_ALLCONFIG 52*10465441SEvalZero-------------------------------------------------- 53*10465441SEvalZero(partially based on lkml email from/by Rob Landley, re: miniconfig) 54*10465441SEvalZero-------------------------------------------------- 55*10465441SEvalZeroThe allyesconfig/allmodconfig/allnoconfig/randconfig variants can also 56*10465441SEvalZerouse the environment variable KCONFIG_ALLCONFIG as a flag or a filename 57*10465441SEvalZerothat contains config symbols that the user requires to be set to a 58*10465441SEvalZerospecific value. If KCONFIG_ALLCONFIG is used without a filename where 59*10465441SEvalZeroKCONFIG_ALLCONFIG == "" or KCONFIG_ALLCONFIG == "1", "make *config" 60*10465441SEvalZerochecks for a file named "all{yes/mod/no/def/random}.config" 61*10465441SEvalZero(corresponding to the *config command that was used) for symbol values 62*10465441SEvalZerothat are to be forced. If this file is not found, it checks for a 63*10465441SEvalZerofile named "all.config" to contain forced values. 64*10465441SEvalZero 65*10465441SEvalZeroThis enables you to create "miniature" config (miniconfig) or custom 66*10465441SEvalZeroconfig files containing just the config symbols that you are interested 67*10465441SEvalZeroin. Then the kernel config system generates the full .config file, 68*10465441SEvalZeroincluding symbols of your miniconfig file. 69*10465441SEvalZero 70*10465441SEvalZeroThis 'KCONFIG_ALLCONFIG' file is a config file which contains 71*10465441SEvalZero(usually a subset of all) preset config symbols. These variable 72*10465441SEvalZerosettings are still subject to normal dependency checks. 73*10465441SEvalZero 74*10465441SEvalZeroExamples: 75*10465441SEvalZero KCONFIG_ALLCONFIG=custom-notebook.config make allnoconfig 76*10465441SEvalZeroor 77*10465441SEvalZero KCONFIG_ALLCONFIG=mini.config make allnoconfig 78*10465441SEvalZeroor 79*10465441SEvalZero make KCONFIG_ALLCONFIG=mini.config allnoconfig 80*10465441SEvalZero 81*10465441SEvalZeroThese examples will disable most options (allnoconfig) but enable or 82*10465441SEvalZerodisable the options that are explicitly listed in the specified 83*10465441SEvalZeromini-config files. 84*10465441SEvalZero 85*10465441SEvalZero______________________________________________________________________ 86*10465441SEvalZeroEnvironment variables for 'randconfig' 87*10465441SEvalZero 88*10465441SEvalZeroKCONFIG_SEED 89*10465441SEvalZero-------------------------------------------------- 90*10465441SEvalZeroYou can set this to the integer value used to seed the RNG, if you want 91*10465441SEvalZeroto somehow debug the behaviour of the kconfig parser/frontends. 92*10465441SEvalZeroIf not set, the current time will be used. 93*10465441SEvalZero 94*10465441SEvalZeroKCONFIG_PROBABILITY 95*10465441SEvalZero-------------------------------------------------- 96*10465441SEvalZeroThis variable can be used to skew the probabilities. This variable can 97*10465441SEvalZerobe unset or empty, or set to three different formats: 98*10465441SEvalZero KCONFIG_PROBABILITY y:n split y:m:n split 99*10465441SEvalZero ----------------------------------------------------------------- 100*10465441SEvalZero unset or empty 50 : 50 33 : 33 : 34 101*10465441SEvalZero N N : 100-N N/2 : N/2 : 100-N 102*10465441SEvalZero [1] N:M N+M : 100-(N+M) N : M : 100-(N+M) 103*10465441SEvalZero [2] N:M:L N : 100-N M : L : 100-(M+L) 104*10465441SEvalZero 105*10465441SEvalZerowhere N, M and L are integers (in base 10) in the range [0,100], and so 106*10465441SEvalZerothat: 107*10465441SEvalZero [1] N+M is in the range [0,100] 108*10465441SEvalZero [2] M+L is in the range [0,100] 109*10465441SEvalZero 110*10465441SEvalZeroExamples: 111*10465441SEvalZero KCONFIG_PROBABILITY=10 112*10465441SEvalZero 10% of booleans will be set to 'y', 90% to 'n' 113*10465441SEvalZero 5% of tristates will be set to 'y', 5% to 'm', 90% to 'n' 114*10465441SEvalZero KCONFIG_PROBABILITY=15:25 115*10465441SEvalZero 40% of booleans will be set to 'y', 60% to 'n' 116*10465441SEvalZero 15% of tristates will be set to 'y', 25% to 'm', 60% to 'n' 117*10465441SEvalZero KCONFIG_PROBABILITY=10:15:15 118*10465441SEvalZero 10% of booleans will be set to 'y', 90% to 'n' 119*10465441SEvalZero 15% of tristates will be set to 'y', 15% to 'm', 70% to 'n' 120*10465441SEvalZero 121*10465441SEvalZero______________________________________________________________________ 122*10465441SEvalZeroEnvironment variables for 'silentoldconfig' 123*10465441SEvalZero 124*10465441SEvalZeroKCONFIG_NOSILENTUPDATE 125*10465441SEvalZero-------------------------------------------------- 126*10465441SEvalZeroIf this variable has a non-blank value, it prevents silent kernel 127*10465441SEvalZeroconfig updates (requires explicit updates). 128*10465441SEvalZero 129*10465441SEvalZeroKCONFIG_AUTOCONFIG 130*10465441SEvalZero-------------------------------------------------- 131*10465441SEvalZeroThis environment variable can be set to specify the path & name of the 132*10465441SEvalZero"auto.conf" file. Its default value is "include/config/auto.conf". 133*10465441SEvalZero 134*10465441SEvalZeroKCONFIG_TRISTATE 135*10465441SEvalZero-------------------------------------------------- 136*10465441SEvalZeroThis environment variable can be set to specify the path & name of the 137*10465441SEvalZero"tristate.conf" file. Its default value is "include/config/tristate.conf". 138*10465441SEvalZero 139*10465441SEvalZeroKCONFIG_AUTOHEADER 140*10465441SEvalZero-------------------------------------------------- 141*10465441SEvalZeroThis environment variable can be set to specify the path & name of the 142*10465441SEvalZero"autoconf.h" (header) file. 143*10465441SEvalZeroIts default value is "include/generated/autoconf.h". 144*10465441SEvalZero 145*10465441SEvalZero 146*10465441SEvalZero====================================================================== 147*10465441SEvalZeromenuconfig 148*10465441SEvalZero-------------------------------------------------- 149*10465441SEvalZero 150*10465441SEvalZeroSEARCHING for CONFIG symbols 151*10465441SEvalZero 152*10465441SEvalZeroSearching in menuconfig: 153*10465441SEvalZero 154*10465441SEvalZero The Search function searches for kernel configuration symbol 155*10465441SEvalZero names, so you have to know something close to what you are 156*10465441SEvalZero looking for. 157*10465441SEvalZero 158*10465441SEvalZero Example: 159*10465441SEvalZero /hotplug 160*10465441SEvalZero This lists all config symbols that contain "hotplug", 161*10465441SEvalZero e.g., HOTPLUG_CPU, MEMORY_HOTPLUG. 162*10465441SEvalZero 163*10465441SEvalZero For search help, enter / followed TAB-TAB-TAB (to highlight 164*10465441SEvalZero <Help>) and Enter. This will tell you that you can also use 165*10465441SEvalZero regular expressions (regexes) in the search string, so if you 166*10465441SEvalZero are not interested in MEMORY_HOTPLUG, you could try 167*10465441SEvalZero 168*10465441SEvalZero /^hotplug 169*10465441SEvalZero 170*10465441SEvalZero When searching, symbols are sorted thus: 171*10465441SEvalZero - first, exact matches, sorted alphabetically (an exact match 172*10465441SEvalZero is when the search matches the complete symbol name); 173*10465441SEvalZero - then, other matches, sorted alphabetically. 174*10465441SEvalZero For example: ^ATH.K matches: 175*10465441SEvalZero ATH5K ATH9K ATH5K_AHB ATH5K_DEBUG [...] ATH6KL ATH6KL_DEBUG 176*10465441SEvalZero [...] ATH9K_AHB ATH9K_BTCOEX_SUPPORT ATH9K_COMMON [...] 177*10465441SEvalZero of which only ATH5K and ATH9K match exactly and so are sorted 178*10465441SEvalZero first (and in alphabetical order), then come all other symbols, 179*10465441SEvalZero sorted in alphabetical order. 180*10465441SEvalZero 181*10465441SEvalZero______________________________________________________________________ 182*10465441SEvalZeroUser interface options for 'menuconfig' 183*10465441SEvalZero 184*10465441SEvalZeroMENUCONFIG_COLOR 185*10465441SEvalZero-------------------------------------------------- 186*10465441SEvalZeroIt is possible to select different color themes using the variable 187*10465441SEvalZeroMENUCONFIG_COLOR. To select a theme use: 188*10465441SEvalZero 189*10465441SEvalZero make MENUCONFIG_COLOR=<theme> menuconfig 190*10465441SEvalZero 191*10465441SEvalZeroAvailable themes are: 192*10465441SEvalZero mono => selects colors suitable for monochrome displays 193*10465441SEvalZero blackbg => selects a color scheme with black background 194*10465441SEvalZero classic => theme with blue background. The classic look 195*10465441SEvalZero bluetitle => a LCD friendly version of classic. (default) 196*10465441SEvalZero 197*10465441SEvalZeroMENUCONFIG_MODE 198*10465441SEvalZero-------------------------------------------------- 199*10465441SEvalZeroThis mode shows all sub-menus in one large tree. 200*10465441SEvalZero 201*10465441SEvalZeroExample: 202*10465441SEvalZero make MENUCONFIG_MODE=single_menu menuconfig 203*10465441SEvalZero 204*10465441SEvalZero 205*10465441SEvalZero====================================================================== 206*10465441SEvalZeroxconfig 207*10465441SEvalZero-------------------------------------------------- 208*10465441SEvalZero 209*10465441SEvalZeroSearching in xconfig: 210*10465441SEvalZero 211*10465441SEvalZero The Search function searches for kernel configuration symbol 212*10465441SEvalZero names, so you have to know something close to what you are 213*10465441SEvalZero looking for. 214*10465441SEvalZero 215*10465441SEvalZero Example: 216*10465441SEvalZero Ctrl-F hotplug 217*10465441SEvalZero or 218*10465441SEvalZero Menu: File, Search, hotplug 219*10465441SEvalZero 220*10465441SEvalZero lists all config symbol entries that contain "hotplug" in 221*10465441SEvalZero the symbol name. In this Search dialog, you may change the 222*10465441SEvalZero config setting for any of the entries that are not grayed out. 223*10465441SEvalZero You can also enter a different search string without having 224*10465441SEvalZero to return to the main menu. 225*10465441SEvalZero 226*10465441SEvalZero 227*10465441SEvalZero====================================================================== 228*10465441SEvalZerogconfig 229*10465441SEvalZero-------------------------------------------------- 230*10465441SEvalZero 231*10465441SEvalZeroSearching in gconfig: 232*10465441SEvalZero 233*10465441SEvalZero None (gconfig isn't maintained as well as xconfig or menuconfig); 234*10465441SEvalZero however, gconfig does have a few more viewing choices than 235*10465441SEvalZero xconfig does. 236*10465441SEvalZero 237*10465441SEvalZero### 238