blob: 849b5e56d06fc95927f47aaa8b006cfb73cf34c6 [file] [log] [blame]
Randy Dunlap2af238e2008-02-29 14:21:53 -08001This 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
Markus Heidelberg98f540d31b2009-05-18 01:36:47 +020038______________________________________________________________________
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/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 udpates (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_AUTOHEADER
107--------------------------------------------------
108This environment variable can be set to specify the path & name of the
109"autoconf.h" (header) file. Its default value is "include/linux/autoconf.h".
110
Randy Dunlap2af238e2008-02-29 14:21:53 -0800111
112======================================================================
113menuconfig
114--------------------------------------------------
115
116SEARCHING for CONFIG symbols
117
118Searching in menuconfig:
119
120 The Search function searches for kernel configuration symbol
121 names, so you have to know something close to what you are
122 looking for.
123
124 Example:
125 /hotplug
126 This lists all config symbols that contain "hotplug",
127 e.g., HOTPLUG, HOTPLUG_CPU, MEMORY_HOTPLUG.
128
129 For search help, enter / followed TAB-TAB-TAB (to highlight
130 <Help>) and Enter. This will tell you that you can also use
131 regular expressions (regexes) in the search string, so if you
132 are not interested in MEMORY_HOTPLUG, you could try
133
134 /^hotplug
135
Randy Dunlap2af238e2008-02-29 14:21:53 -0800136______________________________________________________________________
Markus Heidelberg98f540d31b2009-05-18 01:36:47 +0200137User interface options for 'menuconfig'
Randy Dunlap2af238e2008-02-29 14:21:53 -0800138
Markus Heidelberg98f540d31b2009-05-18 01:36:47 +0200139MENUCONFIG_COLOR
140--------------------------------------------------
Randy Dunlap2af238e2008-02-29 14:21:53 -0800141It is possible to select different color themes using the variable
142MENUCONFIG_COLOR. To select a theme use:
143
144 make MENUCONFIG_COLOR=<theme> menuconfig
145
146Available themes are:
147 mono => selects colors suitable for monochrome displays
148 blackbg => selects a color scheme with black background
149 classic => theme with blue background. The classic look
150 bluetitle => a LCD friendly version of classic. (default)
151
Randy Dunlap2af238e2008-02-29 14:21:53 -0800152MENUCONFIG_MODE
153--------------------------------------------------
154This mode shows all sub-menus in one large tree.
155
156Example:
Markus Heidelberg98f540d31b2009-05-18 01:36:47 +0200157 make MENUCONFIG_MODE=single_menu menuconfig
158
Randy Dunlap2af238e2008-02-29 14:21:53 -0800159
160======================================================================
161xconfig
162--------------------------------------------------
163
164Searching in xconfig:
165
166 The Search function searches for kernel configuration symbol
167 names, so you have to know something close to what you are
168 looking for.
169
170 Example:
171 Ctrl-F hotplug
172 or
173 Menu: File, Search, hotplug
174
175 lists all config symbol entries that contain "hotplug" in
176 the symbol name. In this Search dialog, you may change the
177 config setting for any of the entries that are not grayed out.
178 You can also enter a different search string without having
179 to return to the main menu.
180
181
182======================================================================
183gconfig
184--------------------------------------------------
185
186Searching in gconfig:
187
188 None (gconfig isn't maintained as well as xconfig or menuconfig);
189 however, gconfig does have a few more viewing choices than
190 xconfig does.
191
192###