1 |
62 |
marcus.erl |
config DEFCONFIG_LIST
|
2 |
|
|
string
|
3 |
|
|
depends on !UML
|
4 |
|
|
option defconfig_list
|
5 |
|
|
default "/lib/modules/$UNAME_RELEASE/.config"
|
6 |
|
|
default "/etc/kernel-config"
|
7 |
|
|
default "/boot/config-$UNAME_RELEASE"
|
8 |
|
|
default "arch/$ARCH/defconfig"
|
9 |
|
|
|
10 |
|
|
menu "General setup"
|
11 |
|
|
|
12 |
|
|
config EXPERIMENTAL
|
13 |
|
|
bool "Prompt for development and/or incomplete code/drivers"
|
14 |
|
|
---help---
|
15 |
|
|
Some of the various things that Linux supports (such as network
|
16 |
|
|
drivers, file systems, network protocols, etc.) can be in a state
|
17 |
|
|
of development where the functionality, stability, or the level of
|
18 |
|
|
testing is not yet high enough for general use. This is usually
|
19 |
|
|
known as the "alpha-test" phase among developers. If a feature is
|
20 |
|
|
currently in alpha-test, then the developers usually discourage
|
21 |
|
|
uninformed widespread use of this feature by the general public to
|
22 |
|
|
avoid "Why doesn't this work?" type mail messages. However, active
|
23 |
|
|
testing and use of these systems is welcomed. Just be aware that it
|
24 |
|
|
may not meet the normal level of reliability or it may fail to work
|
25 |
|
|
in some special cases. Detailed bug reports from people familiar
|
26 |
|
|
with the kernel internals are usually welcomed by the developers
|
27 |
|
|
(before submitting bug reports, please read the documents
|
28 |
|
|
, , ,
|
29 |
|
|
, and
|
30 |
|
|
in the kernel source).
|
31 |
|
|
|
32 |
|
|
This option will also make obsoleted drivers available. These are
|
33 |
|
|
drivers that have been replaced by something else, and/or are
|
34 |
|
|
scheduled to be removed in a future kernel release.
|
35 |
|
|
|
36 |
|
|
Unless you intend to help test and develop a feature or driver that
|
37 |
|
|
falls into this category, or you have a situation that requires
|
38 |
|
|
using these features, you should probably say N here, which will
|
39 |
|
|
cause the configurator to present you with fewer choices. If
|
40 |
|
|
you say Y here, you will be offered the choice of using features or
|
41 |
|
|
drivers that are currently considered to be in the alpha-test phase.
|
42 |
|
|
|
43 |
|
|
config BROKEN
|
44 |
|
|
bool
|
45 |
|
|
|
46 |
|
|
config BROKEN_ON_SMP
|
47 |
|
|
bool
|
48 |
|
|
depends on BROKEN || !SMP
|
49 |
|
|
default y
|
50 |
|
|
|
51 |
|
|
config LOCK_KERNEL
|
52 |
|
|
bool
|
53 |
|
|
depends on SMP || PREEMPT
|
54 |
|
|
default y
|
55 |
|
|
|
56 |
|
|
config INIT_ENV_ARG_LIMIT
|
57 |
|
|
int
|
58 |
|
|
default 32 if !UML
|
59 |
|
|
default 128 if UML
|
60 |
|
|
help
|
61 |
|
|
Maximum of each of the number of arguments and environment
|
62 |
|
|
variables passed to init from the kernel command line.
|
63 |
|
|
|
64 |
|
|
|
65 |
|
|
config LOCALVERSION
|
66 |
|
|
string "Local version - append to kernel release"
|
67 |
|
|
help
|
68 |
|
|
Append an extra string to the end of your kernel version.
|
69 |
|
|
This will show up when you type uname, for example.
|
70 |
|
|
The string you set here will be appended after the contents of
|
71 |
|
|
any files with a filename matching localversion* in your
|
72 |
|
|
object and source tree, in that order. Your total string can
|
73 |
|
|
be a maximum of 64 characters.
|
74 |
|
|
|
75 |
|
|
config LOCALVERSION_AUTO
|
76 |
|
|
bool "Automatically append version information to the version string"
|
77 |
|
|
default y
|
78 |
|
|
help
|
79 |
|
|
This will try to automatically determine if the current tree is a
|
80 |
|
|
release tree by looking for git tags that belong to the current
|
81 |
|
|
top of tree revision.
|
82 |
|
|
|
83 |
|
|
A string of the format -gxxxxxxxx will be added to the localversion
|
84 |
|
|
if a git-based tree is found. The string generated by this will be
|
85 |
|
|
appended after any matching localversion* files, and after the value
|
86 |
|
|
set in CONFIG_LOCALVERSION.
|
87 |
|
|
|
88 |
|
|
(The actual string used here is the first eight characters produced
|
89 |
|
|
by running the command:
|
90 |
|
|
|
91 |
|
|
$ git rev-parse --verify HEAD
|
92 |
|
|
|
93 |
|
|
which is done within the script "scripts/setlocalversion".)
|
94 |
|
|
|
95 |
|
|
config SWAP
|
96 |
|
|
bool "Support for paging of anonymous memory (swap)"
|
97 |
|
|
depends on MMU && BLOCK
|
98 |
|
|
default y
|
99 |
|
|
help
|
100 |
|
|
This option allows you to choose whether you want to have support
|
101 |
|
|
for so called swap devices or swap files in your kernel that are
|
102 |
|
|
used to provide more virtual memory than the actual RAM present
|
103 |
|
|
in your computer. If unsure say Y.
|
104 |
|
|
|
105 |
|
|
config SYSVIPC
|
106 |
|
|
bool "System V IPC"
|
107 |
|
|
---help---
|
108 |
|
|
Inter Process Communication is a suite of library functions and
|
109 |
|
|
system calls which let processes (running programs) synchronize and
|
110 |
|
|
exchange information. It is generally considered to be a good thing,
|
111 |
|
|
and some programs won't run unless you say Y here. In particular, if
|
112 |
|
|
you want to run the DOS emulator dosemu under Linux (read the
|
113 |
|
|
DOSEMU-HOWTO, available from ),
|
114 |
|
|
you'll need to say Y here.
|
115 |
|
|
|
116 |
|
|
You can find documentation about IPC with "info ipc" and also in
|
117 |
|
|
section 6.4 of the Linux Programmer's Guide, available from
|
118 |
|
|
.
|
119 |
|
|
|
120 |
|
|
config SYSVIPC_SYSCTL
|
121 |
|
|
bool
|
122 |
|
|
depends on SYSVIPC
|
123 |
|
|
depends on SYSCTL
|
124 |
|
|
default y
|
125 |
|
|
|
126 |
|
|
config POSIX_MQUEUE
|
127 |
|
|
bool "POSIX Message Queues"
|
128 |
|
|
depends on NET && EXPERIMENTAL
|
129 |
|
|
---help---
|
130 |
|
|
POSIX variant of message queues is a part of IPC. In POSIX message
|
131 |
|
|
queues every message has a priority which decides about succession
|
132 |
|
|
of receiving it by a process. If you want to compile and run
|
133 |
|
|
programs written e.g. for Solaris with use of its POSIX message
|
134 |
|
|
queues (functions mq_*) say Y here.
|
135 |
|
|
|
136 |
|
|
POSIX message queues are visible as a filesystem called 'mqueue'
|
137 |
|
|
and can be mounted somewhere if you want to do filesystem
|
138 |
|
|
operations on message queues.
|
139 |
|
|
|
140 |
|
|
If unsure, say Y.
|
141 |
|
|
|
142 |
|
|
config BSD_PROCESS_ACCT
|
143 |
|
|
bool "BSD Process Accounting"
|
144 |
|
|
help
|
145 |
|
|
If you say Y here, a user level program will be able to instruct the
|
146 |
|
|
kernel (via a special system call) to write process accounting
|
147 |
|
|
information to a file: whenever a process exits, information about
|
148 |
|
|
that process will be appended to the file by the kernel. The
|
149 |
|
|
information includes things such as creation time, owning user,
|
150 |
|
|
command name, memory usage, controlling terminal etc. (the complete
|
151 |
|
|
list is in the struct acct in ). It is
|
152 |
|
|
up to the user level program to do useful things with this
|
153 |
|
|
information. This is generally a good idea, so say Y.
|
154 |
|
|
|
155 |
|
|
config BSD_PROCESS_ACCT_V3
|
156 |
|
|
bool "BSD Process Accounting version 3 file format"
|
157 |
|
|
depends on BSD_PROCESS_ACCT
|
158 |
|
|
default n
|
159 |
|
|
help
|
160 |
|
|
If you say Y here, the process accounting information is written
|
161 |
|
|
in a new file format that also logs the process IDs of each
|
162 |
|
|
process and it's parent. Note that this file format is incompatible
|
163 |
|
|
with previous v0/v1/v2 file formats, so you will need updated tools
|
164 |
|
|
for processing it. A preliminary version of these tools is available
|
165 |
|
|
at .
|
166 |
|
|
|
167 |
|
|
config TASKSTATS
|
168 |
|
|
bool "Export task/process statistics through netlink (EXPERIMENTAL)"
|
169 |
|
|
depends on NET
|
170 |
|
|
default n
|
171 |
|
|
help
|
172 |
|
|
Export selected statistics for tasks/processes through the
|
173 |
|
|
generic netlink interface. Unlike BSD process accounting, the
|
174 |
|
|
statistics are available during the lifetime of tasks/processes as
|
175 |
|
|
responses to commands. Like BSD accounting, they are sent to user
|
176 |
|
|
space on task exit.
|
177 |
|
|
|
178 |
|
|
Say N if unsure.
|
179 |
|
|
|
180 |
|
|
config TASK_DELAY_ACCT
|
181 |
|
|
bool "Enable per-task delay accounting (EXPERIMENTAL)"
|
182 |
|
|
depends on TASKSTATS
|
183 |
|
|
help
|
184 |
|
|
Collect information on time spent by a task waiting for system
|
185 |
|
|
resources like cpu, synchronous block I/O completion and swapping
|
186 |
|
|
in pages. Such statistics can help in setting a task's priorities
|
187 |
|
|
relative to other tasks for cpu, io, rss limits etc.
|
188 |
|
|
|
189 |
|
|
Say N if unsure.
|
190 |
|
|
|
191 |
|
|
config TASK_XACCT
|
192 |
|
|
bool "Enable extended accounting over taskstats (EXPERIMENTAL)"
|
193 |
|
|
depends on TASKSTATS
|
194 |
|
|
help
|
195 |
|
|
Collect extended task accounting data and send the data
|
196 |
|
|
to userland for processing over the taskstats interface.
|
197 |
|
|
|
198 |
|
|
Say N if unsure.
|
199 |
|
|
|
200 |
|
|
config TASK_IO_ACCOUNTING
|
201 |
|
|
bool "Enable per-task storage I/O accounting (EXPERIMENTAL)"
|
202 |
|
|
depends on TASK_XACCT
|
203 |
|
|
help
|
204 |
|
|
Collect information on the number of bytes of storage I/O which this
|
205 |
|
|
task has caused.
|
206 |
|
|
|
207 |
|
|
Say N if unsure.
|
208 |
|
|
|
209 |
|
|
config USER_NS
|
210 |
|
|
bool "User Namespaces (EXPERIMENTAL)"
|
211 |
|
|
default n
|
212 |
|
|
depends on EXPERIMENTAL
|
213 |
|
|
help
|
214 |
|
|
Support user namespaces. This allows containers, i.e.
|
215 |
|
|
vservers, to use user namespaces to provide different
|
216 |
|
|
user info for different servers. If unsure, say N.
|
217 |
|
|
|
218 |
|
|
config PID_NS
|
219 |
|
|
bool "PID Namespaces (EXPERIMENTAL)"
|
220 |
|
|
default n
|
221 |
|
|
depends on EXPERIMENTAL
|
222 |
|
|
help
|
223 |
|
|
Suport process id namespaces. This allows having multiple
|
224 |
|
|
process with the same pid as long as they are in different
|
225 |
|
|
pid namespaces. This is a building block of containers.
|
226 |
|
|
|
227 |
|
|
Unless you want to work with an experimental feature
|
228 |
|
|
say N here.
|
229 |
|
|
|
230 |
|
|
config AUDIT
|
231 |
|
|
bool "Auditing support"
|
232 |
|
|
depends on NET
|
233 |
|
|
help
|
234 |
|
|
Enable auditing infrastructure that can be used with another
|
235 |
|
|
kernel subsystem, such as SELinux (which requires this for
|
236 |
|
|
logging of avc messages output). Does not do system-call
|
237 |
|
|
auditing without CONFIG_AUDITSYSCALL.
|
238 |
|
|
|
239 |
|
|
config AUDITSYSCALL
|
240 |
|
|
bool "Enable system-call auditing support"
|
241 |
|
|
depends on AUDIT && (X86 || PPC || PPC64 || S390 || IA64 || UML || SPARC64)
|
242 |
|
|
default y if SECURITY_SELINUX
|
243 |
|
|
help
|
244 |
|
|
Enable low-overhead system-call auditing infrastructure that
|
245 |
|
|
can be used independently or with another kernel subsystem,
|
246 |
|
|
such as SELinux. To use audit's filesystem watch feature, please
|
247 |
|
|
ensure that INOTIFY is configured.
|
248 |
|
|
|
249 |
|
|
config AUDIT_TREE
|
250 |
|
|
def_bool y
|
251 |
|
|
depends on AUDITSYSCALL && INOTIFY
|
252 |
|
|
|
253 |
|
|
config IKCONFIG
|
254 |
|
|
tristate "Kernel .config support"
|
255 |
|
|
---help---
|
256 |
|
|
This option enables the complete Linux kernel ".config" file
|
257 |
|
|
contents to be saved in the kernel. It provides documentation
|
258 |
|
|
of which kernel options are used in a running kernel or in an
|
259 |
|
|
on-disk kernel. This information can be extracted from the kernel
|
260 |
|
|
image file with the script scripts/extract-ikconfig and used as
|
261 |
|
|
input to rebuild the current kernel or to build another kernel.
|
262 |
|
|
It can also be extracted from a running kernel by reading
|
263 |
|
|
/proc/config.gz if enabled (below).
|
264 |
|
|
|
265 |
|
|
config IKCONFIG_PROC
|
266 |
|
|
bool "Enable access to .config through /proc/config.gz"
|
267 |
|
|
depends on IKCONFIG && PROC_FS
|
268 |
|
|
---help---
|
269 |
|
|
This option enables access to the kernel configuration file
|
270 |
|
|
through /proc/config.gz.
|
271 |
|
|
|
272 |
|
|
config LOG_BUF_SHIFT
|
273 |
|
|
int "Kernel log buffer size (16 => 64KB, 17 => 128KB)"
|
274 |
|
|
range 12 21
|
275 |
|
|
default 17 if S390 || LOCKDEP
|
276 |
|
|
default 16 if X86_NUMAQ || IA64
|
277 |
|
|
default 15 if SMP
|
278 |
|
|
default 14
|
279 |
|
|
help
|
280 |
|
|
Select kernel log buffer size as a power of 2.
|
281 |
|
|
Defaults and Examples:
|
282 |
|
|
17 => 128 KB for S/390
|
283 |
|
|
16 => 64 KB for x86 NUMAQ or IA-64
|
284 |
|
|
15 => 32 KB for SMP
|
285 |
|
|
14 => 16 KB for uniprocessor
|
286 |
|
|
13 => 8 KB
|
287 |
|
|
12 => 4 KB
|
288 |
|
|
|
289 |
|
|
config CGROUPS
|
290 |
|
|
bool "Control Group support"
|
291 |
|
|
help
|
292 |
|
|
This option will let you use process cgroup subsystems
|
293 |
|
|
such as Cpusets
|
294 |
|
|
|
295 |
|
|
Say N if unsure.
|
296 |
|
|
|
297 |
|
|
config CGROUP_DEBUG
|
298 |
|
|
bool "Example debug cgroup subsystem"
|
299 |
|
|
depends on CGROUPS
|
300 |
|
|
help
|
301 |
|
|
This option enables a simple cgroup subsystem that
|
302 |
|
|
exports useful debugging information about the cgroups
|
303 |
|
|
framework
|
304 |
|
|
|
305 |
|
|
Say N if unsure
|
306 |
|
|
|
307 |
|
|
config CGROUP_NS
|
308 |
|
|
bool "Namespace cgroup subsystem"
|
309 |
|
|
depends on CGROUPS
|
310 |
|
|
help
|
311 |
|
|
Provides a simple namespace cgroup subsystem to
|
312 |
|
|
provide hierarchical naming of sets of namespaces,
|
313 |
|
|
for instance virtual servers and checkpoint/restart
|
314 |
|
|
jobs.
|
315 |
|
|
|
316 |
|
|
config CPUSETS
|
317 |
|
|
bool "Cpuset support"
|
318 |
|
|
depends on SMP && CGROUPS
|
319 |
|
|
help
|
320 |
|
|
This option will let you create and manage CPUSETs which
|
321 |
|
|
allow dynamically partitioning a system into sets of CPUs and
|
322 |
|
|
Memory Nodes and assigning tasks to run only within those sets.
|
323 |
|
|
This is primarily useful on large SMP or NUMA systems.
|
324 |
|
|
|
325 |
|
|
Say N if unsure.
|
326 |
|
|
|
327 |
|
|
config FAIR_GROUP_SCHED
|
328 |
|
|
bool "Fair group CPU scheduler"
|
329 |
|
|
default y
|
330 |
|
|
help
|
331 |
|
|
This feature lets CPU scheduler recognize task groups and control CPU
|
332 |
|
|
bandwidth allocation to such task groups.
|
333 |
|
|
|
334 |
|
|
choice
|
335 |
|
|
depends on FAIR_GROUP_SCHED
|
336 |
|
|
prompt "Basis for grouping tasks"
|
337 |
|
|
default FAIR_USER_SCHED
|
338 |
|
|
|
339 |
|
|
config FAIR_USER_SCHED
|
340 |
|
|
bool "user id"
|
341 |
|
|
help
|
342 |
|
|
This option will choose userid as the basis for grouping
|
343 |
|
|
tasks, thus providing equal CPU bandwidth to each user.
|
344 |
|
|
|
345 |
|
|
config FAIR_CGROUP_SCHED
|
346 |
|
|
bool "Control groups"
|
347 |
|
|
depends on CGROUPS
|
348 |
|
|
help
|
349 |
|
|
This option allows you to create arbitrary task groups
|
350 |
|
|
using the "cgroup" pseudo filesystem and control
|
351 |
|
|
the cpu bandwidth allocated to each such task group.
|
352 |
|
|
Refer to Documentation/cgroups.txt for more information
|
353 |
|
|
on "cgroup" pseudo filesystem.
|
354 |
|
|
|
355 |
|
|
endchoice
|
356 |
|
|
|
357 |
|
|
config CGROUP_CPUACCT
|
358 |
|
|
bool "Simple CPU accounting cgroup subsystem"
|
359 |
|
|
depends on CGROUPS
|
360 |
|
|
help
|
361 |
|
|
Provides a simple Resource Controller for monitoring the
|
362 |
|
|
total CPU consumed by the tasks in a cgroup
|
363 |
|
|
|
364 |
|
|
config SYSFS_DEPRECATED
|
365 |
|
|
bool "Create deprecated sysfs files"
|
366 |
|
|
default y
|
367 |
|
|
help
|
368 |
|
|
This option creates deprecated symlinks such as the
|
369 |
|
|
"device"-link, the :-link, and the
|
370 |
|
|
"bus"-link. It may also add deprecated key in the
|
371 |
|
|
uevent environment.
|
372 |
|
|
None of these features or values should be used today, as
|
373 |
|
|
they export driver core implementation details to userspace
|
374 |
|
|
or export properties which can't be kept stable across kernel
|
375 |
|
|
releases.
|
376 |
|
|
|
377 |
|
|
If enabled, this option will also move any device structures
|
378 |
|
|
that belong to a class, back into the /sys/class hierarchy, in
|
379 |
|
|
order to support older versions of udev.
|
380 |
|
|
|
381 |
|
|
If you are using a distro that was released in 2006 or later,
|
382 |
|
|
it should be safe to say N here.
|
383 |
|
|
|
384 |
|
|
config PROC_PID_CPUSET
|
385 |
|
|
bool "Include legacy /proc//cpuset file"
|
386 |
|
|
depends on CPUSETS
|
387 |
|
|
default y
|
388 |
|
|
|
389 |
|
|
config RELAY
|
390 |
|
|
bool "Kernel->user space relay support (formerly relayfs)"
|
391 |
|
|
help
|
392 |
|
|
This option enables support for relay interface support in
|
393 |
|
|
certain file systems (such as debugfs).
|
394 |
|
|
It is designed to provide an efficient mechanism for tools and
|
395 |
|
|
facilities to relay large amounts of data from kernel space to
|
396 |
|
|
user space.
|
397 |
|
|
|
398 |
|
|
If unsure, say N.
|
399 |
|
|
|
400 |
|
|
config BLK_DEV_INITRD
|
401 |
|
|
bool "Initial RAM filesystem and RAM disk (initramfs/initrd) support"
|
402 |
|
|
depends on BROKEN || !FRV
|
403 |
|
|
help
|
404 |
|
|
The initial RAM filesystem is a ramfs which is loaded by the
|
405 |
|
|
boot loader (loadlin or lilo) and that is mounted as root
|
406 |
|
|
before the normal boot procedure. It is typically used to
|
407 |
|
|
load modules needed to mount the "real" root file system,
|
408 |
|
|
etc. See for details.
|
409 |
|
|
|
410 |
|
|
If RAM disk support (BLK_DEV_RAM) is also included, this
|
411 |
|
|
also enables initial RAM disk (initrd) support and adds
|
412 |
|
|
15 Kbytes (more on some other architectures) to the kernel size.
|
413 |
|
|
|
414 |
|
|
If unsure say Y.
|
415 |
|
|
|
416 |
|
|
if BLK_DEV_INITRD
|
417 |
|
|
|
418 |
|
|
source "usr/Kconfig"
|
419 |
|
|
|
420 |
|
|
endif
|
421 |
|
|
|
422 |
|
|
config CC_OPTIMIZE_FOR_SIZE
|
423 |
|
|
bool "Optimize for size (Look out for broken compilers!)"
|
424 |
|
|
default y
|
425 |
|
|
depends on ARM || H8300 || SUPERH || EXPERIMENTAL
|
426 |
|
|
help
|
427 |
|
|
Enabling this option will pass "-Os" instead of "-O2" to gcc
|
428 |
|
|
resulting in a smaller kernel.
|
429 |
|
|
|
430 |
|
|
WARNING: some versions of gcc may generate incorrect code with this
|
431 |
|
|
option. If problems are observed, a gcc upgrade may be needed.
|
432 |
|
|
|
433 |
|
|
If unsure, say N.
|
434 |
|
|
|
435 |
|
|
config SYSCTL
|
436 |
|
|
bool
|
437 |
|
|
|
438 |
|
|
menuconfig EMBEDDED
|
439 |
|
|
bool "Configure standard kernel features (for small systems)"
|
440 |
|
|
help
|
441 |
|
|
This option allows certain base kernel options and settings
|
442 |
|
|
to be disabled or tweaked. This is for specialized
|
443 |
|
|
environments which can tolerate a "non-standard" kernel.
|
444 |
|
|
Only use this if you really know what you are doing.
|
445 |
|
|
|
446 |
|
|
config UID16
|
447 |
|
|
bool "Enable 16-bit UID system calls" if EMBEDDED
|
448 |
|
|
depends on ARM || BLACKFIN || CRIS || FRV || H8300 || X86_32 || M68K || (S390 && !64BIT) || SUPERH || SPARC32 || (SPARC64 && SPARC32_COMPAT) || UML || (X86_64 && IA32_EMULATION)
|
449 |
|
|
default y
|
450 |
|
|
help
|
451 |
|
|
This enables the legacy 16-bit UID syscall wrappers.
|
452 |
|
|
|
453 |
|
|
config SYSCTL_SYSCALL
|
454 |
|
|
bool "Sysctl syscall support" if EMBEDDED
|
455 |
|
|
default y
|
456 |
|
|
select SYSCTL
|
457 |
|
|
---help---
|
458 |
|
|
sys_sysctl uses binary paths that have been found challenging
|
459 |
|
|
to properly maintain and use. The interface in /proc/sys
|
460 |
|
|
using paths with ascii names is now the primary path to this
|
461 |
|
|
information.
|
462 |
|
|
|
463 |
|
|
Almost nothing using the binary sysctl interface so if you are
|
464 |
|
|
trying to save some space it is probably safe to disable this,
|
465 |
|
|
making your kernel marginally smaller.
|
466 |
|
|
|
467 |
|
|
If unsure say Y here.
|
468 |
|
|
|
469 |
|
|
config KALLSYMS
|
470 |
|
|
bool "Load all symbols for debugging/ksymoops" if EMBEDDED
|
471 |
|
|
default y
|
472 |
|
|
help
|
473 |
|
|
Say Y here to let the kernel print out symbolic crash information and
|
474 |
|
|
symbolic stack backtraces. This increases the size of the kernel
|
475 |
|
|
somewhat, as all symbols have to be loaded into the kernel image.
|
476 |
|
|
|
477 |
|
|
config KALLSYMS_ALL
|
478 |
|
|
bool "Include all symbols in kallsyms"
|
479 |
|
|
depends on DEBUG_KERNEL && KALLSYMS
|
480 |
|
|
help
|
481 |
|
|
Normally kallsyms only contains the symbols of functions, for nicer
|
482 |
|
|
OOPS messages. Some debuggers can use kallsyms for other
|
483 |
|
|
symbols too: say Y here to include all symbols, if you need them
|
484 |
|
|
and you don't care about adding 300k to the size of your kernel.
|
485 |
|
|
|
486 |
|
|
Say N.
|
487 |
|
|
|
488 |
|
|
config KALLSYMS_EXTRA_PASS
|
489 |
|
|
bool "Do an extra kallsyms pass"
|
490 |
|
|
depends on KALLSYMS
|
491 |
|
|
help
|
492 |
|
|
If kallsyms is not working correctly, the build will fail with
|
493 |
|
|
inconsistent kallsyms data. If that occurs, log a bug report and
|
494 |
|
|
turn on KALLSYMS_EXTRA_PASS which should result in a stable build.
|
495 |
|
|
Always say N here unless you find a bug in kallsyms, which must be
|
496 |
|
|
reported. KALLSYMS_EXTRA_PASS is only a temporary workaround while
|
497 |
|
|
you wait for kallsyms to be fixed.
|
498 |
|
|
|
499 |
|
|
|
500 |
|
|
config HOTPLUG
|
501 |
|
|
bool "Support for hot-pluggable devices" if EMBEDDED
|
502 |
|
|
default y
|
503 |
|
|
help
|
504 |
|
|
This option is provided for the case where no hotplug or uevent
|
505 |
|
|
capabilities is wanted by the kernel. You should only consider
|
506 |
|
|
disabling this option for embedded systems that do not use modules, a
|
507 |
|
|
dynamic /dev tree, or dynamic device discovery. Just say Y.
|
508 |
|
|
|
509 |
|
|
config PRINTK
|
510 |
|
|
default y
|
511 |
|
|
bool "Enable support for printk" if EMBEDDED
|
512 |
|
|
help
|
513 |
|
|
This option enables normal printk support. Removing it
|
514 |
|
|
eliminates most of the message strings from the kernel image
|
515 |
|
|
and makes the kernel more or less silent. As this makes it
|
516 |
|
|
very difficult to diagnose system problems, saying N here is
|
517 |
|
|
strongly discouraged.
|
518 |
|
|
|
519 |
|
|
config BUG
|
520 |
|
|
bool "BUG() support" if EMBEDDED
|
521 |
|
|
default y
|
522 |
|
|
help
|
523 |
|
|
Disabling this option eliminates support for BUG and WARN, reducing
|
524 |
|
|
the size of your kernel image and potentially quietly ignoring
|
525 |
|
|
numerous fatal conditions. You should only consider disabling this
|
526 |
|
|
option for embedded systems with no facilities for reporting errors.
|
527 |
|
|
Just say Y.
|
528 |
|
|
|
529 |
|
|
config ELF_CORE
|
530 |
|
|
default y
|
531 |
|
|
bool "Enable ELF core dumps" if EMBEDDED
|
532 |
|
|
help
|
533 |
|
|
Enable support for generating core dumps. Disabling saves about 4k.
|
534 |
|
|
|
535 |
|
|
config BASE_FULL
|
536 |
|
|
default y
|
537 |
|
|
bool "Enable full-sized data structures for core" if EMBEDDED
|
538 |
|
|
help
|
539 |
|
|
Disabling this option reduces the size of miscellaneous core
|
540 |
|
|
kernel data structures. This saves memory on small machines,
|
541 |
|
|
but may reduce performance.
|
542 |
|
|
|
543 |
|
|
config FUTEX
|
544 |
|
|
bool "Enable futex support" if EMBEDDED
|
545 |
|
|
default y
|
546 |
|
|
select RT_MUTEXES
|
547 |
|
|
help
|
548 |
|
|
Disabling this option will cause the kernel to be built without
|
549 |
|
|
support for "fast userspace mutexes". The resulting kernel may not
|
550 |
|
|
run glibc-based applications correctly.
|
551 |
|
|
|
552 |
|
|
config ANON_INODES
|
553 |
|
|
bool
|
554 |
|
|
|
555 |
|
|
config EPOLL
|
556 |
|
|
bool "Enable eventpoll support" if EMBEDDED
|
557 |
|
|
default y
|
558 |
|
|
select ANON_INODES
|
559 |
|
|
help
|
560 |
|
|
Disabling this option will cause the kernel to be built without
|
561 |
|
|
support for epoll family of system calls.
|
562 |
|
|
|
563 |
|
|
config SIGNALFD
|
564 |
|
|
bool "Enable signalfd() system call" if EMBEDDED
|
565 |
|
|
select ANON_INODES
|
566 |
|
|
default y
|
567 |
|
|
help
|
568 |
|
|
Enable the signalfd() system call that allows to receive signals
|
569 |
|
|
on a file descriptor.
|
570 |
|
|
|
571 |
|
|
If unsure, say Y.
|
572 |
|
|
|
573 |
|
|
config TIMERFD
|
574 |
|
|
bool "Enable timerfd() system call" if EMBEDDED
|
575 |
|
|
select ANON_INODES
|
576 |
|
|
depends on BROKEN
|
577 |
|
|
default y
|
578 |
|
|
help
|
579 |
|
|
Enable the timerfd() system call that allows to receive timer
|
580 |
|
|
events on a file descriptor.
|
581 |
|
|
|
582 |
|
|
If unsure, say Y.
|
583 |
|
|
|
584 |
|
|
config EVENTFD
|
585 |
|
|
bool "Enable eventfd() system call" if EMBEDDED
|
586 |
|
|
select ANON_INODES
|
587 |
|
|
default y
|
588 |
|
|
help
|
589 |
|
|
Enable the eventfd() system call that allows to receive both
|
590 |
|
|
kernel notification (ie. KAIO) or userspace notifications.
|
591 |
|
|
|
592 |
|
|
If unsure, say Y.
|
593 |
|
|
|
594 |
|
|
config SHMEM
|
595 |
|
|
bool "Use full shmem filesystem" if EMBEDDED
|
596 |
|
|
default y
|
597 |
|
|
depends on MMU
|
598 |
|
|
help
|
599 |
|
|
The shmem is an internal filesystem used to manage shared memory.
|
600 |
|
|
It is backed by swap and manages resource limits. It is also exported
|
601 |
|
|
to userspace as tmpfs if TMPFS is enabled. Disabling this
|
602 |
|
|
option replaces shmem and tmpfs with the much simpler ramfs code,
|
603 |
|
|
which may be appropriate on small systems without swap.
|
604 |
|
|
|
605 |
|
|
config VM_EVENT_COUNTERS
|
606 |
|
|
default y
|
607 |
|
|
bool "Enable VM event counters for /proc/vmstat" if EMBEDDED
|
608 |
|
|
help
|
609 |
|
|
VM event counters are needed for event counts to be shown.
|
610 |
|
|
This option allows the disabling of the VM event counters
|
611 |
|
|
on EMBEDDED systems. /proc/vmstat will only show page counts
|
612 |
|
|
if VM event counters are disabled.
|
613 |
|
|
|
614 |
|
|
config SLUB_DEBUG
|
615 |
|
|
default y
|
616 |
|
|
bool "Enable SLUB debugging support" if EMBEDDED
|
617 |
|
|
depends on SLUB
|
618 |
|
|
help
|
619 |
|
|
SLUB has extensive debug support features. Disabling these can
|
620 |
|
|
result in significant savings in code size. This also disables
|
621 |
|
|
SLUB sysfs support. /sys/slab will not exist and there will be
|
622 |
|
|
no support for cache validation etc.
|
623 |
|
|
|
624 |
|
|
choice
|
625 |
|
|
prompt "Choose SLAB allocator"
|
626 |
|
|
default SLUB
|
627 |
|
|
help
|
628 |
|
|
This option allows to select a slab allocator.
|
629 |
|
|
|
630 |
|
|
config SLAB
|
631 |
|
|
bool "SLAB"
|
632 |
|
|
help
|
633 |
|
|
The regular slab allocator that is established and known to work
|
634 |
|
|
well in all environments. It organizes cache hot objects in
|
635 |
|
|
per cpu and per node queues. SLAB is the default choice for
|
636 |
|
|
a slab allocator.
|
637 |
|
|
|
638 |
|
|
config SLUB
|
639 |
|
|
bool "SLUB (Unqueued Allocator)"
|
640 |
|
|
help
|
641 |
|
|
SLUB is a slab allocator that minimizes cache line usage
|
642 |
|
|
instead of managing queues of cached objects (SLAB approach).
|
643 |
|
|
Per cpu caching is realized using slabs of objects instead
|
644 |
|
|
of queues of objects. SLUB can use memory efficiently
|
645 |
|
|
and has enhanced diagnostics.
|
646 |
|
|
|
647 |
|
|
config SLOB
|
648 |
|
|
depends on EMBEDDED
|
649 |
|
|
bool "SLOB (Simple Allocator)"
|
650 |
|
|
help
|
651 |
|
|
SLOB replaces the SLAB allocator with a drastically simpler
|
652 |
|
|
allocator. SLOB is more space efficient than SLAB but does not
|
653 |
|
|
scale well (single lock for all operations) and is also highly
|
654 |
|
|
susceptible to fragmentation. SLUB can accomplish a higher object
|
655 |
|
|
density. It is usually better to use SLUB instead of SLOB.
|
656 |
|
|
|
657 |
|
|
endchoice
|
658 |
|
|
|
659 |
|
|
endmenu # General setup
|
660 |
|
|
|
661 |
|
|
config SLABINFO
|
662 |
|
|
bool
|
663 |
|
|
depends on PROC_FS
|
664 |
|
|
depends on SLAB || SLUB
|
665 |
|
|
default y
|
666 |
|
|
|
667 |
|
|
config RT_MUTEXES
|
668 |
|
|
boolean
|
669 |
|
|
select PLIST
|
670 |
|
|
|
671 |
|
|
config TINY_SHMEM
|
672 |
|
|
default !SHMEM
|
673 |
|
|
bool
|
674 |
|
|
|
675 |
|
|
config BASE_SMALL
|
676 |
|
|
int
|
677 |
|
|
default 0 if BASE_FULL
|
678 |
|
|
default 1 if !BASE_FULL
|
679 |
|
|
|
680 |
|
|
menuconfig MODULES
|
681 |
|
|
bool "Enable loadable module support"
|
682 |
|
|
help
|
683 |
|
|
Kernel modules are small pieces of compiled code which can
|
684 |
|
|
be inserted in the running kernel, rather than being
|
685 |
|
|
permanently built into the kernel. You use the "modprobe"
|
686 |
|
|
tool to add (and sometimes remove) them. If you say Y here,
|
687 |
|
|
many parts of the kernel can be built as modules (by
|
688 |
|
|
answering M instead of Y where indicated): this is most
|
689 |
|
|
useful for infrequently used options which are not required
|
690 |
|
|
for booting. For more information, see the man pages for
|
691 |
|
|
modprobe, lsmod, modinfo, insmod and rmmod.
|
692 |
|
|
|
693 |
|
|
If you say Y here, you will need to run "make
|
694 |
|
|
modules_install" to put the modules under /lib/modules/
|
695 |
|
|
where modprobe can find them (you may need to be root to do
|
696 |
|
|
this).
|
697 |
|
|
|
698 |
|
|
If unsure, say Y.
|
699 |
|
|
|
700 |
|
|
config MODULE_UNLOAD
|
701 |
|
|
bool "Module unloading"
|
702 |
|
|
depends on MODULES
|
703 |
|
|
help
|
704 |
|
|
Without this option you will not be able to unload any
|
705 |
|
|
modules (note that some modules may not be unloadable
|
706 |
|
|
anyway), which makes your kernel slightly smaller and
|
707 |
|
|
simpler. If unsure, say Y.
|
708 |
|
|
|
709 |
|
|
config MODULE_FORCE_UNLOAD
|
710 |
|
|
bool "Forced module unloading"
|
711 |
|
|
depends on MODULE_UNLOAD && EXPERIMENTAL
|
712 |
|
|
help
|
713 |
|
|
This option allows you to force a module to unload, even if the
|
714 |
|
|
kernel believes it is unsafe: the kernel will remove the module
|
715 |
|
|
without waiting for anyone to stop using it (using the -f option to
|
716 |
|
|
rmmod). This is mainly for kernel developers and desperate users.
|
717 |
|
|
If unsure, say N.
|
718 |
|
|
|
719 |
|
|
config MODVERSIONS
|
720 |
|
|
bool "Module versioning support"
|
721 |
|
|
depends on MODULES
|
722 |
|
|
help
|
723 |
|
|
Usually, you have to use modules compiled with your kernel.
|
724 |
|
|
Saying Y here makes it sometimes possible to use modules
|
725 |
|
|
compiled for different kernels, by adding enough information
|
726 |
|
|
to the modules to (hopefully) spot any changes which would
|
727 |
|
|
make them incompatible with the kernel you are running. If
|
728 |
|
|
unsure, say N.
|
729 |
|
|
|
730 |
|
|
config MODULE_SRCVERSION_ALL
|
731 |
|
|
bool "Source checksum for all modules"
|
732 |
|
|
depends on MODULES
|
733 |
|
|
help
|
734 |
|
|
Modules which contain a MODULE_VERSION get an extra "srcversion"
|
735 |
|
|
field inserted into their modinfo section, which contains a
|
736 |
|
|
sum of the source files which made it. This helps maintainers
|
737 |
|
|
see exactly which source was used to build a module (since
|
738 |
|
|
others sometimes change the module source without updating
|
739 |
|
|
the version). With this option, such a "srcversion" field
|
740 |
|
|
will be created for all modules. If unsure, say N.
|
741 |
|
|
|
742 |
|
|
config KMOD
|
743 |
|
|
bool "Automatic kernel module loading"
|
744 |
|
|
depends on MODULES
|
745 |
|
|
help
|
746 |
|
|
Normally when you have selected some parts of the kernel to
|
747 |
|
|
be created as kernel modules, you must load them (using the
|
748 |
|
|
"modprobe" command) before you can use them. If you say Y
|
749 |
|
|
here, some parts of the kernel will be able to load modules
|
750 |
|
|
automatically: when a part of the kernel needs a module, it
|
751 |
|
|
runs modprobe with the appropriate arguments, thereby
|
752 |
|
|
loading the module if it is available. If unsure, say Y.
|
753 |
|
|
|
754 |
|
|
config STOP_MACHINE
|
755 |
|
|
bool
|
756 |
|
|
default y
|
757 |
|
|
depends on (SMP && MODULE_UNLOAD) || HOTPLUG_CPU
|
758 |
|
|
help
|
759 |
|
|
Need stop_machine() primitive.
|
760 |
|
|
|
761 |
|
|
source "block/Kconfig"
|
762 |
|
|
|
763 |
|
|
config PREEMPT_NOTIFIERS
|
764 |
|
|
bool
|