About Kernel Documentation Linux Kernel Contact Linux Resources Linux Blog

Documentation / kbuild / kconfig.txt




Custom Search

Based on kernel version 3.9. Page generated on 2013-05-02 23:09 EST.

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

Information is copyright its respective author. All material is available from the Linux Kernel Source distributed under a GPL License. This page is provided as a free service by mjmwired.net.