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