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 INCLUDE_SUSv2 |
34 |
|
bool "Enable obsolete features removed before SUSv3" |
35 |
|
default y |
36 |
|
help |
37 |
|
This option will enable backwards compatibility with SuSv2, |
38 |
|
specifically, old-style numeric options ('command -1 <file>') |
39 |
|
will be supported in head, tail, and fold. (Note: should |
40 |
|
affect renice too.) |
41 |
|
|
42 |
|
config USE_PORTABLE_CODE |
43 |
|
bool "Avoid using GCC-specific code constructs" |
44 |
|
default n |
45 |
|
help |
46 |
|
Use this option if you are trying to compile busybox with |
47 |
|
compiler other than gcc. |
48 |
|
If you do use gcc, this option may needlessly increase code size. |
49 |
|
|
50 |
choice |
choice |
51 |
prompt "Buffer allocation policy" |
prompt "Buffer allocation policy" |
52 |
default FEATURE_BUFFERS_USE_MALLOC |
default FEATURE_BUFFERS_USE_MALLOC |
|
depends on NITPICK |
|
53 |
help |
help |
54 |
There are 3 ways BusyBox can handle buffer allocations: |
There are 3 ways BusyBox can handle buffer allocations: |
55 |
- Use malloc. This costs code size for the call to xmalloc. |
- Use malloc. This costs code size for the call to xmalloc. |
56 |
- Put them on stack. For some very small machines with limited stack |
- Put them on stack. For some very small machines with limited stack |
57 |
space, this can be deadly. For most folks, this works just fine. |
space, this can be deadly. For most folks, this works just fine. |
58 |
- Put them in BSS. This works beautifully for computers with a real |
- Put them in BSS. This works beautifully for computers with a real |
59 |
MMU (and OS support), but wastes runtime RAM for uCLinux. This |
MMU (and OS support), but wastes runtime RAM for uCLinux. This |
60 |
behavior was the only one available for BusyBox versions 0.48 and |
behavior was the only one available for BusyBox versions 0.48 and |
86 |
select SHOW_USAGE |
select SHOW_USAGE |
87 |
help |
help |
88 |
All BusyBox applets will show more verbose help messages when |
All BusyBox applets will show more verbose help messages when |
89 |
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 |
90 |
busybox binary. In the default configuration, this will add about |
busybox binary. In the default configuration, this will add about |
91 |
13k, but it can add much more depending on your configuration. |
13k, but it can add much more depending on your configuration. |
92 |
|
|
93 |
config FEATURE_COMPRESS_USAGE |
config FEATURE_COMPRESS_USAGE |
100 |
|
|
101 |
If you have a really tiny busybox with few applets enabled (and |
If you have a really tiny busybox with few applets enabled (and |
102 |
bunzip2 isn't one of them), the overhead of the decompressor might |
bunzip2 isn't one of them), the overhead of the decompressor might |
103 |
be noticeable. Also, if you run executables directly from ROM |
be noticeable. Also, if you run executables directly from ROM |
104 |
and have very little memory, this might not be a win. Otherwise, |
and have very little memory, this might not be a win. Otherwise, |
105 |
you probably want this. |
you probably want this. |
106 |
|
|
107 |
config FEATURE_INSTALLER |
config FEATURE_INSTALLER |
108 |
bool "Support --install [-s] to install applet links at runtime" |
bool "Support --install [-s] to install applet links at runtime" |
109 |
default n |
default n |
110 |
help |
help |
111 |
Enable 'busybox --install [-s]' support. This will allow you to use |
Enable 'busybox --install [-s]' support. This will allow you to use |
112 |
busybox at runtime to create hard links or symlinks for all the |
busybox at runtime to create hard links or symlinks for all the |
113 |
applets that are compiled into busybox. This feature requires the |
applets that are compiled into busybox. |
|
/proc filesystem. |
|
114 |
|
|
115 |
config LOCALE_SUPPORT |
config LOCALE_SUPPORT |
116 |
bool "Enable locale support (system needs locale for this to work)" |
bool "Enable locale support (system needs locale for this to work)" |
119 |
Enable this if your system has locale support and you would like |
Enable this if your system has locale support and you would like |
120 |
busybox to support locale settings. |
busybox to support locale settings. |
121 |
|
|
122 |
config GETOPT_LONG |
config FEATURE_ASSUME_UNICODE |
123 |
bool "Enable support for --long-options" |
bool "Support Unicode" |
124 |
|
default n |
125 |
|
help |
126 |
|
This makes various applets aware that one byte is not |
127 |
|
one character on screen. |
128 |
|
|
129 |
|
Busybox aims to eventually work correctly with Unicode displays. |
130 |
|
Any older encodings are not guaranteed to work. |
131 |
|
Probably by the time when busybox will be fully Unicode-clean, |
132 |
|
other encodings will be mainly of historic interest. |
133 |
|
|
134 |
|
config FEATURE_CHECK_UNICODE_IN_ENV |
135 |
|
bool "Check $LANG environment variable" |
136 |
|
default y |
137 |
|
depends on FEATURE_ASSUME_UNICODE && !LOCALE_SUPPORT |
138 |
|
help |
139 |
|
With this option on, Unicode support is activated |
140 |
|
only if LANG variable has the value of the form "xxxx.utf8" |
141 |
|
|
142 |
|
Otherwise, Unicode support will be always enabled and active. |
143 |
|
|
144 |
|
config LONG_OPTS |
145 |
|
bool "Support for --long-options" |
146 |
default y |
default y |
147 |
help |
help |
148 |
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 |
154 |
help |
help |
155 |
Enable if you want BusyBox to use Unix98 PTY support. If enabled, |
Enable if you want BusyBox to use Unix98 PTY support. If enabled, |
156 |
busybox will use /dev/ptmx for the master side of the pseudoterminal |
busybox will use /dev/ptmx for the master side of the pseudoterminal |
157 |
and /dev/pts/<number> for the slave side. Otherwise, BSD style |
and /dev/pts/<number> for the slave side. Otherwise, BSD style |
158 |
/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 |
159 |
devpts mounted. |
devpts mounted. |
160 |
|
|
161 |
config FEATURE_CLEAN_UP |
config FEATURE_CLEAN_UP |
162 |
bool "Clean up all memory before exiting (usually not needed)" |
bool "Clean up all memory before exiting (usually not needed)" |
163 |
default n |
default n |
|
depends on NITPICK |
|
164 |
help |
help |
165 |
As a size optimization, busybox normally exits without explicitly |
As a size optimization, busybox normally exits without explicitly |
166 |
freeing dynamically allocated memory or closing files. This saves |
freeing dynamically allocated memory or closing files. This saves |
167 |
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 |
168 |
like valgrind, which report tons of memory and resource leaks. |
like valgrind, which report tons of memory and resource leaks. |
169 |
|
|
170 |
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 |
171 |
things up manually. |
things up manually. |
172 |
|
|
173 |
|
config FEATURE_PIDFILE |
174 |
|
bool "Support writing pidfiles" |
175 |
|
default n |
176 |
|
help |
177 |
|
This option makes some applets (e.g. crond, syslogd, inetd) write |
178 |
|
a pidfile in /var/run. Some applications rely on them. |
179 |
|
|
180 |
config FEATURE_SUID |
config FEATURE_SUID |
181 |
bool "Support for SUID/SGID handling" |
bool "Support for SUID/SGID handling" |
182 |
default n |
default n |
183 |
help |
help |
184 |
With this option you can install the busybox binary belonging |
With this option you can install the busybox binary belonging |
185 |
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 |
186 |
priviledges for applets that don't need root access. |
priviledges for applets that don't need root access. |
187 |
|
|
188 |
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 |
189 |
busybox binaries with different applets in them (and the appropriate |
busybox binaries with different applets in them (and the appropriate |
190 |
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 |
191 |
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 |
192 |
are login, passwd, su, ping, traceroute, crontab, dnsd, ipcrm, ipcs, |
are: |
|
and vlock. |
|
193 |
|
|
194 |
config FEATURE_SYSLOG |
crontab, dnsd, findfs, ipcrm, ipcs, login, passwd, ping, su, |
195 |
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. |
|
196 |
|
|
197 |
config FEATURE_SUID_CONFIG |
config FEATURE_SUID_CONFIG |
198 |
bool "Runtime SUID/SGID configuration via /etc/busybox.conf" |
bool "Runtime SUID/SGID configuration via /etc/busybox.conf" |
200 |
depends on FEATURE_SUID |
depends on FEATURE_SUID |
201 |
help |
help |
202 |
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 |
203 |
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.) |
204 |
The format of this file is as follows: |
The format of this file is as follows: |
205 |
|
|
206 |
<applet> = [Ssx-][Ssx-][x-] (<username>|<uid>).(<groupname>|<gid>) |
<applet> = [Ssx-][Ssx-][x-] (<username>|<uid>).(<groupname>|<gid>) |
208 |
An example might help: |
An example might help: |
209 |
|
|
210 |
[SUID] |
[SUID] |
211 |
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 |
212 |
|
# euid=0/egid=0 |
213 |
su = ssx # exactly the same |
su = ssx # exactly the same |
214 |
|
|
215 |
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 |
216 |
# and runs with euid=0 |
# of group disk and runs with euid=0 |
217 |
|
|
218 |
cp = --- # disable applet cp for everyone |
cp = --- # disable applet cp for everyone |
219 |
|
|
220 |
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 |
221 |
writeable only by root: |
writeable only by root: |
222 |
(chown 0.0 /etc/busybox.conf; chmod 600 /etc/busybox.conf) |
(chown 0.0 /etc/busybox.conf; chmod 600 /etc/busybox.conf) |
223 |
The busybox executable has to be owned by user root, group |
The busybox executable has to be owned by user root, group |
224 |
root and has to be setuid root for this to work: |
root and has to be setuid root for this to work: |
225 |
(chown 0.0 /bin/busybox; chmod 4755 /bin/busybox) |
(chown 0.0 /bin/busybox; chmod 4755 /bin/busybox) |
226 |
|
|
227 |
Robert 'sandman' Griebl has more information here: |
Robert 'sandman' Griebl has more information here: |
228 |
<url: http://www.softforge.de/bb/suid.html >. |
<url: http://www.softforge.de/bb/suid.html >. |
232 |
default y |
default y |
233 |
depends on FEATURE_SUID_CONFIG |
depends on FEATURE_SUID_CONFIG |
234 |
help |
help |
235 |
/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, |
236 |
this option to avoid users to be notified about missing permissions. |
check this option to avoid users to be notified about missing |
237 |
|
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. |
|
238 |
|
|
239 |
config SELINUX |
config SELINUX |
240 |
bool "Support NSA Security Enhanced Linux" |
bool "Support NSA Security Enhanced Linux" |
241 |
default n |
default n |
242 |
help |
help |
243 |
Enable support for SELinux in applets ls, ps, and id. Also provide |
Enable support for SELinux in applets ls, ps, and id. Also provide |
244 |
the option of compiling in SELinux applets. |
the option of compiling in SELinux applets. |
245 |
|
|
246 |
If you do not have a complete SELinux userland installed, this stuff |
If you do not have a complete SELinux userland installed, this stuff |
256 |
|
|
257 |
Most people will leave this set to 'N'. |
Most people will leave this set to 'N'. |
258 |
|
|
259 |
|
config FEATURE_PREFER_APPLETS |
260 |
|
bool "exec prefers applets" |
261 |
|
default n |
262 |
|
help |
263 |
|
This is an experimental option which directs applets about to |
264 |
|
call 'exec' to try and find an applicable busybox applet before |
265 |
|
searching the PATH. This is typically done by exec'ing |
266 |
|
/proc/self/exe. |
267 |
|
This may affect shell, find -exec, xargs and similar applets. |
268 |
|
They will use applets even if /bin/<applet> -> busybox link |
269 |
|
is missing (or is not a link to busybox). However, this causes |
270 |
|
problems in chroot jails without mounted /proc and with ps/top |
271 |
|
(command name can be shown as 'exe' for applets started this way). |
272 |
|
|
273 |
config BUSYBOX_EXEC_PATH |
config BUSYBOX_EXEC_PATH |
274 |
string "Path to BusyBox executable" |
string "Path to BusyBox executable" |
275 |
default "/proc/self/exe" |
default "/proc/self/exe" |
276 |
help |
help |
277 |
When Busybox applets need to run other busybox applets, BusyBox |
When Busybox applets need to run other busybox applets, BusyBox |
278 |
sometimes needs to exec() itself. When the /proc filesystem is |
sometimes needs to exec() itself. When the /proc filesystem is |
279 |
mounted, /proc/self/exe always points to the currently running |
mounted, /proc/self/exe always points to the currently running |
280 |
executable. If you haven't got /proc, set this to wherever you |
executable. If you haven't got /proc, set this to wherever you |
281 |
want to run BusyBox from. |
want to run BusyBox from. |
282 |
|
|
283 |
|
# These are auto-selected by other options |
284 |
|
|
285 |
|
config FEATURE_SYSLOG |
286 |
|
bool #No description makes it a hidden option |
287 |
|
default n |
288 |
|
#help |
289 |
|
# This option is auto-selected when you select any applet which may |
290 |
|
# send its output to syslog. You do not need to select it manually. |
291 |
|
|
292 |
|
config FEATURE_HAVE_RPC |
293 |
|
bool #No description makes it a hidden option |
294 |
|
default n |
295 |
|
#help |
296 |
|
# This is automatically selected if any of enabled applets need it. |
297 |
|
# You do not need to select it manually. |
298 |
|
|
299 |
endmenu |
endmenu |
300 |
|
|
301 |
menu 'Build Options' |
menu 'Build Options' |
302 |
|
|
303 |
config STATIC |
config STATIC |
304 |
bool "Build BusyBox as a static binary (no shared libs)" |
bool "Build BusyBox as a static binary (no shared libs)" |
305 |
default n |
default y |
306 |
help |
help |
307 |
If you want to build a static BusyBox binary, which does not |
If you want to build a static BusyBox binary, which does not |
308 |
use or require any shared libraries, then enable this option. |
use or require any shared libraries, then enable this option. |
314 |
|
|
315 |
Most people will leave this set to 'N'. |
Most people will leave this set to 'N'. |
316 |
|
|
317 |
|
config PIE |
318 |
|
bool "Build BusyBox as a position independent executable" |
319 |
|
default n |
320 |
|
depends on !STATIC |
321 |
|
help |
322 |
|
(TODO: what is it and why/when is it useful?) |
323 |
|
Most people will leave this set to 'N'. |
324 |
|
|
325 |
|
config NOMMU |
326 |
|
bool "Force NOMMU build" |
327 |
|
default n |
328 |
|
help |
329 |
|
Busybox tries to detect whether architecture it is being |
330 |
|
built against supports MMU or not. If this detection fails, |
331 |
|
or if you want to build NOMMU version of busybox for testing, |
332 |
|
you may force NOMMU build here. |
333 |
|
|
334 |
|
Most people will leave this set to 'N'. |
335 |
|
|
336 |
|
# PIE can be made to work with BUILD_LIBBUSYBOX, but currently |
337 |
|
# build system does not support that |
338 |
config BUILD_LIBBUSYBOX |
config BUILD_LIBBUSYBOX |
339 |
bool "Build shared libbusybox" |
bool "Build shared libbusybox" |
340 |
default n |
default n |
341 |
|
depends on !FEATURE_PREFER_APPLETS && !PIE && !STATIC |
342 |
help |
help |
343 |
Build a shared library libbusybox.so which contains all |
Build a shared library libbusybox.so.N.N.N which contains all |
344 |
libraries used inside busybox. |
busybox code. |
345 |
|
|
346 |
|
This feature allows every applet to be built as a tiny |
347 |
|
separate executable. Enabling it for "one big busybox binary" |
348 |
|
approach serves no purpose and increases code size. |
349 |
|
You should almost certainly say "no" to this. |
350 |
|
|
351 |
|
### config FEATURE_FULL_LIBBUSYBOX |
352 |
|
### bool "Feature-complete libbusybox" |
353 |
|
### default n if !FEATURE_SHARED_BUSYBOX |
354 |
|
### depends on BUILD_LIBBUSYBOX |
355 |
|
### help |
356 |
|
### Build a libbusybox with the complete feature-set, disregarding |
357 |
|
### the actually selected config. |
358 |
|
### |
359 |
|
### Normally, libbusybox will only contain the features which are |
360 |
|
### used by busybox itself. If you plan to write a separate |
361 |
|
### standalone application which uses libbusybox say 'Y'. |
362 |
|
### |
363 |
|
### Note: libbusybox is GPL, not LGPL, and exports no stable API that |
364 |
|
### might act as a copyright barrier. We can and will modify the |
365 |
|
### exported function set between releases (even minor version number |
366 |
|
### changes), and happily break out-of-tree features. |
367 |
|
### |
368 |
|
### Say 'N' if in doubt. |
369 |
|
|
370 |
This is an experimental feature intended to support the upcoming |
config FEATURE_INDIVIDUAL |
371 |
"make standalone" mode. Enabling it against the one big busybox |
bool "Produce a binary for each applet, linked against libbusybox" |
372 |
binary serves no purpose (and increases the size). You should |
default y |
|
almost certainly say "no" to this right now. |
|
|
|
|
|
config FEATURE_FULL_LIBBUSYBOX |
|
|
bool "Feature-complete libbusybox" |
|
|
default n if !FEATURE_SHARED_BUSYBOX |
|
373 |
depends on BUILD_LIBBUSYBOX |
depends on BUILD_LIBBUSYBOX |
374 |
help |
help |
375 |
Build a libbusybox with the complete feature-set, disregarding |
If your CPU architecture doesn't allow for sharing text/rodata |
376 |
the actually selected config. |
sections of running binaries, but allows for runtime dynamic |
377 |
|
libraries, this option will allow you to reduce memory footprint |
378 |
|
when you have many different applets running at once. |
379 |
|
|
380 |
|
If your CPU architecture allows for sharing text/rodata, |
381 |
|
having single binary is more optimal. |
382 |
|
|
383 |
Normally, libbusybox will only contain the features which are |
Each applet will be a tiny program, dynamically linked |
384 |
used by busybox itself. If you plan to write a separate |
against libbusybox.so.N.N.N. |
|
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. |
|
385 |
|
|
386 |
Say 'N' if in doubt. |
You need to have a working dynamic linker. |
387 |
|
|
388 |
config FEATURE_SHARED_BUSYBOX |
config FEATURE_SHARED_BUSYBOX |
389 |
bool "Use shared libbusybox for busybox" |
bool "Produce additional busybox binary linked against libbusybox" |
390 |
default y if BUILD_LIBBUSYBOX |
default y |
391 |
depends on !STATIC && BUILD_LIBBUSYBOX |
depends on BUILD_LIBBUSYBOX |
392 |
help |
help |
393 |
Use libbusybox.so also for busybox itself. |
Build busybox, dynamically linked against libbusybox.so.N.N.N. |
394 |
You need to have a working dynamic linker to use this variant. |
|
395 |
|
You need to have a working dynamic linker. |
396 |
|
|
397 |
|
### config BUILD_AT_ONCE |
398 |
|
### bool "Compile all sources at once" |
399 |
|
### default n |
400 |
|
### help |
401 |
|
### Normally each source-file is compiled with one invocation of |
402 |
|
### the compiler. |
403 |
|
### If you set this option, all sources are compiled at once. |
404 |
|
### This gives the compiler more opportunities to optimize which can |
405 |
|
### result in smaller and/or faster binaries. |
406 |
|
### |
407 |
|
### Setting this option will consume alot of memory, e.g. if you |
408 |
|
### enable all applets with all features, gcc uses more than 300MB |
409 |
|
### RAM during compilation of busybox. |
410 |
|
### |
411 |
|
### This option is most likely only beneficial for newer compilers |
412 |
|
### such as gcc-4.1 and above. |
413 |
|
### |
414 |
|
### Say 'N' unless you know what you are doing. |
415 |
|
|
416 |
config LFS |
config LFS |
417 |
bool "Build with Large File Support (for accessing files > 2 GB)" |
bool "Build with Large File Support (for accessing files > 2 GB)" |
419 |
select FDISK_SUPPORT_LARGE_DISKS |
select FDISK_SUPPORT_LARGE_DISKS |
420 |
help |
help |
421 |
If you want to build BusyBox with large file support, then enable |
If you want to build BusyBox with large file support, then enable |
422 |
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 |
423 |
library lacks large file support for large files. Some of the |
library lacks large file support for large files. Some of the |
424 |
programs that can benefit from large file support include dd, gzip, |
programs that can benefit from large file support include dd, gzip, |
425 |
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 |
426 |
than 2 Gigabytes, enable this option. Otherwise, leave it set to 'N'. |
than 2 Gigabytes, enable this option. Otherwise, leave it set to 'N'. |
427 |
|
|
428 |
config BUILD_AT_ONCE |
config CROSS_COMPILER_PREFIX |
429 |
bool "Compile all sources at once" |
string "Cross Compiler prefix" |
430 |
default n |
default "" |
431 |
help |
help |
432 |
Normally each source-file is compiled with one invocation of |
If you want to build BusyBox with a cross compiler, then you |
433 |
the compiler. |
will need to set this to the cross-compiler prefix, for example, |
434 |
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. |
|
435 |
|
|
436 |
Setting this option will consume alot of memory, e.g. if you |
Note that CROSS_COMPILE environment variable or |
437 |
enable all applets with all features, gcc uses more than 300MB |
"make CROSS_COMPILE=xxx ..." will override this selection. |
|
RAM during compilation of busybox. |
|
438 |
|
|
439 |
This option is most likely only beneficial for newer compilers |
Native builds leave this empty. |
|
such as gcc-4.1 and above. |
|
440 |
|
|
441 |
Say 'N' unless you know what you are doing. |
config EXTRA_CFLAGS |
442 |
|
string "Additional CFLAGS" |
443 |
|
default "" |
444 |
|
help |
445 |
|
Additional CFLAGS to pass to the compiler verbatim. |
446 |
|
|
447 |
endmenu |
endmenu |
448 |
|
|
453 |
default n |
default n |
454 |
help |
help |
455 |
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 |
456 |
running. This increases the size of the binary considerably, and |
running. This increases the size of the binary considerably, and |
457 |
should only be used when doing development. If you are doing |
should only be used when doing development. If you are doing |
458 |
development and want to debug BusyBox, answer Y. |
development and want to debug BusyBox, answer Y. |
459 |
|
|
460 |
Most people should answer N. |
Most people should answer N. |
461 |
|
|
462 |
config DEBUG_PESSIMIZE |
config DEBUG_PESSIMIZE |
463 |
bool "Disable compiler optimizations." |
bool "Disable compiler optimizations" |
464 |
default n |
default n |
465 |
depends on DEBUG |
depends on DEBUG |
466 |
help |
help |
467 |
The compiler's optimization of source code can eliminate and reorder |
The compiler's optimization of source code can eliminate and reorder |
468 |
code, resulting in an executable that's hard to understand when |
code, resulting in an executable that's hard to understand when |
469 |
stepping through it with a debugger. This switches it off, resulting |
stepping through it with a debugger. This switches it off, resulting |
470 |
in a much bigger executable that more closely matches the source |
in a much bigger executable that more closely matches the source |
471 |
code. |
code. |
472 |
|
|
473 |
|
config WERROR |
474 |
|
bool "Abort compilation on any warning" |
475 |
|
default n |
476 |
|
help |
477 |
|
Selecting this will add -Werror to gcc command line. |
478 |
|
|
479 |
|
Most people should answer N. |
480 |
|
|
481 |
choice |
choice |
482 |
prompt "Additional debugging library" |
prompt "Additional debugging library" |
483 |
default NO_DEBUG_LIB |
default NO_DEBUG_LIB |
|
depends on DEBUG |
|
484 |
help |
help |
485 |
Using an additional debugging library will make BusyBox become |
Using an additional debugging library will make BusyBox become |
486 |
considerable larger and will cause it to run more slowly. You |
considerable larger and will cause it to run more slowly. You |
487 |
should always leave this option disabled for production use. |
should always leave this option disabled for production use. |
488 |
|
|
489 |
dmalloc support: |
dmalloc support: |
490 |
---------------- |
---------------- |
491 |
This enables compiling with dmalloc ( http://dmalloc.com/ ) |
This enables compiling with dmalloc ( http://dmalloc.com/ ) |
492 |
which is an excellent public domain mem leak and malloc problem |
which is an excellent public domain mem leak and malloc problem |
493 |
detector. To enable dmalloc, before running busybox you will |
detector. To enable dmalloc, before running busybox you will |
494 |
want to properly set your environment, for example: |
want to properly set your environment, for example: |
495 |
export DMALLOC_OPTIONS=debug=0x34f47d83,inter=100,log=logfile |
export DMALLOC_OPTIONS=debug=0x34f47d83,inter=100,log=logfile |
496 |
The 'debug=' value is generated using the following command |
The 'debug=' value is generated using the following command |
497 |
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 \ |
498 |
-p check-fence -p check-heap -p check-lists -p check-blank \ |
-p log-elapsed-time -p check-fence -p check-heap \ |
499 |
-p check-funcs -p realloc-copy -p allow-free-null |
-p check-lists -p check-blank -p check-funcs -p realloc-copy \ |
500 |
|
-p allow-free-null |
501 |
|
|
502 |
Electric-fence support: |
Electric-fence support: |
503 |
----------------------- |
----------------------- |
504 |
This enables compiling with Electric-fence support. Electric |
This enables compiling with Electric-fence support. Electric |
505 |
fence is another very useful malloc debugging library which uses |
fence is another very useful malloc debugging library which uses |
506 |
your computer's virtual memory hardware to detect illegal memory |
your computer's virtual memory hardware to detect illegal memory |
507 |
accesses. This support will make BusyBox be considerable larger |
accesses. This support will make BusyBox be considerable larger |
508 |
and run slower, so you should leave this option disabled unless |
and run slower, so you should leave this option disabled unless |
509 |
you are hunting a hard to find memory problem. |
you are hunting a hard to find memory problem. |
510 |
|
|
520 |
|
|
521 |
endchoice |
endchoice |
522 |
|
|
523 |
config INCLUDE_SUSv2 |
### config PARSE |
524 |
bool "Enable obsolete features removed before SUSv3?" |
### bool "Uniform config file parser debugging applet: parse" |
|
default y |
|
|
help |
|
|
This option will enable backwards compatibility with SuSv2, |
|
|
specifically, old-style numeric options ('command -1 <file>') |
|
|
will be supported in head, tail, and fold. (Note: should |
|
|
affect renice too.) |
|
525 |
|
|
526 |
endmenu |
endmenu |
527 |
|
|
535 |
that you really want this behaviour. |
that you really want this behaviour. |
536 |
|
|
537 |
choice |
choice |
538 |
prompt "Applets links" |
prompt "Applets links" |
539 |
default INSTALL_APPLET_SYMLINKS |
default INSTALL_APPLET_SYMLINKS |
540 |
help |
help |
541 |
Choose how you install applets links. |
Choose how you install applets links. |
542 |
|
|
543 |
config INSTALL_APPLET_SYMLINKS |
config INSTALL_APPLET_SYMLINKS |
544 |
bool "as soft-links" |
bool "as soft-links" |
545 |
help |
help |
546 |
Install applets as soft-links to the busybox binary. This needs some |
Install applets as soft-links to the busybox binary. This needs some |
547 |
free inodes on the filesystem, but might help with filesystem |
free inodes on the filesystem, but might help with filesystem |
548 |
generators that can't cope with hard-links. |
generators that can't cope with hard-links. |
549 |
|
|
550 |
config INSTALL_APPLET_HARDLINKS |
config INSTALL_APPLET_HARDLINKS |
551 |
bool "as hard-links" |
bool "as hard-links" |
552 |
help |
help |
553 |
Install applets as hard-links to the busybox binary. This might count |
Install applets as hard-links to the busybox binary. This might |
554 |
on a filesystem with few inodes. |
count on a filesystem with few inodes. |
555 |
|
|
556 |
|
config INSTALL_APPLET_SCRIPT_WRAPPERS |
557 |
|
bool "as script wrappers" |
558 |
|
help |
559 |
|
Install applets as script wrappers that call the busybox binary. |
560 |
|
|
561 |
config INSTALL_APPLET_DONT |
config INSTALL_APPLET_DONT |
562 |
bool |
bool "not installed" |
563 |
prompt "not installed" |
depends on FEATURE_INSTALLER || FEATURE_SH_STANDALONE || FEATURE_PREFER_APPLETS |
564 |
depends on FEATURE_INSTALLER || FEATURE_SH_STANDALONE_SHELL |
help |
565 |
help |
Do not install applet links. Useful when using the -install feature |
566 |
Do not install applet links. Useful when using the -install feature |
or a standalone shell for rescue purposes. |
567 |
or a standalone shell for rescue pruposes. |
|
568 |
|
endchoice |
569 |
|
|
570 |
|
choice |
571 |
|
prompt "/bin/sh applet link" |
572 |
|
default INSTALL_SH_APPLET_SYMLINK |
573 |
|
depends on INSTALL_APPLET_SCRIPT_WRAPPERS |
574 |
|
help |
575 |
|
Choose how you install /bin/sh applet link. |
576 |
|
|
577 |
|
config INSTALL_SH_APPLET_SYMLINK |
578 |
|
bool "as soft-link" |
579 |
|
help |
580 |
|
Install /bin/sh applet as soft-link to the busybox binary. |
581 |
|
|
582 |
|
config INSTALL_SH_APPLET_HARDLINK |
583 |
|
bool "as hard-link" |
584 |
|
help |
585 |
|
Install /bin/sh applet as hard-link to the busybox binary. |
586 |
|
|
587 |
|
config INSTALL_SH_APPLET_SCRIPT_WRAPPER |
588 |
|
bool "as script wrapper" |
589 |
|
help |
590 |
|
Install /bin/sh applet as script wrapper that call the busybox |
591 |
|
binary. |
592 |
|
|
593 |
endchoice |
endchoice |
594 |
|
|
619 |
source util-linux/Config.in |
source util-linux/Config.in |
620 |
source miscutils/Config.in |
source miscutils/Config.in |
621 |
source networking/Config.in |
source networking/Config.in |
622 |
|
source printutils/Config.in |
623 |
|
source mailutils/Config.in |
624 |
source procps/Config.in |
source procps/Config.in |
625 |
|
source runit/Config.in |
626 |
|
source selinux/Config.in |
627 |
source shell/Config.in |
source shell/Config.in |
628 |
source sysklogd/Config.in |
source sysklogd/Config.in |
|
source runit/Config.in |
|