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