Contents of /tags/mkinitrd-6_3_3/busybox/Config.in
Parent Directory | Revision Log
Revision 532 -
(show annotations)
(download)
Sat Sep 1 22:45:15 2007 UTC (17 years ago) by niro
Original Path: trunk/mkinitrd-magellan/busybox/Config.in
File size: 15801 byte(s)
Sat Sep 1 22:45:15 2007 UTC (17 years ago) by niro
Original Path: trunk/mkinitrd-magellan/busybox/Config.in
File size: 15801 byte(s)
-import if magellan mkinitrd; it is a fork of redhats mkinitrd-5.0.8 with all magellan patches and features; deprecates magellan-src/mkinitrd
1 | # |
2 | # For a description of the syntax of this configuration file, |
3 | # see scripts/kbuild/config-language.txt. |
4 | # |
5 | |
6 | mainmenu "BusyBox Configuration" |
7 | |
8 | config HAVE_DOT_CONFIG |
9 | bool |
10 | default y |
11 | |
12 | menu "Busybox Settings" |
13 | |
14 | menu "General Configuration" |
15 | |
16 | config NITPICK |
17 | bool "See lots more (probably unnecessary) configuration options." |
18 | default n |
19 | help |
20 | Some BusyBox applets have more configuration options than anyone |
21 | will ever care about. To avoid drowining people in complexity, most |
22 | of the applet features that can be set to a sane default value are |
23 | hidden, unless you hit the above switch. |
24 | |
25 | This is better than to telling people to edit the busybox source |
26 | code, but not by much. |
27 | |
28 | See http://en.wikipedia.org/wiki/Fibber_McGee_and_Molly#The_Closet |
29 | |
30 | You have been warned. |
31 | |
32 | config DESKTOP |
33 | bool "Enable options for full-blown desktop systems" |
34 | default n |
35 | help |
36 | Enable options and features which are not essential. |
37 | Select this only if you plan to use busybox on full-blown |
38 | desktop machine with common Linux distro, not on an embedded box. |
39 | |
40 | choice |
41 | prompt "Buffer allocation policy" |
42 | default FEATURE_BUFFERS_USE_MALLOC |
43 | depends on NITPICK |
44 | help |
45 | There are 3 ways BusyBox can handle buffer allocations: |
46 | - Use malloc. This costs code size for the call to xmalloc. |
47 | - Put them on stack. For some very small machines with limited stack |
48 | space, this can be deadly. For most folks, this works just fine. |
49 | - Put them in BSS. This works beautifully for computers with a real |
50 | MMU (and OS support), but wastes runtime RAM for uCLinux. This |
51 | behavior was the only one available for BusyBox versions 0.48 and |
52 | earlier. |
53 | |
54 | config FEATURE_BUFFERS_USE_MALLOC |
55 | bool "Allocate with Malloc" |
56 | |
57 | config FEATURE_BUFFERS_GO_ON_STACK |
58 | bool "Allocate on the Stack" |
59 | |
60 | config FEATURE_BUFFERS_GO_IN_BSS |
61 | bool "Allocate in the .bss section" |
62 | |
63 | endchoice |
64 | |
65 | config SHOW_USAGE |
66 | bool "Show terse applet usage messages" |
67 | default y |
68 | help |
69 | All BusyBox applets will show help messages when invoked with |
70 | wrong arguments. You can turn off printing these terse usage |
71 | messages if you say no here. |
72 | This will save you up to 7k. |
73 | |
74 | config FEATURE_VERBOSE_USAGE |
75 | bool "Show verbose applet usage messages" |
76 | default n |
77 | select SHOW_USAGE |
78 | help |
79 | All BusyBox applets will show more verbose help messages when |
80 | busybox is invoked with --help. This will add a lot of text to the |
81 | busybox binary. In the default configuration, this will add about |
82 | 13k, but it can add much more depending on your configuration. |
83 | |
84 | config FEATURE_COMPRESS_USAGE |
85 | bool "Store applet usage messages in compressed form" |
86 | default y |
87 | depends on SHOW_USAGE |
88 | help |
89 | Store usage messages in compressed form, uncompress them on-the-fly |
90 | when <applet> --help is called. |
91 | |
92 | If you have a really tiny busybox with few applets enabled (and |
93 | bunzip2 isn't one of them), the overhead of the decompressor might |
94 | be noticeable. Also, if you run executables directly from ROM |
95 | and have very little memory, this might not be a win. Otherwise, |
96 | you probably want this. |
97 | |
98 | config FEATURE_INSTALLER |
99 | bool "Support --install [-s] to install applet links at runtime" |
100 | default n |
101 | help |
102 | Enable 'busybox --install [-s]' support. This will allow you to use |
103 | busybox at runtime to create hard links or symlinks for all the |
104 | applets that are compiled into busybox. This feature requires the |
105 | /proc filesystem. |
106 | |
107 | config LOCALE_SUPPORT |
108 | bool "Enable locale support (system needs locale for this to work)" |
109 | default n |
110 | help |
111 | Enable this if your system has locale support and you would like |
112 | busybox to support locale settings. |
113 | |
114 | config GETOPT_LONG |
115 | bool "Enable support for --long-options" |
116 | default y |
117 | help |
118 | Enable this if you want busybox applets to use the gnu --long-option |
119 | style, in addition to single character -a -b -c style options. |
120 | |
121 | config FEATURE_DEVPTS |
122 | bool "Use the devpts filesystem for Unix98 PTYs" |
123 | default y |
124 | help |
125 | Enable if you want BusyBox to use Unix98 PTY support. If enabled, |
126 | busybox will use /dev/ptmx for the master side of the pseudoterminal |
127 | and /dev/pts/<number> for the slave side. Otherwise, BSD style |
128 | /dev/ttyp<number> will be used. To use this option, you should have |
129 | devpts mounted. |
130 | |
131 | config FEATURE_CLEAN_UP |
132 | bool "Clean up all memory before exiting (usually not needed)" |
133 | default n |
134 | depends on NITPICK |
135 | help |
136 | As a size optimization, busybox normally exits without explicitly |
137 | freeing dynamically allocated memory or closing files. This saves |
138 | space since the OS will clean up for us, but it can confuse debuggers |
139 | like valgrind, which report tons of memory and resource leaks. |
140 | |
141 | Don't enable this unless you have a really good reason to clean |
142 | things up manually. |
143 | |
144 | config FEATURE_SUID |
145 | bool "Support for SUID/SGID handling" |
146 | default n |
147 | help |
148 | With this option you can install the busybox binary belonging |
149 | to root with the suid bit set, and it'll and it'll automatically drop |
150 | priviledges for applets that don't need root access. |
151 | |
152 | If you're really paranoid and don't want to do this, build two |
153 | busybox binaries with different applets in them (and the appropriate |
154 | symlinks pointing to each binary), and only set the suid bit on the |
155 | one that needs it. The applets currently marked to need the suid bit |
156 | are login, passwd, su, ping, traceroute, crontab, dnsd, ipcrm, ipcs, |
157 | and vlock. |
158 | |
159 | config FEATURE_SYSLOG |
160 | bool "Support for syslog" |
161 | default n |
162 | help |
163 | This option is auto-selected when you select any applet which may |
164 | send its output to syslog. You do not need to select it manually. |
165 | |
166 | config FEATURE_SUID_CONFIG |
167 | bool "Runtime SUID/SGID configuration via /etc/busybox.conf" |
168 | default n if FEATURE_SUID |
169 | depends on FEATURE_SUID |
170 | help |
171 | Allow the SUID / SGID state of an applet to be determined at runtime |
172 | by checking /etc/busybox.conf. (This is sort of a poor man's sudo.) |
173 | The format of this file is as follows: |
174 | |
175 | <applet> = [Ssx-][Ssx-][x-] (<username>|<uid>).(<groupname>|<gid>) |
176 | |
177 | An example might help: |
178 | |
179 | [SUID] |
180 | su = ssx root.0 # applet su can be run by anyone and runs with euid=0/egid=0 |
181 | su = ssx # exactly the same |
182 | |
183 | mount = sx- root.disk # applet mount can be run by root and members of group disk |
184 | # and runs with euid=0 |
185 | |
186 | cp = --- # disable applet cp for everyone |
187 | |
188 | The file has to be owned by user root, group root and has to be |
189 | writeable only by root: |
190 | (chown 0.0 /etc/busybox.conf; chmod 600 /etc/busybox.conf) |
191 | The busybox executable has to be owned by user root, group |
192 | root and has to be setuid root for this to work: |
193 | (chown 0.0 /bin/busybox; chmod 4755 /bin/busybox) |
194 | |
195 | Robert 'sandman' Griebl has more information here: |
196 | <url: http://www.softforge.de/bb/suid.html >. |
197 | |
198 | config FEATURE_SUID_CONFIG_QUIET |
199 | bool "Suppress warning message if /etc/busybox.conf is not readable" |
200 | default y |
201 | depends on FEATURE_SUID_CONFIG |
202 | help |
203 | /etc/busybox.conf should be readable by the user needing the SUID, check |
204 | this option to avoid users to be notified about missing permissions. |
205 | |
206 | config FEATURE_HAVE_RPC |
207 | bool "RPC support" |
208 | default y |
209 | help |
210 | Select this if you have rpc support. |
211 | This automatically turns off all configuration options that rely |
212 | on RPC. |
213 | |
214 | config SELINUX |
215 | bool "Support NSA Security Enhanced Linux" |
216 | default n |
217 | help |
218 | Enable support for SELinux in applets ls, ps, and id. Also provide |
219 | the option of compiling in SELinux applets. |
220 | |
221 | If you do not have a complete SELinux userland installed, this stuff |
222 | will not compile. Go visit |
223 | http://www.nsa.gov/selinux/index.html |
224 | to download the necessary stuff to allow busybox to compile with |
225 | this option enabled. Specifially, libselinux 1.28 or better is |
226 | directly required by busybox. If the installation is located in a |
227 | non-standard directory, provide it by invoking make as follows: |
228 | CFLAGS=-I<libselinux-include-path> \ |
229 | LDFLAGS=-L<libselinux-lib-path> \ |
230 | make |
231 | |
232 | Most people will leave this set to 'N'. |
233 | |
234 | config BUSYBOX_EXEC_PATH |
235 | string "Path to BusyBox executable" |
236 | default "/proc/self/exe" |
237 | help |
238 | When Busybox applets need to run other busybox applets, BusyBox |
239 | sometimes needs to exec() itself. When the /proc filesystem is |
240 | mounted, /proc/self/exe always points to the currently running |
241 | executable. If you haven't got /proc, set this to wherever you |
242 | want to run BusyBox from. |
243 | |
244 | endmenu |
245 | |
246 | menu 'Build Options' |
247 | |
248 | config STATIC |
249 | bool "Build BusyBox as a static binary (no shared libs)" |
250 | default n |
251 | help |
252 | If you want to build a static BusyBox binary, which does not |
253 | use or require any shared libraries, then enable this option. |
254 | This can cause BusyBox to be considerably larger, so you should |
255 | leave this option false unless you have a good reason (i.e. |
256 | your target platform does not support shared libraries, or |
257 | you are building an initrd which doesn't need anything but |
258 | BusyBox, etc). |
259 | |
260 | Most people will leave this set to 'N'. |
261 | |
262 | config BUILD_LIBBUSYBOX |
263 | bool "Build shared libbusybox" |
264 | default n |
265 | help |
266 | Build a shared library libbusybox.so which contains all |
267 | libraries used inside busybox. |
268 | |
269 | This is an experimental feature intended to support the upcoming |
270 | "make standalone" mode. Enabling it against the one big busybox |
271 | binary serves no purpose (and increases the size). You should |
272 | almost certainly say "no" to this right now. |
273 | |
274 | config FEATURE_FULL_LIBBUSYBOX |
275 | bool "Feature-complete libbusybox" |
276 | default n if !FEATURE_SHARED_BUSYBOX |
277 | depends on BUILD_LIBBUSYBOX |
278 | help |
279 | Build a libbusybox with the complete feature-set, disregarding |
280 | the actually selected config. |
281 | |
282 | Normally, libbusybox will only contain the features which are |
283 | used by busybox itself. If you plan to write a separate |
284 | standalone application which uses libbusybox say 'Y'. |
285 | |
286 | Note: libbusybox is GPL, not LGPL, and exports no stable API that |
287 | might act as a copyright barrier. We can and will modify the |
288 | exported function set between releases (even minor version number |
289 | changes), and happily break out-of-tree features. |
290 | |
291 | Say 'N' if in doubt. |
292 | |
293 | config FEATURE_SHARED_BUSYBOX |
294 | bool "Use shared libbusybox for busybox" |
295 | default y if BUILD_LIBBUSYBOX |
296 | depends on !STATIC && BUILD_LIBBUSYBOX |
297 | help |
298 | Use libbusybox.so also for busybox itself. |
299 | You need to have a working dynamic linker to use this variant. |
300 | |
301 | config LFS |
302 | bool "Build with Large File Support (for accessing files > 2 GB)" |
303 | default n |
304 | select FDISK_SUPPORT_LARGE_DISKS |
305 | help |
306 | If you want to build BusyBox with large file support, then enable |
307 | this option. This will have no effect if your kernel or your C |
308 | library lacks large file support for large files. Some of the |
309 | programs that can benefit from large file support include dd, gzip, |
310 | cp, mount, tar, and many others. If you want to access files larger |
311 | than 2 Gigabytes, enable this option. Otherwise, leave it set to 'N'. |
312 | |
313 | config BUILD_AT_ONCE |
314 | bool "Compile all sources at once" |
315 | default n |
316 | help |
317 | Normally each source-file is compiled with one invocation of |
318 | the compiler. |
319 | If you set this option, all sources are compiled at once. |
320 | This gives the compiler more opportunities to optimize which can |
321 | result in smaller and/or faster binaries. |
322 | |
323 | Setting this option will consume alot of memory, e.g. if you |
324 | enable all applets with all features, gcc uses more than 300MB |
325 | RAM during compilation of busybox. |
326 | |
327 | This option is most likely only beneficial for newer compilers |
328 | such as gcc-4.1 and above. |
329 | |
330 | Say 'N' unless you know what you are doing. |
331 | |
332 | endmenu |
333 | |
334 | menu 'Debugging Options' |
335 | |
336 | config DEBUG |
337 | bool "Build BusyBox with extra Debugging symbols" |
338 | default n |
339 | help |
340 | Say Y here if you wish to examine BusyBox internals while applets are |
341 | running. This increases the size of the binary considerably, and |
342 | should only be used when doing development. If you are doing |
343 | development and want to debug BusyBox, answer Y. |
344 | |
345 | Most people should answer N. |
346 | |
347 | config DEBUG_PESSIMIZE |
348 | bool "Disable compiler optimizations." |
349 | default n |
350 | depends on DEBUG |
351 | help |
352 | The compiler's optimization of source code can eliminate and reorder |
353 | code, resulting in an executable that's hard to understand when |
354 | stepping through it with a debugger. This switches it off, resulting |
355 | in a much bigger executable that more closely matches the source |
356 | code. |
357 | |
358 | choice |
359 | prompt "Additional debugging library" |
360 | default NO_DEBUG_LIB |
361 | depends on DEBUG |
362 | help |
363 | Using an additional debugging library will make BusyBox become |
364 | considerable larger and will cause it to run more slowly. You |
365 | should always leave this option disabled for production use. |
366 | |
367 | dmalloc support: |
368 | ---------------- |
369 | This enables compiling with dmalloc ( http://dmalloc.com/ ) |
370 | which is an excellent public domain mem leak and malloc problem |
371 | detector. To enable dmalloc, before running busybox you will |
372 | want to properly set your environment, for example: |
373 | export DMALLOC_OPTIONS=debug=0x34f47d83,inter=100,log=logfile |
374 | The 'debug=' value is generated using the following command |
375 | dmalloc -p log-stats -p log-non-free -p log-bad-space -p log-elapsed-time \ |
376 | -p check-fence -p check-heap -p check-lists -p check-blank \ |
377 | -p check-funcs -p realloc-copy -p allow-free-null |
378 | |
379 | Electric-fence support: |
380 | ----------------------- |
381 | This enables compiling with Electric-fence support. Electric |
382 | fence is another very useful malloc debugging library which uses |
383 | your computer's virtual memory hardware to detect illegal memory |
384 | accesses. This support will make BusyBox be considerable larger |
385 | and run slower, so you should leave this option disabled unless |
386 | you are hunting a hard to find memory problem. |
387 | |
388 | |
389 | config NO_DEBUG_LIB |
390 | bool "None" |
391 | |
392 | config DMALLOC |
393 | bool "Dmalloc" |
394 | |
395 | config EFENCE |
396 | bool "Electric-fence" |
397 | |
398 | endchoice |
399 | |
400 | config INCLUDE_SUSv2 |
401 | bool "Enable obsolete features removed before SUSv3?" |
402 | default y |
403 | help |
404 | This option will enable backwards compatibility with SuSv2, |
405 | specifically, old-style numeric options ('command -1 <file>') |
406 | will be supported in head, tail, and fold. (Note: should |
407 | affect renice too.) |
408 | |
409 | endmenu |
410 | |
411 | menu 'Installation Options' |
412 | |
413 | config INSTALL_NO_USR |
414 | bool "Don't use /usr" |
415 | default n |
416 | help |
417 | Disable use of /usr. Don't activate this option if you don't know |
418 | that you really want this behaviour. |
419 | |
420 | choice |
421 | prompt "Applets links" |
422 | default INSTALL_APPLET_SYMLINKS |
423 | help |
424 | Choose how you install applets links. |
425 | |
426 | config INSTALL_APPLET_SYMLINKS |
427 | bool "as soft-links" |
428 | help |
429 | Install applets as soft-links to the busybox binary. This needs some |
430 | free inodes on the filesystem, but might help with filesystem |
431 | generators that can't cope with hard-links. |
432 | |
433 | config INSTALL_APPLET_HARDLINKS |
434 | bool "as hard-links" |
435 | help |
436 | Install applets as hard-links to the busybox binary. This might count |
437 | on a filesystem with few inodes. |
438 | |
439 | config INSTALL_APPLET_DONT |
440 | bool |
441 | prompt "not installed" |
442 | depends on FEATURE_INSTALLER || FEATURE_SH_STANDALONE_SHELL |
443 | help |
444 | Do not install applet links. Useful when using the -install feature |
445 | or a standalone shell for rescue pruposes. |
446 | |
447 | endchoice |
448 | |
449 | config PREFIX |
450 | string "BusyBox installation prefix" |
451 | default "./_install" |
452 | help |
453 | Define your directory to install BusyBox files/subdirs in. |
454 | |
455 | endmenu |
456 | |
457 | source libbb/Config.in |
458 | |
459 | endmenu |
460 | |
461 | comment "Applets" |
462 | |
463 | source archival/Config.in |
464 | source coreutils/Config.in |
465 | source console-tools/Config.in |
466 | source debianutils/Config.in |
467 | source editors/Config.in |
468 | source findutils/Config.in |
469 | source init/Config.in |
470 | source loginutils/Config.in |
471 | source e2fsprogs/Config.in |
472 | source modutils/Config.in |
473 | source util-linux/Config.in |
474 | source miscutils/Config.in |
475 | source networking/Config.in |
476 | source procps/Config.in |
477 | source shell/Config.in |
478 | source sysklogd/Config.in |
479 | source runit/Config.in |