Root/package/busybox/config/Config.in

1#
2# For a description of the syntax of this configuration file,
3# see scripts/kbuild/config-language.txt.
4#
5
6
7config BUSYBOX_CONFIG_HAVE_DOT_CONFIG
8    bool
9    default y
10
11menu "Busybox Settings"
12
13menu "General Configuration"
14
15config BUSYBOX_CONFIG_DESKTOP
16    bool "Enable options for full-blown desktop systems"
17    default n
18    help
19      Enable options and features which are not essential.
20      Select this only if you plan to use busybox on full-blown
21      desktop machine with common Linux distro, not on an embedded box.
22
23config BUSYBOX_CONFIG_EXTRA_COMPAT
24    bool "Provide compatible behavior for rare corner cases (bigger code)"
25    default n
26    help
27      This option makes grep, sed etc handle rare corner cases
28      (embedded NUL bytes and such). This makes code bigger and uses
29      some GNU extensions in libc. You probably only need this option
30      if you plan to run busybox on desktop.
31
32config BUSYBOX_CONFIG_INCLUDE_SUSv2
33    bool "Enable obsolete features removed before SUSv3"
34    default y
35    help
36      This option will enable backwards compatibility with SuSv2,
37      specifically, old-style numeric options ('command -1 <file>')
38      will be supported in head, tail, and fold. (Note: should
39      affect renice too.)
40
41config BUSYBOX_CONFIG_USE_PORTABLE_CODE
42    bool "Avoid using GCC-specific code constructs"
43    default n
44    help
45      Use this option if you are trying to compile busybox with
46      compiler other than gcc.
47      If you do use gcc, this option may needlessly increase code size.
48
49config BUSYBOX_CONFIG_PLATFORM_LINUX
50    bool "Enable Linux-specific applets and features"
51    default y
52    help
53      For the most part, busybox requires only POSIX compatibility
54      from the target system, but some applets and features use
55      Linux-specific interfaces.
56
57      Answering 'N' here will disable such applets and hide the
58      corresponding configuration options.
59
60choice
61    prompt "Buffer allocation policy"
62    default BUSYBOX_CONFIG_FEATURE_BUFFERS_GO_ON_STACK
63    help
64      There are 3 ways BusyBox can handle buffer allocations:
65      - Use malloc. This costs code size for the call to xmalloc.
66      - Put them on stack. For some very small machines with limited stack
67        space, this can be deadly. For most folks, this works just fine.
68      - Put them in BSS. This works beautifully for computers with a real
69        MMU (and OS support), but wastes runtime RAM for uCLinux. This
70        behavior was the only one available for BusyBox versions 0.48 and
71        earlier.
72
73config BUSYBOX_CONFIG_FEATURE_BUFFERS_USE_MALLOC
74    bool "Allocate with Malloc"
75
76config BUSYBOX_CONFIG_FEATURE_BUFFERS_GO_ON_STACK
77    bool "Allocate on the Stack"
78
79config BUSYBOX_CONFIG_FEATURE_BUFFERS_GO_IN_BSS
80    bool "Allocate in the .bss section"
81
82endchoice
83
84config BUSYBOX_CONFIG_SHOW_USAGE
85    bool "Show terse applet usage messages"
86    default y
87    help
88      All BusyBox applets will show help messages when invoked with
89      wrong arguments. You can turn off printing these terse usage
90      messages if you say no here.
91      This will save you up to 7k.
92
93config BUSYBOX_CONFIG_FEATURE_VERBOSE_USAGE
94    bool "Show verbose applet usage messages"
95    default y
96    depends on BUSYBOX_CONFIG_SHOW_USAGE
97    help
98      All BusyBox applets will show more verbose help messages when
99      busybox is invoked with --help. This will add a lot of text to the
100      busybox binary. In the default configuration, this will add about
101      13k, but it can add much more depending on your configuration.
102
103config BUSYBOX_CONFIG_FEATURE_COMPRESS_USAGE
104    bool "Store applet usage messages in compressed form"
105    default y
106    depends on BUSYBOX_CONFIG_SHOW_USAGE
107    help
108      Store usage messages in compressed form, uncompress them on-the-fly
109      when <applet> --help is called.
110
111      If you have a really tiny busybox with few applets enabled (and
112      bunzip2 isn't one of them), the overhead of the decompressor might
113      be noticeable. Also, if you run executables directly from ROM
114      and have very little memory, this might not be a win. Otherwise,
115      you probably want this.
116
117config BUSYBOX_CONFIG_FEATURE_INSTALLER
118    bool "Support --install [-s] to install applet links at runtime"
119    default n
120    help
121      Enable 'busybox --install [-s]' support. This will allow you to use
122      busybox at runtime to create hard links or symlinks for all the
123      applets that are compiled into busybox.
124
125config BUSYBOX_CONFIG_INSTALL_NO_USR
126    bool "Don't use /usr"
127    default n
128    help
129      Disable use of /usr. busybox --install and "make install"
130      will install applets only to /bin and /sbin,
131      never to /usr/bin or /usr/sbin.
132
133config BUSYBOX_CONFIG_LOCALE_SUPPORT
134    bool "Enable locale support (system needs locale for this to work)"
135    default n
136    help
137      Enable this if your system has locale support and you would like
138      busybox to support locale settings.
139
140config BUSYBOX_CONFIG_UNICODE_SUPPORT
141    bool "Support Unicode"
142    default n
143    help
144      This makes various applets aware that one byte is not
145      one character on screen.
146
147      Busybox aims to eventually work correctly with Unicode displays.
148      Any older encodings are not guaranteed to work.
149      Probably by the time when busybox will be fully Unicode-clean,
150      other encodings will be mainly of historic interest.
151
152config BUSYBOX_CONFIG_UNICODE_USING_LOCALE
153    bool "Use libc routines for Unicode (else uses internal ones)"
154    default n
155    depends on BUSYBOX_CONFIG_UNICODE_SUPPORT && BUSYBOX_CONFIG_LOCALE_SUPPORT
156    help
157      With this option on, Unicode support is implemented using libc
158      routines. Otherwise, internal implementation is used.
159      Internal implementation is smaller.
160
161config BUSYBOX_CONFIG_FEATURE_CHECK_UNICODE_IN_ENV
162    bool "Check $LANG environment variable"
163    default n
164    depends on BUSYBOX_CONFIG_UNICODE_SUPPORT && !BUSYBOX_CONFIG_UNICODE_USING_LOCALE
165    help
166      With this option on, Unicode support is activated
167      only if LANG variable has the value of the form "xxxx.utf8"
168
169      Otherwise, Unicode support will be always enabled and active.
170
171config BUSYBOX_CONFIG_SUBST_WCHAR
172    int "Character code to substitute unprintable characters with"
173    depends on BUSYBOX_CONFIG_UNICODE_SUPPORT
174    default 63
175    help
176      Typical values are 63 for '?' (works with any output device),
177      30 for ASCII substitute control code,
178      65533 (0xfffd) for Unicode replacement character.
179
180config BUSYBOX_CONFIG_LAST_SUPPORTED_WCHAR
181    int "Range of supported Unicode characters"
182    depends on BUSYBOX_CONFIG_UNICODE_SUPPORT
183    default 767
184    help
185      Any character with Unicode value bigger than this is assumed
186      to be non-printable on output device. Many applets replace
187      such chars with substitution character.
188
189      The idea is that many valid printable Unicode chars are
190      nevertheless are not displayed correctly. Think about
191      combining charachers, double-wide hieroglyphs, obscure
192      characters in dozens of ancient scripts...
193      Many terminals, terminal emulators, xterms etc will fail
194      to handle them correctly. Choose the smallest value
195      which suits your needs.
196
197      Typical values are:
198      126 - ASCII only
199      767 (0x2ff) - there are no combining chars in [0..767] range
200            (the range includes Latin 1, Latin Ext. A and B),
201            code is ~700 bytes smaller for this case.
202      4351 (0x10ff) - there are no double-wide chars in [0..4351] range,
203            code is ~300 bytes smaller for this case.
204      12799 (0x31ff) - nearly all non-ideographic characters are
205            available in [0..12799] range, including
206            East Asian scripts like katakana, hiragana, hangul,
207            bopomofo...
208      0 - off, any valid printable Unicode character will be printed.
209
210config BUSYBOX_CONFIG_UNICODE_COMBINING_WCHARS
211    bool "Allow zero-width Unicode characters on output"
212    default n
213    depends on BUSYBOX_CONFIG_UNICODE_SUPPORT
214    help
215      With this option off, any Unicode char with width of 0
216      is substituted on output.
217
218config BUSYBOX_CONFIG_UNICODE_WIDE_WCHARS
219    bool "Allow wide Unicode characters on output"
220    default n
221    depends on BUSYBOX_CONFIG_UNICODE_SUPPORT
222    help
223      With this option off, any Unicode char with width > 1
224      is substituted on output.
225
226config BUSYBOX_CONFIG_UNICODE_BIDI_SUPPORT
227    bool "Bidirectional character-aware line input"
228    default n
229    depends on BUSYBOX_CONFIG_UNICODE_SUPPORT && !BUSYBOX_CONFIG_UNICODE_USING_LOCALE
230    help
231      With this option on, right-to-left Unicode characters
232      are treated differently on input (e.g. cursor movement).
233
234config BUSYBOX_CONFIG_UNICODE_NEUTRAL_TABLE
235    bool "In bidi input, support non-ASCII neutral chars too"
236    default n
237    depends on BUSYBOX_CONFIG_UNICODE_BIDI_SUPPORT
238    help
239      In most cases it's enough to treat only ASCII non-letters
240      (i.e. punctuation, numbers and space) as characters
241      with neutral directionality.
242      With this option on, more extensive (and bigger) table
243      of neutral chars will be used.
244
245config BUSYBOX_CONFIG_UNICODE_PRESERVE_BROKEN
246    bool "Make it possible to enter sequences of chars which are not Unicode"
247    default n
248    depends on BUSYBOX_CONFIG_UNICODE_SUPPORT
249    help
250      With this option on, on line-editing input (such as used by shells)
251      invalid UTF-8 bytes are not substituted with the selected
252      substitution character.
253      For example, this means that entering 'l', 's', ' ', 0xff, [Enter]
254      at shell prompt will list file named 0xff (single char name
255      with char value 255), not file named '?'.
256
257config BUSYBOX_CONFIG_LONG_OPTS
258    bool "Support for --long-options"
259    default y
260    help
261      Enable this if you want busybox applets to use the gnu --long-option
262      style, in addition to single character -a -b -c style options.
263
264config BUSYBOX_CONFIG_FEATURE_DEVPTS
265    bool "Use the devpts filesystem for Unix98 PTYs"
266    default y
267    help
268      Enable if you want BusyBox to use Unix98 PTY support. If enabled,
269      busybox will use /dev/ptmx for the master side of the pseudoterminal
270      and /dev/pts/<number> for the slave side. Otherwise, BSD style
271      /dev/ttyp<number> will be used. To use this option, you should have
272      devpts mounted.
273
274config BUSYBOX_CONFIG_FEATURE_CLEAN_UP
275    bool "Clean up all memory before exiting (usually not needed)"
276    default n
277    help
278      As a size optimization, busybox normally exits without explicitly
279      freeing dynamically allocated memory or closing files. This saves
280      space since the OS will clean up for us, but it can confuse debuggers
281      like valgrind, which report tons of memory and resource leaks.
282
283      Don't enable this unless you have a really good reason to clean
284      things up manually.
285
286config BUSYBOX_CONFIG_FEATURE_UTMP
287    bool "Support utmp file"
288    default n
289    help
290      The file /var/run/utmp is used to track who is currently logged in.
291      With this option on, certain applets (getty, login, telnetd etc)
292      will create and delete entries there.
293      "who" applet requires this option.
294
295config BUSYBOX_CONFIG_FEATURE_WTMP
296    bool "Support wtmp file"
297    default n
298    depends on BUSYBOX_CONFIG_FEATURE_UTMP
299    help
300      The file /var/run/wtmp is used to track when users have logged into
301      and logged out of the system.
302      With this option on, certain applets (getty, login, telnetd etc)
303      will append new entries there.
304      "last" applet requires this option.
305
306config BUSYBOX_CONFIG_FEATURE_PIDFILE
307    bool "Support writing pidfiles"
308    default y
309    help
310      This option makes some applets (e.g. crond, syslogd, inetd) write
311      a pidfile in /var/run. Some applications rely on them.
312
313config BUSYBOX_CONFIG_FEATURE_SUID
314    bool "Support for SUID/SGID handling"
315    default y
316    help
317      With this option you can install the busybox binary belonging
318      to root with the suid bit set, enabling some applets to perform
319      root-level operations even when run by ordinary users
320      (for example, mounting of user mounts in fstab needs this).
321
322      Busybox will automatically drop priviledges for applets
323      that don't need root access.
324
325      If you are really paranoid and don't want to do this, build two
326      busybox binaries with different applets in them (and the appropriate
327      symlinks pointing to each binary), and only set the suid bit on the
328      one that needs it.
329
330      The applets which require root rights (need suid bit or
331      to be run by root) and will refuse to execute otherwise:
332      crontab, login, passwd, su, vlock, wall.
333
334      The applets which will use root rights if they have them
335      (via suid bit, or because run by root), but would try to work
336      without root right nevertheless:
337      findfs, ping[6], traceroute[6], mount.
338
339      Note that if you DONT select this option, but DO make busybox
340      suid root, ALL applets will run under root, which is a huge
341      security hole (think "cp /some/file /etc/passwd").
342
343config BUSYBOX_CONFIG_FEATURE_SUID_CONFIG
344    bool "Runtime SUID/SGID configuration via /etc/busybox.conf"
345    default n
346    depends on BUSYBOX_CONFIG_FEATURE_SUID
347    help
348      Allow the SUID / SGID state of an applet to be determined at runtime
349      by checking /etc/busybox.conf. (This is sort of a poor man's sudo.)
350      The format of this file is as follows:
351
352      APPLET = [Ssx-][Ssx-][x-] [USER.GROUP]
353
354      s: USER or GROUP is allowed to execute APPLET.
355         APPLET will run under USER or GROUP
356         (reagardless of who's running it).
357      S: USER or GROUP is NOT allowed to execute APPLET.
358         APPLET will run under USER or GROUP.
359         This option is not very sensical.
360      x: USER/GROUP/others are allowed to execute APPLET.
361         No UID/GID change will be done when it is run.
362      -: USER/GROUP/others are not allowed to execute APPLET.
363
364      An example might help:
365
366      [SUID]
367      su = ssx root.0 # applet su can be run by anyone and runs with
368                      # euid=0/egid=0
369      su = ssx # exactly the same
370
371      mount = sx- root.disk # applet mount can be run by root and members
372                            # of group disk (but not anyone else)
373                            # and runs with euid=0 (egid is not changed)
374
375      cp = --- # disable applet cp for everyone
376
377      The file has to be owned by user root, group root and has to be
378      writeable only by root:
379            (chown 0.0 /etc/busybox.conf; chmod 600 /etc/busybox.conf)
380      The busybox executable has to be owned by user root, group
381      root and has to be setuid root for this to work:
382            (chown 0.0 /bin/busybox; chmod 4755 /bin/busybox)
383
384      Robert 'sandman' Griebl has more information here:
385      <url: http://www.softforge.de/bb/suid.html >.
386
387config BUSYBOX_CONFIG_FEATURE_SUID_CONFIG_QUIET
388    bool "Suppress warning message if /etc/busybox.conf is not readable"
389    default n
390    depends on BUSYBOX_CONFIG_FEATURE_SUID_CONFIG
391    help
392      /etc/busybox.conf should be readable by the user needing the SUID,
393      check this option to avoid users to be notified about missing
394      permissions.
395
396config BUSYBOX_CONFIG_SELINUX
397    bool "Support NSA Security Enhanced Linux"
398    default n
399    select BUSYBOX_CONFIG_PLATFORM_LINUX
400    help
401      Enable support for SELinux in applets ls, ps, and id. Also provide
402      the option of compiling in SELinux applets.
403
404      If you do not have a complete SELinux userland installed, this stuff
405      will not compile. Go visit
406        http://www.nsa.gov/selinux/index.html
407      to download the necessary stuff to allow busybox to compile with
408      this option enabled. Specifially, libselinux 1.28 or better is
409      directly required by busybox. If the installation is located in a
410      non-standard directory, provide it by invoking make as follows:
411        CFLAGS=-I<libselinux-include-path> \
412        LDFLAGS=-L<libselinux-lib-path> \
413        make
414
415      Most people will leave this set to 'N'.
416
417config BUSYBOX_CONFIG_FEATURE_PREFER_APPLETS
418    bool "exec prefers applets"
419    default y
420    help
421      This is an experimental option which directs applets about to
422      call 'exec' to try and find an applicable busybox applet before
423      searching the PATH. This is typically done by exec'ing
424      /proc/self/exe.
425      This may affect shell, find -exec, xargs and similar applets.
426      They will use applets even if /bin/<applet> -> busybox link
427      is missing (or is not a link to busybox). However, this causes
428      problems in chroot jails without mounted /proc and with ps/top
429      (command name can be shown as 'exe' for applets started this way).
430
431config BUSYBOX_CONFIG_BUSYBOX_EXEC_PATH
432    string "Path to BusyBox executable"
433    default "/proc/self/exe"
434    help
435      When Busybox applets need to run other busybox applets, BusyBox
436      sometimes needs to exec() itself. When the /proc filesystem is
437      mounted, /proc/self/exe always points to the currently running
438      executable. If you haven't got /proc, set this to wherever you
439      want to run BusyBox from.
440
441# These are auto-selected by other options
442
443config BUSYBOX_CONFIG_FEATURE_SYSLOG
444    bool #No description makes it a hidden option
445    default y
446    #help
447    # This option is auto-selected when you select any applet which may
448    # send its output to syslog. You do not need to select it manually.
449
450config BUSYBOX_CONFIG_FEATURE_HAVE_RPC
451    bool #No description makes it a hidden option
452    default n
453    #help
454    # This is automatically selected if any of enabled applets need it.
455    # You do not need to select it manually.
456
457endmenu
458
459menu 'Build Options'
460
461config BUSYBOX_CONFIG_STATIC
462    bool "Build BusyBox as a static binary (no shared libs)"
463    default n
464    help
465      If you want to build a static BusyBox binary, which does not
466      use or require any shared libraries, then enable this option.
467      This can cause BusyBox to be considerably larger, so you should
468      leave this option false unless you have a good reason (i.e.
469      your target platform does not support shared libraries, or
470      you are building an initrd which doesn't need anything but
471      BusyBox, etc).
472
473      Most people will leave this set to 'N'.
474
475config BUSYBOX_CONFIG_PIE
476    bool "Build BusyBox as a position independent executable"
477    default n
478    depends on !BUSYBOX_CONFIG_STATIC
479    help
480      Hardened code option. PIE binaries are loaded at a different
481      address at each invocation. This has some overhead,
482      particularly on x86-32 which is short on registers.
483
484      Most people will leave this set to 'N'.
485
486config BUSYBOX_CONFIG_NOMMU
487    bool "Force NOMMU build"
488    default n
489    help
490      Busybox tries to detect whether architecture it is being
491      built against supports MMU or not. If this detection fails,
492      or if you want to build NOMMU version of busybox for testing,
493      you may force NOMMU build here.
494
495      Most people will leave this set to 'N'.
496
497# PIE can be made to work with BUILD_LIBBUSYBOX, but currently
498# build system does not support that
499config BUSYBOX_CONFIG_BUILD_LIBBUSYBOX
500    bool "Build shared libbusybox"
501    default n
502    depends on !BUSYBOX_CONFIG_FEATURE_PREFER_APPLETS && !BUSYBOX_CONFIG_PIE && !BUSYBOX_CONFIG_STATIC
503    help
504      Build a shared library libbusybox.so.N.N.N which contains all
505      busybox code.
506
507      This feature allows every applet to be built as a tiny
508      separate executable. Enabling it for "one big busybox binary"
509      approach serves no purpose and increases code size.
510      You should almost certainly say "no" to this.
511
512### config FEATURE_FULL_LIBBUSYBOX
513### bool "Feature-complete libbusybox"
514### default n if !FEATURE_SHARED_BUSYBOX
515### depends on BUILD_LIBBUSYBOX
516### help
517### Build a libbusybox with the complete feature-set, disregarding
518### the actually selected config.
519###
520### Normally, libbusybox will only contain the features which are
521### used by busybox itself. If you plan to write a separate
522### standalone application which uses libbusybox say 'Y'.
523###
524### Note: libbusybox is GPL, not LGPL, and exports no stable API that
525### might act as a copyright barrier. We can and will modify the
526### exported function set between releases (even minor version number
527### changes), and happily break out-of-tree features.
528###
529### Say 'N' if in doubt.
530
531config BUSYBOX_CONFIG_FEATURE_INDIVIDUAL
532    bool "Produce a binary for each applet, linked against libbusybox"
533    default n
534    depends on BUSYBOX_CONFIG_BUILD_LIBBUSYBOX
535    help
536      If your CPU architecture doesn't allow for sharing text/rodata
537      sections of running binaries, but allows for runtime dynamic
538      libraries, this option will allow you to reduce memory footprint
539      when you have many different applets running at once.
540
541      If your CPU architecture allows for sharing text/rodata,
542      having single binary is more optimal.
543
544      Each applet will be a tiny program, dynamically linked
545      against libbusybox.so.N.N.N.
546
547      You need to have a working dynamic linker.
548
549config BUSYBOX_CONFIG_FEATURE_SHARED_BUSYBOX
550    bool "Produce additional busybox binary linked against libbusybox"
551    default n
552    depends on BUSYBOX_CONFIG_BUILD_LIBBUSYBOX
553    help
554      Build busybox, dynamically linked against libbusybox.so.N.N.N.
555
556      You need to have a working dynamic linker.
557
558### config BUILD_AT_ONCE
559### bool "Compile all sources at once"
560### default n
561### help
562### Normally each source-file is compiled with one invocation of
563### the compiler.
564### If you set this option, all sources are compiled at once.
565### This gives the compiler more opportunities to optimize which can
566### result in smaller and/or faster binaries.
567###
568### Setting this option will consume alot of memory, e.g. if you
569### enable all applets with all features, gcc uses more than 300MB
570### RAM during compilation of busybox.
571###
572### This option is most likely only beneficial for newer compilers
573### such as gcc-4.1 and above.
574###
575### Say 'N' unless you know what you are doing.
576
577config BUSYBOX_CONFIG_LFS
578    bool
579    default y
580    help
581      If you want to build BusyBox with large file support, then enable
582      this option. This will have no effect if your kernel or your C
583      library lacks large file support for large files. Some of the
584      programs that can benefit from large file support include dd, gzip,
585      cp, mount, tar, and many others. If you want to access files larger
586      than 2 Gigabytes, enable this option. Otherwise, leave it set to 'N'.
587
588config BUSYBOX_CONFIG_CROSS_COMPILER_PREFIX
589    string "Cross Compiler prefix"
590    default ""
591    help
592      If you want to build BusyBox with a cross compiler, then you
593      will need to set this to the cross-compiler prefix, for example,
594      "i386-uclibc-".
595
596      Note that CROSS_COMPILE environment variable or
597      "make CROSS_COMPILE=xxx ..." will override this selection.
598
599      Native builds leave this empty.
600
601config BUSYBOX_CONFIG_EXTRA_CFLAGS
602    string "Additional CFLAGS"
603    default ""
604    help
605      Additional CFLAGS to pass to the compiler verbatim.
606
607endmenu
608
609menu 'Debugging Options'
610
611config BUSYBOX_CONFIG_DEBUG
612    bool "Build BusyBox with extra Debugging symbols"
613    default n
614    help
615      Say Y here if you wish to examine BusyBox internals while applets are
616      running. This increases the size of the binary considerably, and
617      should only be used when doing development. If you are doing
618      development and want to debug BusyBox, answer Y.
619
620      Most people should answer N.
621
622config BUSYBOX_CONFIG_DEBUG_PESSIMIZE
623    bool "Disable compiler optimizations"
624    default n
625    depends on BUSYBOX_CONFIG_DEBUG
626    help
627      The compiler's optimization of source code can eliminate and reorder
628      code, resulting in an executable that's hard to understand when
629      stepping through it with a debugger. This switches it off, resulting
630      in a much bigger executable that more closely matches the source
631      code.
632
633config BUSYBOX_CONFIG_WERROR
634    bool "Abort compilation on any warning"
635    default n
636    help
637      Selecting this will add -Werror to gcc command line.
638
639      Most people should answer N.
640
641choice
642    prompt "Additional debugging library"
643    default BUSYBOX_CONFIG_NO_DEBUG_LIB
644    help
645      Using an additional debugging library will make BusyBox become
646      considerable larger and will cause it to run more slowly. You
647      should always leave this option disabled for production use.
648
649      dmalloc support:
650      ----------------
651      This enables compiling with dmalloc ( http://dmalloc.com/ )
652      which is an excellent public domain mem leak and malloc problem
653      detector. To enable dmalloc, before running busybox you will
654      want to properly set your environment, for example:
655        export DMALLOC_OPTIONS=debug=0x34f47d83,inter=100,log=logfile
656      The 'debug=' value is generated using the following command
657        dmalloc -p log-stats -p log-non-free -p log-bad-space \
658           -p log-elapsed-time -p check-fence -p check-heap \
659           -p check-lists -p check-blank -p check-funcs -p realloc-copy \
660           -p allow-free-null
661
662      Electric-fence support:
663      -----------------------
664      This enables compiling with Electric-fence support. Electric
665      fence is another very useful malloc debugging library which uses
666      your computer's virtual memory hardware to detect illegal memory
667      accesses. This support will make BusyBox be considerable larger
668      and run slower, so you should leave this option disabled unless
669      you are hunting a hard to find memory problem.
670
671
672config BUSYBOX_CONFIG_NO_DEBUG_LIB
673    bool "None"
674
675config BUSYBOX_CONFIG_DMALLOC
676    bool "Dmalloc"
677
678config BUSYBOX_CONFIG_EFENCE
679    bool "Electric-fence"
680
681endchoice
682
683endmenu
684
685menu 'Installation Options ("make install" behavior)'
686
687choice
688    prompt "What kind of applet links to install"
689    default BUSYBOX_CONFIG_INSTALL_APPLET_SYMLINKS
690    help
691      Choose what kind of links to applets are created by "make install".
692
693config BUSYBOX_CONFIG_INSTALL_APPLET_SYMLINKS
694    bool "as soft-links"
695    help
696      Install applets as soft-links to the busybox binary. This needs some
697      free inodes on the filesystem, but might help with filesystem
698      generators that can't cope with hard-links.
699
700config BUSYBOX_CONFIG_INSTALL_APPLET_HARDLINKS
701    bool "as hard-links"
702    help
703      Install applets as hard-links to the busybox binary. This might
704      count on a filesystem with few inodes.
705
706config BUSYBOX_CONFIG_INSTALL_APPLET_SCRIPT_WRAPPERS
707    bool "as script wrappers"
708    help
709      Install applets as script wrappers that call the busybox binary.
710
711config BUSYBOX_CONFIG_INSTALL_APPLET_DONT
712    bool "not installed"
713    help
714      Do not install applet links. Useful when you plan to use
715      busybox --install for installing links, or plan to use
716      a standalone shell and thus don't need applet links.
717
718endchoice
719
720choice
721    prompt "/bin/sh applet link"
722    default BUSYBOX_CONFIG_INSTALL_SH_APPLET_SYMLINK
723    depends on BUSYBOX_CONFIG_INSTALL_APPLET_SCRIPT_WRAPPERS
724    help
725      Choose how you install /bin/sh applet link.
726
727config BUSYBOX_CONFIG_INSTALL_SH_APPLET_SYMLINK
728    bool "as soft-link"
729    help
730      Install /bin/sh applet as soft-link to the busybox binary.
731
732config BUSYBOX_CONFIG_INSTALL_SH_APPLET_HARDLINK
733    bool "as hard-link"
734    help
735      Install /bin/sh applet as hard-link to the busybox binary.
736
737config BUSYBOX_CONFIG_INSTALL_SH_APPLET_SCRIPT_WRAPPER
738    bool "as script wrapper"
739    help
740      Install /bin/sh applet as script wrapper that calls
741      the busybox binary.
742
743endchoice
744
745config BUSYBOX_CONFIG_PREFIX
746    string "BusyBox installation prefix"
747    default "./_install"
748    help
749      Define your directory to install BusyBox files/subdirs in.
750
751endmenu
752
753source package/busybox/config/libbb/Config.in
754
755endmenu
756
757comment "Applets"
758
759source package/busybox/config/archival/Config.in
760source package/busybox/config/coreutils/Config.in
761source package/busybox/config/console-tools/Config.in
762source package/busybox/config/debianutils/Config.in
763source package/busybox/config/editors/Config.in
764source package/busybox/config/findutils/Config.in
765source package/busybox/config/init/Config.in
766source package/busybox/config/loginutils/Config.in
767source package/busybox/config/e2fsprogs/Config.in
768source package/busybox/config/modutils/Config.in
769source package/busybox/config/util-linux/Config.in
770source package/busybox/config/miscutils/Config.in
771source package/busybox/config/networking/Config.in
772source package/busybox/config/printutils/Config.in
773source package/busybox/config/mailutils/Config.in
774source package/busybox/config/procps/Config.in
775source package/busybox/config/runit/Config.in
776source package/busybox/config/selinux/Config.in
777source package/busybox/config/shell/Config.in
778source package/busybox/config/sysklogd/Config.in
779

Archive Download this file



interactive