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