linux/Documentation/kbuild/kconfig.txt
<<
>>
Prefs
   1This file contains some assistance for using "make *config".
   2
   3Use "make help" to list all of the possible configuration targets.
   4
   5The xconfig ('qconf') and menuconfig ('mconf') programs also
   6have embedded help text.  Be sure to check it for navigation,
   7search, and other general help text.
   8
   9======================================================================
  10General
  11--------------------------------------------------
  12
  13New kernel releases often introduce new config symbols.  Often more
  14important, new kernel releases may rename config symbols.  When
  15this happens, using a previously working .config file and running
  16"make oldconfig" won't necessarily produce a working new kernel
  17for you, so you may find that you need to see what NEW kernel
  18symbols have been introduced.
  19
  20To see a list of new config symbols when using "make oldconfig", use
  21
  22        cp user/some/old.config .config
  23        yes "" | make oldconfig >conf.new
  24
  25and the config program will list as (NEW) any new symbols that have
  26unknown values.  Of course, the .config file is also updated with
  27new (default) values, so you can use:
  28
  29        grep "(NEW)" conf.new
  30
  31to see the new config symbols or you can 'diff' the previous and
  32new .config files to see the differences:
  33
  34        diff .config.old .config | less
  35
  36(Yes, we need something better here.)
  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_OVERWRITECONFIG
  47--------------------------------------------------
  48If you set KCONFIG_OVERWRITECONFIG in the environment, Kconfig will not
  49break symlinks when .config is a symlink to somewhere else.
  50
  51KCONFIG_NOTIMESTAMP
  52--------------------------------------------------
  53If this environment variable exists and is non-null, the timestamp line
  54in generated .config files is omitted.
  55
  56______________________________________________________________________
  57Environment variables for '{allyes/allmod/allno/rand}config'
  58
  59KCONFIG_ALLCONFIG
  60--------------------------------------------------
  61(partially based on lkml email from/by Rob Landley, re: miniconfig)
  62--------------------------------------------------
  63The allyesconfig/allmodconfig/allnoconfig/randconfig variants can
  64also use the environment variable KCONFIG_ALLCONFIG as a flag or a
  65filename that contains config symbols that the user requires to be
  66set to a specific value.  If KCONFIG_ALLCONFIG is used without a
  67filename, "make *config" checks for a file named
  68"all{yes/mod/no/def/random}.config" (corresponding to the *config command
  69that was used) for symbol values that are to be forced.  If this file
  70is not found, it checks for a file named "all.config" to contain forced
  71values.
  72
  73This enables you to create "miniature" config (miniconfig) or custom
  74config files containing just the config symbols that you are interested
  75in.  Then the kernel config system generates the full .config file,
  76including symbols of your miniconfig file.
  77
  78This 'KCONFIG_ALLCONFIG' file is a config file which contains
  79(usually a subset of all) preset config symbols.  These variable
  80settings are still subject to normal dependency checks.
  81
  82Examples:
  83        KCONFIG_ALLCONFIG=custom-notebook.config make allnoconfig
  84or
  85        KCONFIG_ALLCONFIG=mini.config make allnoconfig
  86or
  87        make KCONFIG_ALLCONFIG=mini.config allnoconfig
  88
  89These examples will disable most options (allnoconfig) but enable or
  90disable the options that are explicitly listed in the specified
  91mini-config files.
  92
  93______________________________________________________________________
  94Environment variables for 'silentoldconfig'
  95
  96KCONFIG_NOSILENTUPDATE
  97--------------------------------------------------
  98If this variable has a non-blank value, it prevents silent kernel
  99config updates (requires explicit updates).
 100
 101KCONFIG_AUTOCONFIG
 102--------------------------------------------------
 103This environment variable can be set to specify the path & name of the
 104"auto.conf" file.  Its default value is "include/config/auto.conf".
 105
 106KCONFIG_TRISTATE
 107--------------------------------------------------
 108This environment variable can be set to specify the path & name of the
 109"tristate.conf" file.  Its default value is "include/config/tristate.conf".
 110
 111KCONFIG_AUTOHEADER
 112--------------------------------------------------
 113This environment variable can be set to specify the path & name of the
 114"autoconf.h" (header) file.
 115Its default value is "include/generated/autoconf.h".
 116
 117
 118======================================================================
 119menuconfig
 120--------------------------------------------------
 121
 122SEARCHING for CONFIG symbols
 123
 124Searching in menuconfig:
 125
 126        The Search function searches for kernel configuration symbol
 127        names, so you have to know something close to what you are
 128        looking for.
 129
 130        Example:
 131                /hotplug
 132                This lists all config symbols that contain "hotplug",
 133                e.g., HOTPLUG, HOTPLUG_CPU, MEMORY_HOTPLUG.
 134
 135        For search help, enter / followed TAB-TAB-TAB (to highlight
 136        <Help>) and Enter.  This will tell you that you can also use
 137        regular expressions (regexes) in the search string, so if you
 138        are not interested in MEMORY_HOTPLUG, you could try
 139
 140                /^hotplug
 141
 142______________________________________________________________________
 143User interface options for 'menuconfig'
 144
 145MENUCONFIG_COLOR
 146--------------------------------------------------
 147It is possible to select different color themes using the variable
 148MENUCONFIG_COLOR.  To select a theme use:
 149
 150        make MENUCONFIG_COLOR=<theme> menuconfig
 151
 152Available themes are:
 153  mono       => selects colors suitable for monochrome displays
 154  blackbg    => selects a color scheme with black background
 155  classic    => theme with blue background. The classic look
 156  bluetitle  => a LCD friendly version of classic. (default)
 157
 158MENUCONFIG_MODE
 159--------------------------------------------------
 160This mode shows all sub-menus in one large tree.
 161
 162Example:
 163        make MENUCONFIG_MODE=single_menu menuconfig
 164
 165
 166======================================================================
 167xconfig
 168--------------------------------------------------
 169
 170Searching in xconfig:
 171
 172        The Search function searches for kernel configuration symbol
 173        names, so you have to know something close to what you are
 174        looking for.
 175
 176        Example:
 177                Ctrl-F hotplug
 178        or
 179                Menu: File, Search, hotplug
 180
 181        lists all config symbol entries that contain "hotplug" in
 182        the symbol name.  In this Search dialog, you may change the
 183        config setting for any of the entries that are not grayed out.
 184        You can also enter a different search string without having
 185        to return to the main menu.
 186
 187
 188======================================================================
 189gconfig
 190--------------------------------------------------
 191
 192Searching in gconfig:
 193
 194        None (gconfig isn't maintained as well as xconfig or menuconfig);
 195        however, gconfig does have a few more viewing choices than
 196        xconfig does.
 197
 198###
 199