bool
default y
+menu "Busybox Settings"
+
menu "General Configuration"
choice
bool "Clean up all memory before exiting (usually not needed)"
default n
help
- As a size optimization, busybox by default does not cleanup memory
- that is dynamically allocated or close files before exiting. This
- saves space and is usually not needed since the OS will clean up for
- us. Don't enable this unless you have a really good reason to clean
+ As a size optimization, busybox normally exits without explicitly
+ freeing dynamically allocated memory or closing files. This saves
+ space since the OS will clean up for us, but it can confuse debuggers
+ like valgrind, which report tons of memory and resource leaks.
+
+ Don't enable this unless you have a really good reason to clean
things up manually.
config BUSYBOX_CONFIG_FEATURE_SUID
checking /etc/busybox.conf. The format of this file is as follows:
<applet> = [Ssx-][Ssx-][x-] (<username>|<uid>).(<groupname>|<gid>)
-
+
An example might help:
[SUID]
cp = --- # disable applet cp for everyone
+ The file has to be owned by user root, group root and has to be
+ writeable only by root:
+ (chown 0.0 /etc/busybox.conf; chmod 600 /etc/busybox.conf)
+ The busybox executable has to be owned by user root, group
+ root and has to be setuid root for this to work:
+ (chown 0.0 /bin/busybox; chmod 4755 /bin/busybox)
+
Robert 'sandman' Griebl has more information here:
<url: http://www.softforge.de/bb/suid.html >.
Most people will leave this set to 'N'.
+# The busybox shared library feature is there so make standalone can produce
+# smaller applets. Since make standalone isn't in yet, there's nothing using
+# this yet, and so it's disabled.
+config BUSYBOX_CONFIG_DISABLE_SHARED
+ bool
+ default n
+
+config BUSYBOX_CONFIG_BUILD_LIBBUSYBOX
+ bool "Build shared libbusybox"
+ default n
+ depends on BUSYBOX_CONFIG_DISABLE_SHARED
+ help
+ Build a shared library libbusybox.so which contains all
+ libraries used inside busybox.
+
+config BUSYBOX_CONFIG_FEATURE_FULL_LIBBUSYBOX
+ bool "Feature-complete libbusybox"
+ default n if !CONFIG_FEATURE_SHARED_BUSYBOX
+ depends on BUSYBOX_CONFIG_BUILD_LIBBUSYBOX
+ help
+ Build a libbusybox with the complete feature-set, disregarding
+ the actually selected config.
+
+ Normally, libbusybox will only contain the features which are
+ used by busybox itself. If you plan to write a separate
+ 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.
+
+ Say 'N' if in doubt.
+
+config BUSYBOX_CONFIG_FEATURE_SHARED_BUSYBOX
+ bool "Use shared libbusybox for busybox"
+ default n if BUSYBOX_CONFIG_BUILD_LIBBUSYBOX
+ depends on !CONFIG_STATIC && BUSYBOX_CONFIG_BUILD_LIBBUSYBOX
+ help
+ Use libbusybox.so also for busybox itself.
+ You need to have a working dynamic linker to use this variant.
+
config BUSYBOX_CONFIG_LFS
bool
default y
if you want to add some simple compiler switches (like -march=i686),
or check for warnings using -Werror, just those options here.
-endmenu
-
-menu 'Installation Options'
-
-config BUSYBOX_CONFIG_INSTALL_NO_USR
- bool "Don't use /usr"
+config BUSYBOX_CONFIG_BUILD_AT_ONCE
+ bool "Compile all sources at once"
default n
help
- Disable use of /usr. Don't activate this option if you don't know
- that you really want this behaviour.
+ Normally each source-file is compiled with one invocation of
+ the compiler.
+ If you set this option, all sources are compiled at once.
+ This gives the compiler more opportunities to optimize which can
+ result in smaller and/or faster binaries.
-config BUSYBOX_PREFIX
- string
- default "./_install"
- help
- Define your directory to install BusyBox files/subdirs in.
+ 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.
+ This option is most likely only beneficial for newer compilers
+ such as gcc-4.1 and above.
+ Say 'N' unless you know what you are doing.
endmenu
-source package/busybox/config/archival/Config.in
-source package/busybox/config/coreutils/Config.in
-source package/busybox/config/console-tools/Config.in
-source package/busybox/config/debianutils/Config.in
-source package/busybox/config/editors/Config.in
-source package/busybox/config/findutils/Config.in
-source package/busybox/config/init/Config.in
-source package/busybox/config/loginutils/Config.in
-source package/busybox/config/miscutils/Config.in
-source package/busybox/config/modutils/Config.in
-source package/busybox/config/networking/Config.in
-source package/busybox/config/procps/Config.in
-source package/busybox/config/shell/Config.in
-source package/busybox/config/sysklogd/Config.in
-source package/busybox/config/util-linux/Config.in
-
menu 'Debugging Options'
config BUSYBOX_CONFIG_DEBUG
endchoice
+config BUSYBOX_CONFIG_DEBUG_YANK_SUSv2
+ bool "Disable obsolete features removed before SUSv3?"
+ default y
+ help
+ This option will disable backwards compatability with SuSv2,
+ specifically, old-style numeric options ('command -1 <file>')
+ will not be supported in head, tail, and fold. (Note: should
+ yank from renice too.)
+
+endmenu
+
+menu 'Installation Options'
+
+config BUSYBOX_CONFIG_INSTALL_NO_USR
+ bool "Don't use /usr"
+ default n
+ help
+ Disable use of /usr. Don't activate this option if you don't know
+ that you really want this behaviour.
+
+choice
+ prompt "Applets links"
+ default BUSYBOX_CONFIG_INSTALL_APPLET_SYMLINKS
+ help
+ Choose how you install applets links.
+
+config BUSYBOX_CONFIG_INSTALL_APPLET_SYMLINKS
+ bool "as soft-links"
+ help
+ Install applets as soft-links to the busybox binary. This needs some
+ free inodes on the filesystem, but might help with filesystem
+ generators that can't cope with hard-links.
+
+config BUSYBOX_CONFIG_INSTALL_APPLET_HARDLINKS
+ bool "as hard-links"
+ help
+ Install applets as hard-links to the busybox binary. This might count
+ on a filesystem with few inodes.
+
+config BUSYBOX_CONFIG_INSTALL_APPLET_DONT
+ bool
+ prompt "not installed"
+ depends on BUSYBOX_CONFIG_FEATURE_INSTALLER || BUSYBOX_CONFIG_FEATURE_SH_STANDALONE_SHELL
+ help
+ Do not install applets links. Usefull when using the -install feature
+ or a standalone shell for rescue pruposes.
+
+endchoice
+
+config BUSYBOX_PREFIX
+ string
+ default "./_install"
+ help
+ Define your directory to install BusyBox files/subdirs in.
+
+endmenu
+
+source package/busybox/config/libbb/Config.in
endmenu
+comment "Applets"
+
+source package/busybox/config/archival/Config.in
+source package/busybox/config/coreutils/Config.in
+source package/busybox/config/console-tools/Config.in
+source package/busybox/config/debianutils/Config.in
+source package/busybox/config/editors/Config.in
+source package/busybox/config/findutils/Config.in
+source package/busybox/config/init/Config.in
+source package/busybox/config/loginutils/Config.in
+source package/busybox/config/e2fsprogs/Config.in
+source package/busybox/config/modutils/Config.in
+source package/busybox/config/util-linux/Config.in
+source package/busybox/config/miscutils/Config.in
+source package/busybox/config/networking/Config.in
+source package/busybox/config/procps/Config.in
+source package/busybox/config/shell/Config.in
+source package/busybox/config/sysklogd/Config.in