brintos

brintos / linux-shallow public Read only

0
0
Text · 9.7 KiB · fc4e845 Raw
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