13 |
|
|
14 |
menu "General Configuration" |
menu "General Configuration" |
15 |
|
|
|
config NITPICK |
|
|
bool "See lots more (probably unnecessary) configuration options." |
|
|
default n |
|
|
help |
|
|
Some BusyBox applets have more configuration options than anyone |
|
|
will ever care about. To avoid drowining people in complexity, most |
|
|
of the applet features that can be set to a sane default value are |
|
|
hidden, unless you hit the above switch. |
|
|
|
|
|
This is better than to telling people to edit the busybox source |
|
|
code, but not by much. |
|
|
|
|
|
See http://en.wikipedia.org/wiki/Fibber_McGee_and_Molly#The_Closet |
|
|
|
|
|
You have been warned. |
|
|
|
|
16 |
config DESKTOP |
config DESKTOP |
17 |
bool "Enable options for full-blown desktop systems" |
bool "Enable options for full-blown desktop systems" |
18 |
default n |
default n |
21 |
Select this only if you plan to use busybox on full-blown |
Select this only if you plan to use busybox on full-blown |
22 |
desktop machine with common Linux distro, not on an embedded box. |
desktop machine with common Linux distro, not on an embedded box. |
23 |
|
|
24 |
|
config EXTRA_COMPAT |
25 |
|
bool "Provide compatible behavior for rare corner cases (bigger code)" |
26 |
|
default n |
27 |
|
help |
28 |
|
This option makes grep, sed etc handle rare corner cases |
29 |
|
(embedded NUL bytes and such). This makes code bigger and uses |
30 |
|
some GNU extensions in libc. You probably only need this option |
31 |
|
if you plan to run busybox on desktop. |
32 |
|
|
33 |
|
config FEATURE_ASSUME_UNICODE |
34 |
|
bool "Assume that 1:1 char/glyph correspondence is not true" |
35 |
|
default n |
36 |
|
help |
37 |
|
This makes various applets aware that one byte is not |
38 |
|
one character on screen. |
39 |
|
|
40 |
|
Busybox aims to eventually work correctly with Unicode displays. |
41 |
|
Any older encodings are not guaranteed to work. |
42 |
|
Probably by the time when busybox will be fully Unicode-clean, |
43 |
|
other encodings will be mainly of historic interest. |
44 |
|
|
45 |
choice |
choice |
46 |
prompt "Buffer allocation policy" |
prompt "Buffer allocation policy" |
47 |
default FEATURE_BUFFERS_USE_MALLOC |
default FEATURE_BUFFERS_USE_MALLOC |
|
depends on NITPICK |
|
48 |
help |
help |
49 |
There are 3 ways BusyBox can handle buffer allocations: |
There are 3 ways BusyBox can handle buffer allocations: |
50 |
- Use malloc. This costs code size for the call to xmalloc. |
- Use malloc. This costs code size for the call to xmalloc. |
51 |
- Put them on stack. For some very small machines with limited stack |
- Put them on stack. For some very small machines with limited stack |
52 |
space, this can be deadly. For most folks, this works just fine. |
space, this can be deadly. For most folks, this works just fine. |
53 |
- Put them in BSS. This works beautifully for computers with a real |
- Put them in BSS. This works beautifully for computers with a real |
54 |
MMU (and OS support), but wastes runtime RAM for uCLinux. This |
MMU (and OS support), but wastes runtime RAM for uCLinux. This |
55 |
behavior was the only one available for BusyBox versions 0.48 and |
behavior was the only one available for BusyBox versions 0.48 and |
81 |
select SHOW_USAGE |
select SHOW_USAGE |
82 |
help |
help |
83 |
All BusyBox applets will show more verbose help messages when |
All BusyBox applets will show more verbose help messages when |
84 |
busybox is invoked with --help. This will add a lot of text to the |
busybox is invoked with --help. This will add a lot of text to the |
85 |
busybox binary. In the default configuration, this will add about |
busybox binary. In the default configuration, this will add about |
86 |
13k, but it can add much more depending on your configuration. |
13k, but it can add much more depending on your configuration. |
87 |
|
|
88 |
config FEATURE_COMPRESS_USAGE |
config FEATURE_COMPRESS_USAGE |
95 |
|
|
96 |
If you have a really tiny busybox with few applets enabled (and |
If you have a really tiny busybox with few applets enabled (and |
97 |
bunzip2 isn't one of them), the overhead of the decompressor might |
bunzip2 isn't one of them), the overhead of the decompressor might |
98 |
be noticeable. Also, if you run executables directly from ROM |
be noticeable. Also, if you run executables directly from ROM |
99 |
and have very little memory, this might not be a win. Otherwise, |
and have very little memory, this might not be a win. Otherwise, |
100 |
you probably want this. |
you probably want this. |
101 |
|
|
102 |
config FEATURE_INSTALLER |
config FEATURE_INSTALLER |
103 |
bool "Support --install [-s] to install applet links at runtime" |
bool "Support --install [-s] to install applet links at runtime" |
104 |
default n |
default n |
105 |
help |
help |
106 |
Enable 'busybox --install [-s]' support. This will allow you to use |
Enable 'busybox --install [-s]' support. This will allow you to use |
107 |
busybox at runtime to create hard links or symlinks for all the |
busybox at runtime to create hard links or symlinks for all the |
108 |
applets that are compiled into busybox. This feature requires the |
applets that are compiled into busybox. |
|
/proc filesystem. |
|
109 |
|
|
110 |
config LOCALE_SUPPORT |
config LOCALE_SUPPORT |
111 |
bool "Enable locale support (system needs locale for this to work)" |
bool "Enable locale support (system needs locale for this to work)" |
115 |
busybox to support locale settings. |
busybox to support locale settings. |
116 |
|
|
117 |
config GETOPT_LONG |
config GETOPT_LONG |
118 |
bool "Enable support for --long-options" |
bool "Support for --long-options" |
119 |
default y |
default y |
120 |
help |
help |
121 |
Enable this if you want busybox applets to use the gnu --long-option |
Enable this if you want busybox applets to use the gnu --long-option |
127 |
help |
help |
128 |
Enable if you want BusyBox to use Unix98 PTY support. If enabled, |
Enable if you want BusyBox to use Unix98 PTY support. If enabled, |
129 |
busybox will use /dev/ptmx for the master side of the pseudoterminal |
busybox will use /dev/ptmx for the master side of the pseudoterminal |
130 |
and /dev/pts/<number> for the slave side. Otherwise, BSD style |
and /dev/pts/<number> for the slave side. Otherwise, BSD style |
131 |
/dev/ttyp<number> will be used. To use this option, you should have |
/dev/ttyp<number> will be used. To use this option, you should have |
132 |
devpts mounted. |
devpts mounted. |
133 |
|
|
134 |
config FEATURE_CLEAN_UP |
config FEATURE_CLEAN_UP |
135 |
bool "Clean up all memory before exiting (usually not needed)" |
bool "Clean up all memory before exiting (usually not needed)" |
136 |
default n |
default n |
|
depends on NITPICK |
|
137 |
help |
help |
138 |
As a size optimization, busybox normally exits without explicitly |
As a size optimization, busybox normally exits without explicitly |
139 |
freeing dynamically allocated memory or closing files. This saves |
freeing dynamically allocated memory or closing files. This saves |
140 |
space since the OS will clean up for us, but it can confuse debuggers |
space since the OS will clean up for us, but it can confuse debuggers |
141 |
like valgrind, which report tons of memory and resource leaks. |
like valgrind, which report tons of memory and resource leaks. |
142 |
|
|
143 |
Don't enable this unless you have a really good reason to clean |
Don't enable this unless you have a really good reason to clean |
144 |
things up manually. |
things up manually. |
145 |
|
|
146 |
|
config FEATURE_PIDFILE |
147 |
|
bool "Support writing pidfiles" |
148 |
|
default n |
149 |
|
help |
150 |
|
This option makes some applets (e.g. crond, syslogd, inetd) write |
151 |
|
a pidfile in /var/run. Some applications rely on them. |
152 |
|
|
153 |
config FEATURE_SUID |
config FEATURE_SUID |
154 |
bool "Support for SUID/SGID handling" |
bool "Support for SUID/SGID handling" |
155 |
default n |
default n |
156 |
help |
help |
157 |
With this option you can install the busybox binary belonging |
With this option you can install the busybox binary belonging |
158 |
to root with the suid bit set, and it'll and it'll automatically drop |
to root with the suid bit set, and it will automatically drop |
159 |
priviledges for applets that don't need root access. |
priviledges for applets that don't need root access. |
160 |
|
|
161 |
If you're really paranoid and don't want to do this, build two |
If you are really paranoid and don't want to do this, build two |
162 |
busybox binaries with different applets in them (and the appropriate |
busybox binaries with different applets in them (and the appropriate |
163 |
symlinks pointing to each binary), and only set the suid bit on the |
symlinks pointing to each binary), and only set the suid bit on the |
164 |
one that needs it. The applets currently marked to need the suid bit |
one that needs it. The applets currently marked to need the suid bit |
165 |
are login, passwd, su, ping, traceroute, crontab, dnsd, ipcrm, ipcs, |
are: |
|
and vlock. |
|
166 |
|
|
167 |
config FEATURE_SYSLOG |
crontab, dnsd, findfs, ipcrm, ipcs, login, passwd, ping, su, |
168 |
bool "Support for syslog" |
traceroute, vlock. |
|
default n |
|
|
help |
|
|
This option is auto-selected when you select any applet which may |
|
|
send its output to syslog. You do not need to select it manually. |
|
169 |
|
|
170 |
config FEATURE_SUID_CONFIG |
config FEATURE_SUID_CONFIG |
171 |
bool "Runtime SUID/SGID configuration via /etc/busybox.conf" |
bool "Runtime SUID/SGID configuration via /etc/busybox.conf" |
173 |
depends on FEATURE_SUID |
depends on FEATURE_SUID |
174 |
help |
help |
175 |
Allow the SUID / SGID state of an applet to be determined at runtime |
Allow the SUID / SGID state of an applet to be determined at runtime |
176 |
by checking /etc/busybox.conf. (This is sort of a poor man's sudo.) |
by checking /etc/busybox.conf. (This is sort of a poor man's sudo.) |
177 |
The format of this file is as follows: |
The format of this file is as follows: |
178 |
|
|
179 |
<applet> = [Ssx-][Ssx-][x-] (<username>|<uid>).(<groupname>|<gid>) |
<applet> = [Ssx-][Ssx-][x-] (<username>|<uid>).(<groupname>|<gid>) |
181 |
An example might help: |
An example might help: |
182 |
|
|
183 |
[SUID] |
[SUID] |
184 |
su = ssx root.0 # applet su can be run by anyone and runs with euid=0/egid=0 |
su = ssx root.0 # applet su can be run by anyone and runs with |
185 |
|
# euid=0/egid=0 |
186 |
su = ssx # exactly the same |
su = ssx # exactly the same |
187 |
|
|
188 |
mount = sx- root.disk # applet mount can be run by root and members of group disk |
mount = sx- root.disk # applet mount can be run by root and members |
189 |
# and runs with euid=0 |
# of group disk and runs with euid=0 |
190 |
|
|
191 |
cp = --- # disable applet cp for everyone |
cp = --- # disable applet cp for everyone |
192 |
|
|
193 |
The file has to be owned by user root, group root and has to be |
The file has to be owned by user root, group root and has to be |
194 |
writeable only by root: |
writeable only by root: |
195 |
(chown 0.0 /etc/busybox.conf; chmod 600 /etc/busybox.conf) |
(chown 0.0 /etc/busybox.conf; chmod 600 /etc/busybox.conf) |
196 |
The busybox executable has to be owned by user root, group |
The busybox executable has to be owned by user root, group |
197 |
root and has to be setuid root for this to work: |
root and has to be setuid root for this to work: |
198 |
(chown 0.0 /bin/busybox; chmod 4755 /bin/busybox) |
(chown 0.0 /bin/busybox; chmod 4755 /bin/busybox) |
199 |
|
|
200 |
Robert 'sandman' Griebl has more information here: |
Robert 'sandman' Griebl has more information here: |
201 |
<url: http://www.softforge.de/bb/suid.html >. |
<url: http://www.softforge.de/bb/suid.html >. |
205 |
default y |
default y |
206 |
depends on FEATURE_SUID_CONFIG |
depends on FEATURE_SUID_CONFIG |
207 |
help |
help |
208 |
/etc/busybox.conf should be readable by the user needing the SUID, check |
/etc/busybox.conf should be readable by the user needing the SUID, |
209 |
this option to avoid users to be notified about missing permissions. |
check this option to avoid users to be notified about missing |
210 |
|
permissions. |
|
config FEATURE_HAVE_RPC |
|
|
bool "RPC support" |
|
|
default y |
|
|
help |
|
|
Select this if you have rpc support. |
|
|
This automatically turns off all configuration options that rely |
|
|
on RPC. |
|
211 |
|
|
212 |
config SELINUX |
config SELINUX |
213 |
bool "Support NSA Security Enhanced Linux" |
bool "Support NSA Security Enhanced Linux" |
214 |
default n |
default n |
215 |
help |
help |
216 |
Enable support for SELinux in applets ls, ps, and id. Also provide |
Enable support for SELinux in applets ls, ps, and id. Also provide |
217 |
the option of compiling in SELinux applets. |
the option of compiling in SELinux applets. |
218 |
|
|
219 |
If you do not have a complete SELinux userland installed, this stuff |
If you do not have a complete SELinux userland installed, this stuff |
229 |
|
|
230 |
Most people will leave this set to 'N'. |
Most people will leave this set to 'N'. |
231 |
|
|
232 |
|
config FEATURE_PREFER_APPLETS |
233 |
|
bool "exec prefers applets" |
234 |
|
default n |
235 |
|
help |
236 |
|
This is an experimental option which directs applets about to |
237 |
|
call 'exec' to try and find an applicable busybox applet before |
238 |
|
searching the PATH. This is typically done by exec'ing |
239 |
|
/proc/self/exe. |
240 |
|
This may affect shell, find -exec, xargs and similar applets. |
241 |
|
They will use applets even if /bin/<applet> -> busybox link |
242 |
|
is missing (or is not a link to busybox). However, this causes |
243 |
|
problems in chroot jails without mounted /proc and with ps/top |
244 |
|
(command name can be shown as 'exe' for applets started this way). |
245 |
|
|
246 |
config BUSYBOX_EXEC_PATH |
config BUSYBOX_EXEC_PATH |
247 |
string "Path to BusyBox executable" |
string "Path to BusyBox executable" |
248 |
default "/proc/self/exe" |
default "/proc/self/exe" |
249 |
help |
help |
250 |
When Busybox applets need to run other busybox applets, BusyBox |
When Busybox applets need to run other busybox applets, BusyBox |
251 |
sometimes needs to exec() itself. When the /proc filesystem is |
sometimes needs to exec() itself. When the /proc filesystem is |
252 |
mounted, /proc/self/exe always points to the currently running |
mounted, /proc/self/exe always points to the currently running |
253 |
executable. If you haven't got /proc, set this to wherever you |
executable. If you haven't got /proc, set this to wherever you |
254 |
want to run BusyBox from. |
want to run BusyBox from. |
255 |
|
|
256 |
|
# These are auto-selected by other options |
257 |
|
|
258 |
|
config FEATURE_SYSLOG |
259 |
|
bool #No description makes it a hidden option |
260 |
|
default n |
261 |
|
#help |
262 |
|
# This option is auto-selected when you select any applet which may |
263 |
|
# send its output to syslog. You do not need to select it manually. |
264 |
|
|
265 |
|
config FEATURE_HAVE_RPC |
266 |
|
bool #No description makes it a hidden option |
267 |
|
default n |
268 |
|
#help |
269 |
|
# This is automatically selected if any of enabled applets need it. |
270 |
|
# You do not need to select it manually. |
271 |
|
|
272 |
endmenu |
endmenu |
273 |
|
|
274 |
menu 'Build Options' |
menu 'Build Options' |
287 |
|
|
288 |
Most people will leave this set to 'N'. |
Most people will leave this set to 'N'. |
289 |
|
|
290 |
|
config PIE |
291 |
|
bool "Build BusyBox as a position independent executable" |
292 |
|
default n |
293 |
|
depends on !STATIC |
294 |
|
help |
295 |
|
(TODO: what is it and why/when is it useful?) |
296 |
|
Most people will leave this set to 'N'. |
297 |
|
|
298 |
|
config NOMMU |
299 |
|
bool "Force NOMMU build" |
300 |
|
default n |
301 |
|
help |
302 |
|
Busybox tries to detect whether architecture it is being |
303 |
|
built against supports MMU or not. If this detection fails, |
304 |
|
or if you want to build NOMMU version of busybox for testing, |
305 |
|
you may force NOMMU build here. |
306 |
|
|
307 |
|
Most people will leave this set to 'N'. |
308 |
|
|
309 |
|
# PIE can be made to work with BUILD_LIBBUSYBOX, but currently |
310 |
|
# build system does not support that |
311 |
config BUILD_LIBBUSYBOX |
config BUILD_LIBBUSYBOX |
312 |
bool "Build shared libbusybox" |
bool "Build shared libbusybox" |
313 |
default n |
default n |
314 |
|
depends on !FEATURE_PREFER_APPLETS && !PIE && !STATIC |
315 |
help |
help |
316 |
Build a shared library libbusybox.so which contains all |
Build a shared library libbusybox.so.N.N.N which contains all |
317 |
libraries used inside busybox. |
busybox code. |
318 |
|
|
319 |
This is an experimental feature intended to support the upcoming |
This feature allows every applet to be built as a tiny |
320 |
"make standalone" mode. Enabling it against the one big busybox |
separate executable. Enabling it for "one big busybox binary" |
321 |
binary serves no purpose (and increases the size). You should |
approach serves no purpose and increases code size. |
322 |
almost certainly say "no" to this right now. |
You should almost certainly say "no" to this. |
323 |
|
|
324 |
config FEATURE_FULL_LIBBUSYBOX |
### config FEATURE_FULL_LIBBUSYBOX |
325 |
bool "Feature-complete libbusybox" |
### bool "Feature-complete libbusybox" |
326 |
default n if !FEATURE_SHARED_BUSYBOX |
### default n if !FEATURE_SHARED_BUSYBOX |
327 |
|
### depends on BUILD_LIBBUSYBOX |
328 |
|
### help |
329 |
|
### Build a libbusybox with the complete feature-set, disregarding |
330 |
|
### the actually selected config. |
331 |
|
### |
332 |
|
### Normally, libbusybox will only contain the features which are |
333 |
|
### used by busybox itself. If you plan to write a separate |
334 |
|
### standalone application which uses libbusybox say 'Y'. |
335 |
|
### |
336 |
|
### Note: libbusybox is GPL, not LGPL, and exports no stable API that |
337 |
|
### might act as a copyright barrier. We can and will modify the |
338 |
|
### exported function set between releases (even minor version number |
339 |
|
### changes), and happily break out-of-tree features. |
340 |
|
### |
341 |
|
### Say 'N' if in doubt. |
342 |
|
|
343 |
|
config FEATURE_INDIVIDUAL |
344 |
|
bool "Produce a binary for each applet, linked against libbusybox" |
345 |
|
default y |
346 |
depends on BUILD_LIBBUSYBOX |
depends on BUILD_LIBBUSYBOX |
347 |
help |
help |
348 |
Build a libbusybox with the complete feature-set, disregarding |
If your CPU architecture doesn't allow for sharing text/rodata |
349 |
the actually selected config. |
sections of running binaries, but allows for runtime dynamic |
350 |
|
libraries, this option will allow you to reduce memory footprint |
351 |
|
when you have many different applets running at once. |
352 |
|
|
353 |
Normally, libbusybox will only contain the features which are |
If your CPU architecture allows for sharing text/rodata, |
354 |
used by busybox itself. If you plan to write a separate |
having single binary is more optimal. |
|
standalone application which uses libbusybox say 'Y'. |
|
|
|
|
|
Note: libbusybox is GPL, not LGPL, and exports no stable API that |
|
|
might act as a copyright barrier. We can and will modify the |
|
|
exported function set between releases (even minor version number |
|
|
changes), and happily break out-of-tree features. |
|
355 |
|
|
356 |
Say 'N' if in doubt. |
Each applet will be a tiny program, dynamically linked |
357 |
|
against libbusybox.so.N.N.N. |
358 |
|
|
359 |
|
You need to have a working dynamic linker. |
360 |
|
|
361 |
config FEATURE_SHARED_BUSYBOX |
config FEATURE_SHARED_BUSYBOX |
362 |
bool "Use shared libbusybox for busybox" |
bool "Produce additional busybox binary linked against libbusybox" |
363 |
default y if BUILD_LIBBUSYBOX |
default y |
364 |
depends on !STATIC && BUILD_LIBBUSYBOX |
depends on BUILD_LIBBUSYBOX |
365 |
help |
help |
366 |
Use libbusybox.so also for busybox itself. |
Build busybox, dynamically linked against libbusybox.so.N.N.N. |
367 |
You need to have a working dynamic linker to use this variant. |
|
368 |
|
You need to have a working dynamic linker. |
369 |
|
|
370 |
|
### config BUILD_AT_ONCE |
371 |
|
### bool "Compile all sources at once" |
372 |
|
### default n |
373 |
|
### help |
374 |
|
### Normally each source-file is compiled with one invocation of |
375 |
|
### the compiler. |
376 |
|
### If you set this option, all sources are compiled at once. |
377 |
|
### This gives the compiler more opportunities to optimize which can |
378 |
|
### result in smaller and/or faster binaries. |
379 |
|
### |
380 |
|
### Setting this option will consume alot of memory, e.g. if you |
381 |
|
### enable all applets with all features, gcc uses more than 300MB |
382 |
|
### RAM during compilation of busybox. |
383 |
|
### |
384 |
|
### This option is most likely only beneficial for newer compilers |
385 |
|
### such as gcc-4.1 and above. |
386 |
|
### |
387 |
|
### Say 'N' unless you know what you are doing. |
388 |
|
|
389 |
config LFS |
config LFS |
390 |
bool "Build with Large File Support (for accessing files > 2 GB)" |
bool "Build with Large File Support (for accessing files > 2 GB)" |
392 |
select FDISK_SUPPORT_LARGE_DISKS |
select FDISK_SUPPORT_LARGE_DISKS |
393 |
help |
help |
394 |
If you want to build BusyBox with large file support, then enable |
If you want to build BusyBox with large file support, then enable |
395 |
this option. This will have no effect if your kernel or your C |
this option. This will have no effect if your kernel or your C |
396 |
library lacks large file support for large files. Some of the |
library lacks large file support for large files. Some of the |
397 |
programs that can benefit from large file support include dd, gzip, |
programs that can benefit from large file support include dd, gzip, |
398 |
cp, mount, tar, and many others. If you want to access files larger |
cp, mount, tar, and many others. If you want to access files larger |
399 |
than 2 Gigabytes, enable this option. Otherwise, leave it set to 'N'. |
than 2 Gigabytes, enable this option. Otherwise, leave it set to 'N'. |
400 |
|
|
401 |
config BUILD_AT_ONCE |
config CROSS_COMPILER_PREFIX |
402 |
bool "Compile all sources at once" |
string "Cross Compiler prefix" |
403 |
default n |
default "" |
404 |
help |
help |
405 |
Normally each source-file is compiled with one invocation of |
If you want to build BusyBox with a cross compiler, then you |
406 |
the compiler. |
will need to set this to the cross-compiler prefix, for example, |
407 |
If you set this option, all sources are compiled at once. |
"i386-uclibc-". |
|
This gives the compiler more opportunities to optimize which can |
|
|
result in smaller and/or faster binaries. |
|
|
|
|
|
Setting this option will consume alot of memory, e.g. if you |
|
|
enable all applets with all features, gcc uses more than 300MB |
|
|
RAM during compilation of busybox. |
|
408 |
|
|
409 |
This option is most likely only beneficial for newer compilers |
Note that CROSS_COMPILE environment variable or |
410 |
such as gcc-4.1 and above. |
"make CROSS_COMPILE=xxx ..." will override this selection. |
411 |
|
|
412 |
Say 'N' unless you know what you are doing. |
Native builds leave this empty. |
413 |
|
|
414 |
endmenu |
endmenu |
415 |
|
|
420 |
default n |
default n |
421 |
help |
help |
422 |
Say Y here if you wish to examine BusyBox internals while applets are |
Say Y here if you wish to examine BusyBox internals while applets are |
423 |
running. This increases the size of the binary considerably, and |
running. This increases the size of the binary considerably, and |
424 |
should only be used when doing development. If you are doing |
should only be used when doing development. If you are doing |
425 |
development and want to debug BusyBox, answer Y. |
development and want to debug BusyBox, answer Y. |
426 |
|
|
427 |
Most people should answer N. |
Most people should answer N. |
428 |
|
|
429 |
config DEBUG_PESSIMIZE |
config DEBUG_PESSIMIZE |
430 |
bool "Disable compiler optimizations." |
bool "Disable compiler optimizations" |
431 |
default n |
default n |
432 |
depends on DEBUG |
depends on DEBUG |
433 |
help |
help |
434 |
The compiler's optimization of source code can eliminate and reorder |
The compiler's optimization of source code can eliminate and reorder |
435 |
code, resulting in an executable that's hard to understand when |
code, resulting in an executable that's hard to understand when |
436 |
stepping through it with a debugger. This switches it off, resulting |
stepping through it with a debugger. This switches it off, resulting |
437 |
in a much bigger executable that more closely matches the source |
in a much bigger executable that more closely matches the source |
438 |
code. |
code. |
439 |
|
|
440 |
|
config WERROR |
441 |
|
bool "Abort compilation on any warning" |
442 |
|
default n |
443 |
|
help |
444 |
|
Selecting this will add -Werror to gcc command line. |
445 |
|
|
446 |
|
Most people should answer N. |
447 |
|
|
448 |
choice |
choice |
449 |
prompt "Additional debugging library" |
prompt "Additional debugging library" |
450 |
default NO_DEBUG_LIB |
default NO_DEBUG_LIB |
|
depends on DEBUG |
|
451 |
help |
help |
452 |
Using an additional debugging library will make BusyBox become |
Using an additional debugging library will make BusyBox become |
453 |
considerable larger and will cause it to run more slowly. You |
considerable larger and will cause it to run more slowly. You |
454 |
should always leave this option disabled for production use. |
should always leave this option disabled for production use. |
455 |
|
|
456 |
dmalloc support: |
dmalloc support: |
457 |
---------------- |
---------------- |
458 |
This enables compiling with dmalloc ( http://dmalloc.com/ ) |
This enables compiling with dmalloc ( http://dmalloc.com/ ) |
459 |
which is an excellent public domain mem leak and malloc problem |
which is an excellent public domain mem leak and malloc problem |
460 |
detector. To enable dmalloc, before running busybox you will |
detector. To enable dmalloc, before running busybox you will |
461 |
want to properly set your environment, for example: |
want to properly set your environment, for example: |
462 |
export DMALLOC_OPTIONS=debug=0x34f47d83,inter=100,log=logfile |
export DMALLOC_OPTIONS=debug=0x34f47d83,inter=100,log=logfile |
463 |
The 'debug=' value is generated using the following command |
The 'debug=' value is generated using the following command |
464 |
dmalloc -p log-stats -p log-non-free -p log-bad-space -p log-elapsed-time \ |
dmalloc -p log-stats -p log-non-free -p log-bad-space \ |
465 |
-p check-fence -p check-heap -p check-lists -p check-blank \ |
-p log-elapsed-time -p check-fence -p check-heap \ |
466 |
-p check-funcs -p realloc-copy -p allow-free-null |
-p check-lists -p check-blank -p check-funcs -p realloc-copy \ |
467 |
|
-p allow-free-null |
468 |
|
|
469 |
Electric-fence support: |
Electric-fence support: |
470 |
----------------------- |
----------------------- |
471 |
This enables compiling with Electric-fence support. Electric |
This enables compiling with Electric-fence support. Electric |
472 |
fence is another very useful malloc debugging library which uses |
fence is another very useful malloc debugging library which uses |
473 |
your computer's virtual memory hardware to detect illegal memory |
your computer's virtual memory hardware to detect illegal memory |
474 |
accesses. This support will make BusyBox be considerable larger |
accesses. This support will make BusyBox be considerable larger |
475 |
and run slower, so you should leave this option disabled unless |
and run slower, so you should leave this option disabled unless |
476 |
you are hunting a hard to find memory problem. |
you are hunting a hard to find memory problem. |
477 |
|
|
493 |
help |
help |
494 |
This option will enable backwards compatibility with SuSv2, |
This option will enable backwards compatibility with SuSv2, |
495 |
specifically, old-style numeric options ('command -1 <file>') |
specifically, old-style numeric options ('command -1 <file>') |
496 |
will be supported in head, tail, and fold. (Note: should |
will be supported in head, tail, and fold. (Note: should |
497 |
affect renice too.) |
affect renice too.) |
498 |
|
|
499 |
|
### config PARSE |
500 |
|
### bool "Uniform config file parser debugging applet: parse" |
501 |
|
|
502 |
endmenu |
endmenu |
503 |
|
|
504 |
menu 'Installation Options' |
menu 'Installation Options' |
511 |
that you really want this behaviour. |
that you really want this behaviour. |
512 |
|
|
513 |
choice |
choice |
514 |
prompt "Applets links" |
prompt "Applets links" |
515 |
default INSTALL_APPLET_SYMLINKS |
default INSTALL_APPLET_SYMLINKS |
516 |
help |
help |
517 |
Choose how you install applets links. |
Choose how you install applets links. |
518 |
|
|
519 |
config INSTALL_APPLET_SYMLINKS |
config INSTALL_APPLET_SYMLINKS |
520 |
bool "as soft-links" |
bool "as soft-links" |
521 |
help |
help |
522 |
Install applets as soft-links to the busybox binary. This needs some |
Install applets as soft-links to the busybox binary. This needs some |
523 |
free inodes on the filesystem, but might help with filesystem |
free inodes on the filesystem, but might help with filesystem |
524 |
generators that can't cope with hard-links. |
generators that can't cope with hard-links. |
525 |
|
|
526 |
config INSTALL_APPLET_HARDLINKS |
config INSTALL_APPLET_HARDLINKS |
527 |
bool "as hard-links" |
bool "as hard-links" |
528 |
help |
help |
529 |
Install applets as hard-links to the busybox binary. This might count |
Install applets as hard-links to the busybox binary. This might |
530 |
on a filesystem with few inodes. |
count on a filesystem with few inodes. |
531 |
|
|
532 |
|
config INSTALL_APPLET_SCRIPT_WRAPPERS |
533 |
|
bool "as script wrappers" |
534 |
|
help |
535 |
|
Install applets as script wrappers that call the busybox binary. |
536 |
|
|
537 |
config INSTALL_APPLET_DONT |
config INSTALL_APPLET_DONT |
538 |
bool |
bool "not installed" |
539 |
prompt "not installed" |
depends on FEATURE_INSTALLER || FEATURE_SH_STANDALONE || FEATURE_PREFER_APPLETS |
540 |
depends on FEATURE_INSTALLER || FEATURE_SH_STANDALONE_SHELL |
help |
541 |
help |
Do not install applet links. Useful when using the -install feature |
542 |
Do not install applet links. Useful when using the -install feature |
or a standalone shell for rescue purposes. |
543 |
or a standalone shell for rescue pruposes. |
|
544 |
|
endchoice |
545 |
|
|
546 |
|
choice |
547 |
|
prompt "/bin/sh applet link" |
548 |
|
default INSTALL_SH_APPLET_SYMLINK |
549 |
|
depends on INSTALL_APPLET_SCRIPT_WRAPPERS |
550 |
|
help |
551 |
|
Choose how you install /bin/sh applet link. |
552 |
|
|
553 |
|
config INSTALL_SH_APPLET_SYMLINK |
554 |
|
bool "as soft-link" |
555 |
|
help |
556 |
|
Install /bin/sh applet as soft-link to the busybox binary. |
557 |
|
|
558 |
|
config INSTALL_SH_APPLET_HARDLINK |
559 |
|
bool "as hard-link" |
560 |
|
help |
561 |
|
Install /bin/sh applet as hard-link to the busybox binary. |
562 |
|
|
563 |
|
config INSTALL_SH_APPLET_SCRIPT_WRAPPER |
564 |
|
bool "as script wrapper" |
565 |
|
help |
566 |
|
Install /bin/sh applet as script wrapper that call the busybox |
567 |
|
binary. |
568 |
|
|
569 |
endchoice |
endchoice |
570 |
|
|
595 |
source util-linux/Config.in |
source util-linux/Config.in |
596 |
source miscutils/Config.in |
source miscutils/Config.in |
597 |
source networking/Config.in |
source networking/Config.in |
598 |
|
source printutils/Config.in |
599 |
|
source mailutils/Config.in |
600 |
source procps/Config.in |
source procps/Config.in |
601 |
|
source runit/Config.in |
602 |
|
source selinux/Config.in |
603 |
source shell/Config.in |
source shell/Config.in |
604 |
source sysklogd/Config.in |
source sysklogd/Config.in |
|
source runit/Config.in |
|