endchoice
config SHOW_USAGE
- bool "Show terse applet usage messages"
+ bool "Show applet usage messages"
default y
help
- All BusyBox applets will show help messages when invoked with
- wrong arguments. You can turn off printing these terse usage
- messages if you say no here.
- This will save you up to 7k.
+ Enabling this option, BusyBox applets will show terse help messages
+ when invoked with wrong arguments.
+ If you do not want to show any (helpful) usage message when
+ issuing wrong command syntax, you can say 'N' here,
+ saving approximately 7k.
config FEATURE_VERBOSE_USAGE
bool "Show verbose applet usage messages"
default y
depends on SHOW_USAGE
help
- All BusyBox applets will show more verbose help messages when
+ All BusyBox applets will show verbose help messages when
busybox is invoked with --help. This will add a lot of text to the
busybox binary. In the default configuration, this will add about
13k, but it can add much more depending on your configuration.
default y
depends on SHOW_USAGE
help
- Store usage messages in compressed form, uncompress them on-the-fly
- when <applet> --help is called.
+ Store usage messages in .bz compressed form, uncompress them
+ on-the-fly when <applet> --help is called.
If you have a really tiny busybox with few applets enabled (and
bunzip2 isn't one of them), the overhead of the decompressor might
config INSTALL_NO_USR
bool "Don't use /usr"
default n
- depends on FEATURE_INSTALLER
help
Disable use of /usr. busybox --install and "make install"
will install applets only to /bin and /sbin,
Internal implementation is smaller.
config FEATURE_CHECK_UNICODE_IN_ENV
- bool "Check $LANG environment variable"
+ bool "Check $LC_ALL, $LC_CTYPE and $LANG environment variables"
default n
depends on UNICODE_SUPPORT && !UNICODE_USING_LOCALE
help
With this option on, Unicode support is activated
- only if LANG variable has the value of the form "xxxx.utf8"
+ only if locale-related variables have the value of the form
+ "xxxx.utf8"
Otherwise, Unicode support will be always enabled and active.
default n
depends on UNICODE_SUPPORT
help
- With this option on, invalid UTF-8 bytes are not substituted
- with the selected substitution character.
+ With this option on, on line-editing input (such as used by shells)
+ invalid UTF-8 bytes are not substituted with the selected
+ substitution character.
For example, this means that entering 'l', 's', ' ', 0xff, [Enter]
at shell prompt will list file named 0xff (single char name
with char value 255), not file named '?'.
Don't enable this unless you have a really good reason to clean
things up manually.
+config FEATURE_UTMP
+ bool "Support utmp file"
+ default y
+ help
+ The file /var/run/utmp is used to track who is currently logged in.
+ With this option on, certain applets (getty, login, telnetd etc)
+ will create and delete entries there.
+ "who" applet requires this option.
+
config FEATURE_WTMP
bool "Support wtmp file"
default y
- select FEATURE_UTMP
+ depends on FEATURE_UTMP
help
The file /var/run/wtmp is used to track when users have logged into
and logged out of the system.
will append new entries there.
"last" applet requires this option.
-config FEATURE_UTMP
- bool "Support utmp file"
- default y
- help
- The file /var/run/utmp is used to track who is currently logged in.
- With this option on, certain applets (getty, login, telnetd etc)
- will create and delete entries there.
- "who" applet requires this option.
-
config FEATURE_PIDFILE
bool "Support writing pidfiles"
default y
help
This option makes some applets (e.g. crond, syslogd, inetd) write
- a pidfile in /var/run. Some applications rely on them.
+ a pidfile at the configured PID_FILE_PATH. It has no effect
+ on applets which require pidfiles to run.
+
+config PID_FILE_PATH
+ string "Path to directory for pidfile"
+ default "/var/run"
+ depends on FEATURE_PIDFILE
+ help
+ This is the default path where pidfiles are created. Applets which
+ allow you to set the pidfile path on the command line will override
+ this value. The option has no effect on applets that require you to
+ specify a pidfile path.
config FEATURE_SUID
bool "Support for SUID/SGID handling"
root-level operations even when run by ordinary users
(for example, mounting of user mounts in fstab needs this).
- Busybox will automatically drop priviledges for applets
+ Busybox will automatically drop privileges for applets
that don't need root access.
If you are really paranoid and don't want to do this, build two
config FEATURE_SUID_CONFIG
bool "Runtime SUID/SGID configuration via /etc/busybox.conf"
- default y if FEATURE_SUID
+ default y
depends on FEATURE_SUID
help
Allow the SUID / SGID state of an applet to be determined at runtime
by checking /etc/busybox.conf. (This is sort of a poor man's sudo.)
The format of this file is as follows:
- <applet> = [Ssx-][Ssx-][x-] (<username>|<uid>).(<groupname>|<gid>)
+ APPLET = [Ssx-][Ssx-][x-] [USER.GROUP]
+
+ s: USER or GROUP is allowed to execute APPLET.
+ APPLET will run under USER or GROUP
+ (reagardless of who's running it).
+ S: USER or GROUP is NOT allowed to execute APPLET.
+ APPLET will run under USER or GROUP.
+ This option is not very sensical.
+ x: USER/GROUP/others are allowed to execute APPLET.
+ No UID/GID change will be done when it is run.
+ -: USER/GROUP/others are not allowed to execute APPLET.
An example might help:
su = ssx # exactly the same
mount = sx- root.disk # applet mount can be run by root and members
- # of group disk and runs with euid=0
+ # of group disk (but not anyone else)
+ # and runs with euid=0 (egid is not changed)
cp = --- # disable applet cp for everyone
config SELINUX
bool "Support NSA Security Enhanced Linux"
default n
- depends on PLATFORM_LINUX
+ select PLATFORM_LINUX
help
Enable support for SELinux in applets ls, ps, and id. Also provide
the option of compiling in SELinux applets.
default n
depends on !STATIC
help
- (TODO: what is it and why/when is it useful?)
+ Hardened code option. PIE binaries are loaded at a different
+ address at each invocation. This has some overhead,
+ particularly on x86-32 which is short on registers.
+
Most people will leave this set to 'N'.
config NOMMU
config LFS
bool "Build with Large File Support (for accessing files > 2 GB)"
default y
- select FDISK_SUPPORT_LARGE_DISKS
help
If you want to build BusyBox with large file support, then enable
this option. This will have no effect if your kernel or your C
Native builds leave this empty.
+config SYSROOT
+ string "Path to sysroot"
+ default ""
+ help
+ If you want to build BusyBox with a cross compiler, then you
+ might also need to specify where /usr/include and /usr/lib
+ will be found.
+
+ For example, BusyBox can be built against an installed
+ Android NDK, platform version 9, for ARM ABI with
+
+ CONFIG_SYSROOT=/opt/android-ndk/platforms/android-9/arch-arm
+
+ Native builds leave this empty.
+
config EXTRA_CFLAGS
string "Additional CFLAGS"
default ""
help
Additional CFLAGS to pass to the compiler verbatim.
+config EXTRA_LDFLAGS
+ string "Additional LDFLAGS"
+ default ""
+ help
+ Additional LDFLAGS to pass to the linker verbatim.
+
+config EXTRA_LDLIBS
+ string "Additional LDLIBS"
+ default ""
+ help
+ Additional LDLIBS to pass to the linker with -l.
+
endmenu
menu 'Debugging Options'
endchoice
-### config PARSE
-### bool "Uniform config file parser debugging applet: parse"
-
endmenu
menu 'Installation Options ("make install" behavior)'
config INSTALL_APPLET_DONT
bool "not installed"
- depends on FEATURE_INSTALLER || FEATURE_SH_STANDALONE || FEATURE_PREFER_APPLETS
help
Do not install applet links. Useful when you plan to use
busybox --install for installing links, or plan to use