~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/Documentation/kbuild/kconfig.rst

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

Diff markup

Differences between /Documentation/kbuild/kconfig.rst (Architecture ppc) and /Documentation/kbuild/kconfig.rst (Architecture sparc)


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

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php