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
is generally considerably better than that achieved by more
conventional LZ77/LZ78-based compressors, and approaches the
performance of the PPM family of statistical compressors.
-
+
The BusyBox bunzip2 applet is limited to de-compression only.
On an x86 system, this applet adds about 11K.
-
+
Unless you have a specific application which requires bunzip2, you
should probably say N here.
default n
help
dpkg is a medium-level tool to install, build, remove and manage Debian packages.
-
+
This implementation of dpkg has a number of limitations, you should use the
official dpkg if possible.
default n
help
dpkg-deb packs, unpacks and provides information about Debian archives.
-
+
This implementation of dpkg-deb cannot pack archives.
-
+
Unless you have a specific application which requires dpkg-deb, you should
probably say N here.
If you enable this option you'll be able to extract
archives compressed with bzip2.
+config BUSYBOX_CONFIG_FEATURE_TAR_LZMA
+ bool " Enable -a option to handle .tar.lzma files"
+ default n
+ depends on BUSYBOX_CONFIG_TAR
+ help
+ If you enable this option you'll be able to extract
+ archives compressed with lzma.
+
config BUSYBOX_CONFIG_FEATURE_TAR_FROM
bool " Enable -X (exclude from) and -T (include from) options)"
default y
uncompress is used to decompress archives created by compress.
Not much used anymore, replaced by gzip/gunzip.
+config BUSYBOX_CONFIG_UNLZMA
+ bool "unlzma"
+ default n
+ help
+ unlzma is a compression utility using the Lempel-Ziv-Markov chain
+ compression algorithm, and range coding. Compression
+ is generally considerably better than that achieved by the bzip2
+ compressors.
+
+ The BusyBox unlzma applet is limited to de-compression only.
+ On an x86 system, this applet adds about 4K.
+
+ Unless you have a specific application which requires unlzma, you
+ should probably say N here.
+
+config BUSYBOX_CONFIG_FEATURE_LZMA_FAST
+ bool " Optimze unlzma for speed"
+ default n
+ depends on BUSYBOX_CONFIG_UNLZMA
+ help
+ This option reduce decompression time by about 33% at the cost of
+ a 2K bigger binary.
+
config BUSYBOX_CONFIG_UNZIP
bool "unzip"
default n
depends on BUSYBOX_CONFIG_DPKG || BUSYBOX_CONFIG_DPKG_DEB
help
This is the default compression method inside the debian ar file.
-
+
If you want compatibility with standard .deb's you should say yes here.
config BUSYBOX_CONFIG_FEATURE_DEB_TAR_BZ2
help
This allows dpkg and dpkg-deb to extract deb's that are compressed internally
with bzip2 instead of gzip.
-
+
You only want this if you are creating your own custom debian packages that
use an internal control.tar.bz2 or data.tar.bz2.
+config BUSYBOX_CONFIG_FEATURE_DEB_TAR_LZMA
+ bool " lzma debian packages"
+ default n
+ depends on BUSYBOX_CONFIG_DPKG || BUSYBOX_CONFIG_DPKG_DEB
+ help
+ This allows dpkg and dpkg-deb to extract deb's that are compressed
+ internally with lzma instead of gzip.
+
+ You only want this if you are creating your own custom debian
+ packages that use an internal control.tar.lzma or data.tar.lzma.
+
endmenu
This program is used to reset the terminal screen, if it
gets messed up.
+config BUSYBOX_CONFIG_SETCONSOLE
+ bool "setconsole"
+ default n
+ help
+ This program redirects the system console to another device,
+ like the current tty while logged in via telnet.
+
config BUSYBOX_CONFIG_SETKEYCODES
bool "setkeycodes"
default n
cmp is used to compare two files and returns the result
to standard output.
+config BUSYBOX_CONFIG_COMM
+ bool "comm"
+ default n
+ help
+ comm is used to compare two files line by line and return
+ a three-column output.
+
config BUSYBOX_CONFIG_CP
bool "cp"
default y
cut is used to print selected parts of lines from
each file to stdout.
-if BUSYBOX_CONFIG_WATCH
- config BUSYBOX_CONFIG_DATE
- default y
- comment "date (forced enabled for use with watch)"
-endif
-
-if !CONFIG_WATCH
- config BUSYBOX_CONFIG_DATE
- bool "date"
- default y
- help
- date is used to set the system date or display the
- current time in the given format.
-endif
+config BUSYBOX_CONFIG_DATE
+ bool "date"
+ default y
+ help
+ date is used to set the system date or display the
+ current time in the given format.
config BUSYBOX_CONFIG_FEATURE_DATE_ISOFMT
bool " Enable ISO date format output (-I)"
Use a blocksize of (1K) instead of the default 512b.
config BUSYBOX_CONFIG_ECHO
- bool "echo (basic SUSv3 version taking no options)"
+ bool "echo (basic SuSv3 version taking no options)"
default y
help
echo is used to print a specified string to stdout.
+# this entry also appears in shell/Config.in, next to the echo builtin
config BUSYBOX_CONFIG_FEATURE_FANCY_ECHO
bool " Enable echo options (-n and -e)"
default y
expr is used to calculate numbers and print the result
to standard output.
-if BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_LASH || BUSYBOX_CONFIG_MSH
- config BUSYBOX_CONFIG_FALSE
- default y
- comment "false (forced enabled for use with shell)"
-endif
+config BUSYBOX_CONFIG_EXPR_MATH_SUPPORT_64
+ bool " Extend Posix numbers support to 64 bit"
+ default n
+ depends on BUSYBOX_CONFIG_EXPR
+ help
+ Enable 64-bit math support in the expr applet. This will make
+ the applet slightly larger, but will allow computation with very
+ large numbers.
-if !CONFIG_HUSH && !CONFIG_LASH && !CONFIG_MSH
- config BUSYBOX_CONFIG_FALSE
- bool "false"
- default y
- help
- false returns an exit code of FALSE (1).
-endif
+config BUSYBOX_CONFIG_FALSE
+ bool "false"
+ default y
+ help
+ false returns an exit code of FALSE (1).
config BUSYBOX_CONFIG_FOLD
bool "fold"
Allow ls to display username/groupname for files.
config BUSYBOX_CONFIG_FEATURE_LS_COLOR
- bool " Use color to identify file types"
+ bool " Allow use of color to identify file types"
default y
depends on BUSYBOX_CONFIG_LS
help
- Allow ls to use color when displaying files.
+ This enables the --color option to ls.
+
+config BUSYBOX_CONFIG_FEATURE_LS_COLOR_IS_DEFAULT
+ bool " Produce colored ls output by default"
+ default y
+ depends on BUSYBOX_CONFIG_FEATURE_LS_COLOR
+ help
+ Saying yes here will turn coloring on by default,
+ even if no "--color" option is given to the ls command.
+ This is not recommended, since the colors are not
+ configurable, and the output may not be legible on
+ many output screens.
config BUSYBOX_CONFIG_MD5SUM
bool "md5sum"
help
mv is used to move or rename files or directories.
+config BUSYBOX_CONFIG_NICE
+ bool "nice"
+ default n
+ help
+ nice runs a program with modified scheduling priority.
+
+config BUSYBOX_CONFIG_NOHUP
+ bool "nohup"
+ default n
+ help
+ run a command immune to hangups, with output to a non-tty.
+
config BUSYBOX_CONFIG_OD
bool "od"
default n
help
od is used to dump binary files in octal and other formats.
+config BUSYBOX_CONFIG_PRINTENV
+ bool "printenv"
+ default n
+ help
+ printenv is used to print all or part of environment.
+
config BUSYBOX_CONFIG_PRINTF
bool "printf"
default y
help
sort is used to sort lines of text in specified files.
+config BUSYBOX_CONFIG_FEATURE_SORT_BIG
+ bool " full SuSv3 compliant sort (Support -ktcsbdfiozgM)"
+ default n
+ depends on BUSYBOX_CONFIG_SORT
+ help
+ Without this, sort only supports -r, -u, and an integer version
+ of -n. Selecting this adds sort keys, floating point support, and
+ more. This adds a little over 3k to a nonstatic build on x86.
+
+ The SuSv3 sort standard is available at:
+ http://www.opengroup.org/onlinepubs/007904975/utilities/sort.html
+
+config BUSYBOX_CONFIG_STAT
+ bool "stat"
+ default n
+ help
+ display file or filesystem status.
+
+config BUSYBOX_CONFIG_FEATURE_STAT_FORMAT
+ bool " Enable custom formats (-c)"
+ default n
+ depends on BUSYBOX_CONFIG_STAT
+ help
+ Without this, stat will not support the '-c format' option where
+ users can pass a custom format string for output. This adds about
+ 7k to a nonstatic build on amd64.
+
config BUSYBOX_CONFIG_STTY
bool "stty"
default n
help
stty is used to change and print terminal line settings.
+config BUSYBOX_CONFIG_SUM
+ bool "sum"
+ default n
+ help
+ checksum and count the blocks in a file
+
config BUSYBOX_CONFIG_SYNC
bool "sync"
default y
help
Enable this option for a faster tee, at expense of size.
-if BUSYBOX_CONFIG_ASH || BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_LASH || BUSYBOX_CONFIG_MSH
- config BUSYBOX_CONFIG_TEST
- default y
- comment "test (forced enabled for use with shell)"
-endif
-
-if !CONFIG_ASH && !CONFIG_HUSH && !CONFIG_LASH && !CONFIG_MSH
- config BUSYBOX_CONFIG_TEST
- bool "test"
- default y
- help
- test is used to check file types and compare values,
- returning an appropriate exit code. The shells (ash
- and bash) have test builtin.
-endif
+config BUSYBOX_CONFIG_TEST
+ bool "test"
+ default y
+ help
+ test is used to check file types and compare values,
+ returning an appropriate exit code. The shells (ash
+ and bash) have test builtin.
config BUSYBOX_CONFIG_FEATURE_TEST_64
bool " Extend test to 64 bit"
tr is used to squeeze, and/or delete characters from standard
input, writing to standard output.
-if BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_LASH || BUSYBOX_CONFIG_MSH
- config BUSYBOX_CONFIG_TRUE
- default y
- comment "true (forced enabled for use with shell)"
-endif
+config BUSYBOX_CONFIG_FEATURE_TR_CLASSES
+ bool " Enable character classes (such as [:upper:])"
+ default n
+ depends on BUSYBOX_CONFIG_TR
+ help
+ Enable character classes, enabling commands such as:
+ tr [:upper:] [:lower:] to convert input into lowercase.
-if !CONFIG_HUSH && !CONFIG_LASH && !CONFIG_MSH
- config BUSYBOX_CONFIG_TRUE
- bool "true"
- default y
- help
- true returns an exit code of TRUE (0).
+config BUSYBOX_CONFIG_FEATURE_TR_EQUIV
+ bool " Enable equivalence classes"
+ default n
+ depends on BUSYBOX_CONFIG_TR
+ help
+ Enable equivalence classes, which essentially add the enclosed
+ character to the current set. For instance, tr [=a=] xyz would
+ replace all instances of 'a' with 'xyz'. This option is mainly
+ useful for cases when no other way of expressing a character
+ is possible.
-endif
+config BUSYBOX_CONFIG_TRUE
+ bool "true"
+ default y
+ help
+ true returns an exit code of TRUE (0).
config BUSYBOX_CONFIG_TTY
bool "tty"
config BUSYBOX_CONFIG_WATCH
bool "watch"
default n
+ select BUSYBOX_CONFIG_DATE
help
watch is used to execute a program periodically, showing
output to the screen.
config BUSYBOX_CONFIG_WHO
bool "who"
default n
- select BUSYBOX_CONFIG_FEATURE_U_W_TMP
+ select BUSYBOX_CONFIG_FEATURE_UTMP
help
who is used to show who is logged on.
the default string `y'.
comment "Common options for cp and mv"
- depends on BUSYBOX_CONFIG_CP || BUSYBOX_CONFIG_MV
+ depends on BUSYBOX_CONFIG_CP || BUSYBOX_CONFIG_MV
config BUSYBOX_CONFIG_FEATURE_PRESERVE_HARDLINKS
bool " Preserve hard links"
help
Allow cp and mv to preserve hard links.
-comment "Common options for ls and more"
- depends on BUSYBOX_CONFIG_LS || BUSYBOX_CONFIG_MORE
+comment "Common options for ls, more and telnet"
+ depends on BUSYBOX_CONFIG_LS || BUSYBOX_CONFIG_MORE || BUSYBOX_CONFIG_TELNET
config BUSYBOX_CONFIG_FEATURE_AUTOWIDTH
bool " Calculate terminal & column widths"
default y
- depends on BUSYBOX_CONFIG_LS || BUSYBOX_CONFIG_MORE
+ depends on BUSYBOX_CONFIG_LS || BUSYBOX_CONFIG_MORE || BUSYBOX_CONFIG_TELNET
help
- This option allows utilities such as 'ls' and 'more' to determine the
- width of the screen, which can allow them to display additional text
- or avoid wrapping text onto the next line. If you leave this
- disabled, your utilities will be especially primitive and will be
- unable to determine the current screen width.
+ This option allows utilities such as 'ls', 'more' and 'telnet'
+ to determine the width of the screen, which can allow them to
+ display additional text or avoid wrapping text onto the next line.
+ If you leave this disabled, your utilities will be especially
+ primitive and will be unable to determine the current screen width.
comment "Common options for df, du, ls"
- depends on BUSYBOX_CONFIG_DF || BUSYBOX_CONFIG_DU || BUSYBOX_CONFIG_LS
+ depends on BUSYBOX_CONFIG_DF || BUSYBOX_CONFIG_DU || BUSYBOX_CONFIG_LS
config BUSYBOX_CONFIG_FEATURE_HUMAN_READABLE
bool " Support for human readable output (example 13k, 23M, 235G)"
Allow df, du, and ls to have human readable output.
comment "Common options for md5sum, sha1sum"
- depends on BUSYBOX_CONFIG_MD5SUM || BUSYBOX_CONFIG_SHA1SUM
+ depends on BUSYBOX_CONFIG_MD5SUM || BUSYBOX_CONFIG_SHA1SUM
config BUSYBOX_CONFIG_FEATURE_MD5_SHA1_SUM_CHECK
bool " Enable -c, -s and -w options"
This program reads a symbolic link and returns the name
of the file it points to
+config BUSYBOX_CONFIG_FEATURE_READLINK_FOLLOW
+ bool " Enable canonicalization by following all symlinks (-f)"
+ default n
+ depends on BUSYBOX_CONFIG_READLINK
+ help
+ Enable the readlink option (-f).
+
config BUSYBOX_CONFIG_RUN_PARTS
bool "run-parts"
default n
--- /dev/null
+#
+# For a description of the syntax of this configuration file,
+# see scripts/kbuild/config-language.txt.
+#
+
+menu "Linux Ext2 FS Progs"
+
+config BUSYBOX_CONFIG_CHATTR
+ bool "chattr"
+ default n
+ help
+ chattr changes the file attributes on a second extended file system.
+
+config BUSYBOX_CONFIG_E2FSCK
+ bool "e2fsck"
+ default n
+ help
+ e2fsck is used to check Linux second extended file systems (ext2fs).
+ e2fsck also supports ext2 filesystems countaining a journal (ext3).
+ The normal compat symlinks 'fsck.ext2' and 'fsck.ext3' are also
+ provided.
+
+config BUSYBOX_CONFIG_FSCK
+ bool "fsck"
+ default n
+ help
+ fsck is used to check and optionally repair one or more filesystems.
+ In actuality, fsck is simply a front-end for the various file system
+ checkers (fsck.fstype) available under Linux.
+
+config BUSYBOX_CONFIG_LSATTR
+ bool "lsattr"
+ default n
+ help
+ lsattr lists the file attributes on a second extended file system.
+
+config BUSYBOX_CONFIG_MKE2FS
+ bool "mke2fs"
+ default n
+ help
+ mke2fs is used to create an ext2/ext3 filesystem. The normal compat
+ symlinks 'mkfs.ext2' and 'mkfs.ext3' are also provided.
+
+config BUSYBOX_CONFIG_TUNE2FS
+ bool "tune2fs"
+ default n
+ help
+ tune2fs allows the system administrator to adjust various tunable
+ filesystem parameters on Linux ext2/ext3 filesystems.
+
+config BUSYBOX_CONFIG_E2LABEL
+ bool "e2label"
+ default n
+ depends on BUSYBOX_CONFIG_TUNE2FS
+ help
+ e2label will display or change the filesystem label on the ext2
+ filesystem located on device.
+
+config BUSYBOX_CONFIG_FINDFS
+ bool "findfs"
+ default n
+ depends on BUSYBOX_CONFIG_TUNE2FS
+ help
+ findfs will search the disks in the system looking for a filesystem
+ which has a label matching label or a UUID equal to uuid.
+
+endmenu
depends on BUSYBOX_CONFIG_FIND
help
Allow searching based on the modification time of
- files.
+ files, in days.
+
+config BUSYBOX_CONFIG_FEATURE_FIND_MMIN
+ bool " Enable modified time matching (-min) option"
+ default n
+ depends on BUSYBOX_CONFIG_FIND
+ help
+ Allow searching based on the modification time of
+ files, in minutes.
config BUSYBOX_CONFIG_FEATURE_FIND_PERM
bool " Enable permissions matching (-perm) option"
help
Support the 'find -inum' option for searching by inode number.
+config BUSYBOX_CONFIG_FEATURE_FIND_EXEC
+ bool " Enable (-exec) option allowing execution of commands"
+ default y
+ depends on BUSYBOX_CONFIG_FIND
+ help
+ Support the 'find -exec' option for executing commands based upon
+ the files matched.
+
config BUSYBOX_CONFIG_GREP
bool "grep"
default y
and various repetition operators.
config BUSYBOX_CONFIG_FEATURE_GREP_FGREP_ALIAS
- bool " Alias fgrep to grep -f"
+ bool " Alias fgrep to grep -F"
default y
depends on BUSYBOX_CONFIG_GREP
help
- fgrep sees the search pattern as a normal string rather than
+ fgrep sees the search pattern as a normal string rather than
regular expressions.
- grep -f is always builtin, this just creates the fgrep alias.
+ grep -F is always builtin, this just creates the fgrep alias.
config BUSYBOX_CONFIG_FEATURE_GREP_CONTEXT
bool " Enable before and after context flags (-A, -B and -C)"
init is the first program run when the system boots.
config BUSYBOX_CONFIG_FEATURE_USE_INITTAB
- bool " Support reading an inittab file?"
+ bool " Support reading an inittab file"
default y
depends on BUSYBOX_CONFIG_INIT
help
Allow init to read an inittab file when the system boot.
-config BUSYBOX_CONFIG_FEATURE_INITRD
- bool " Support running init from within an initrd?"
+config BUSYBOX_CONFIG_FEATURE_INIT_SCTTY
+ bool " Support running commands with a controlling-tty"
+ default n
+ depends on BUSYBOX_CONFIG_INIT
+ help
+ If this option is enabled a command starting with hyphen (-)
+ is run in its own session (setsid(2)) and possibly with a
+ controlling tty (TIOCSCTTY). This is not the traditional init
+ behavour, but is often what you want in an embedded system where
+ the console is only accessed during development or for maintenance.
+
+config BUSYBOX_CONFIG_FEATURE_EXTRA_QUIET
+ bool " Be _extra_ quiet on boot"
default n
depends on BUSYBOX_CONFIG_INIT
help
- Allow init to be called from an initrd as linuxrc.
+ Prevent init from logging some messages to the console during boot.
config BUSYBOX_CONFIG_FEATURE_INIT_COREDUMPS
- bool " Support dumping core for child processes (debugging only)?"
+ bool " Support dumping core for child processes (debugging only)"
default n
depends on BUSYBOX_CONFIG_INIT
help
core file sizes. If this option is disabled, processes
will not generate any core files.
-config BUSYBOX_CONFIG_FEATURE_EXTRA_QUIET
- bool " Should init be _extra_ quiet on boot?"
- default n
- depends on BUSYBOX_CONFIG_INIT
- help
- Prevent init from logging some messages to the console
- during boot.
-config BUSYBOX_CONFIG_HALT
- bool "halt"
- default n
- help
- Stop all processes and halt the system.
-config BUSYBOX_CONFIG_POWEROFF
- bool "poweroff"
+config BUSYBOX_CONFIG_FEATURE_INITRD
+ bool " Support running init from within an initrd (not initramfs)"
default n
+ depends on BUSYBOX_CONFIG_INIT
help
- Stop all processes and (try to) power off the system.
+ Legacy support for running init under the old-style initrd. Allows
+ the name linuxrc to act as init, and it doesn't assume init is PID 1.
+
+ This does not apply to initramfs, which runs /init as PID 1 and
+ requires no special support.
-config BUSYBOX_CONFIG_REBOOT
- bool "reboot"
+config BUSYBOX_CONFIG_HALT
+ bool "poweroff, halt, and reboot"
default y
help
- Stop all processes and reboot the system.
+ Stop all processes and either halt, reboot, or power off the system.
config BUSYBOX_CONFIG_MESG
bool "mesg"
Mesg controls access to your terminal by others. It is typically
used to allow or disallow other users to write to your terminal
+ default y
+ help
+ Stop all processes and (try to) power off the system.
+
endmenu
--- /dev/null
+#
+# For a description of the syntax of this configuration file,
+# see scripts/kbuild/config-language.txt.
+#
+
+menu "Busybox Library Tuning"
+
+config BUSYBOX_CONFIG_MD5_SIZE_VS_SPEED
+ int " MD5: Trade Bytes for Speed"
+ default 2
+ range 0 3
+ help
+ Trade binary size versus speed for the md5sum algorithm.
+ Approximate values running uClibc and hashing
+ linux-2.4.4.tar.bz2 were:
+ user times (sec) text size (386)
+ 0 (fastest) 1.1 6144
+ 1 1.4 5392
+ 2 3.0 5088
+ 3 (smallest) 5.1 4912
+
+endmenu
menu "Login/Password Management Utilities"
+config BUSYBOX_CONFIG_FEATURE_SHADOWPASSWDS
+ bool "Support for shadow passwords"
+ default n
+ help
+ Build support for shadow password in /etc/shadow. This file is only
+ readable by root and thus the encrypted passwords are no longer
+ publicly readable.
+
+config BUSYBOX_CONFIG_USE_BB_SHADOW
+ bool #" Use busybox shadow password functions"
+ default n
+ depends on BUSYBOX_CONFIG_USE_BB_PWD_GRP && BUSYBOX_CONFIG_FEATURE_SHADOWPASSWDS
+ help
+ If you leave this disabled, busybox will use the system's shadow
+ password handling functions. And if you are using the GNU C library
+ (glibc), you will then need to install the /etc/nsswitch.conf
+ configuration file and the required /lib/libnss_* libraries in
+ order for the shadow password functions to work. This generally
+ makes your embedded system quite a bit larger.
+
+ Enabling this option will cause busybox to directly access the
+ system's /etc/shadow file when handling shadow passwords. This
+ makes your system smaller and I will get fewer emails asking about
+ how glibc NSS works). When this option is enabled, you will not be
+ able to use PAM to access shadow passwords from remote LDAP
+ password servers and whatnot.
+
config BUSYBOX_CONFIG_USE_BB_PWD_GRP
bool "Use internal password and group functions rather than system functions"
default n
If you enable this option, it will add about 1.5k to busybox.
-
config BUSYBOX_CONFIG_ADDGROUP
bool "addgroup"
default n
help
getty lets you log in on a tty, it is normally invoked by init.
-config BUSYBOX_CONFIG_FEATURE_U_W_TMP
- bool " Support utmp and wtmp files"
- depends on BUSYBOX_CONFIG_GETTY || BUSYBOX_CONFIG_LOGIN || BUSYBOX_CONFIG_SU || BUSYBOX_CONFIG_WHO || BUSYBOX_CONFIG_LAST
+config BUSYBOX_CONFIG_FEATURE_UTMP
+ bool " Support utmp file"
+ depends on BUSYBOX_CONFIG_GETTY || BUSYBOX_CONFIG_LOGIN || BUSYBOX_CONFIG_SU || BUSYBOX_CONFIG_WHO
default n
help
- The files /var/run/utmp and /var/run/wtmp can be used to track when
- user's have logged into and logged out of the system, allowing programs
- such as 'who' and 'last' to list who is currently logged in.
+ The file /var/run/utmp is used to track who is currently logged in.
+
+config BUSYBOX_CONFIG_FEATURE_WTMP
+ bool " Support wtmp file"
+ depends on BUSYBOX_CONFIG_GETTY || BUSYBOX_CONFIG_LOGIN || BUSYBOX_CONFIG_SU || BUSYBOX_CONFIG_LAST
+ default n
+ select BUSYBOX_CONFIG_FEATURE_UTMP
+ help
+ The file /var/run/wtmp is used to track when user's have logged into
+ and logged out of the system.
config BUSYBOX_CONFIG_LOGIN
bool "login"
Note that Busybox binary must be setuid root for this applet to
work properly.
-comment "Common options for adduser, deluser, login, su"
- depends on BUSYBOX_CONFIG_ADDUSER || BUSYBOX_CONFIG_DELUSER || BUSYBOX_CONFIG_LOGIN || BUSYBOX_CONFIG_SU
-
-config BUSYBOX_CONFIG_FEATURE_SHADOWPASSWDS
- bool "Support for shadow passwords"
- default n
- depends on BUSYBOX_CONFIG_ADDUSER || BUSYBOX_CONFIG_DELUSER || BUSYBOX_CONFIG_LOGIN || BUSYBOX_CONFIG_SU
- help
- Build support for shadow password in /etc/shadow. This file is only
- readable by root and thus the encrypted passwords are no longer
- publicly readable.
-
-config BUSYBOX_CONFIG_USE_BB_SHADOW
- bool " Use busybox shadow password functions"
- default n
- depends on BUSYBOX_CONFIG_USE_BB_PWD_GRP && BUSYBOX_CONFIG_FEATURE_SHADOWPASSWDS
- help
- If you leave this disabled, busybox will use the system's shadow
- password handling functions. And if you are using the GNU C library
- (glibc), you will then need to install the /etc/nsswitch.conf
- configuration file and the required /lib/libnss_* libraries in
- order for the shadow password functions to work. This generally
- makes your embedded system quite a bit larger.
-
- Enabling this option will cause busybox to directly access the
- system's /etc/shadow file when handling shadow passwords. This
- makes your system smaller and I will get fewer emails asking about
- how glibc NSS works). When this option is enabled, you will not be
- able to use PAM to access shadow passwords from remote LDAP
- password servers and whatnot.
-
endmenu
Adjtimex reads and optionally sets adjustment parameters for
the Linux clock adjustment algorithm.
+config BUSYBOX_CONFIG_BBCONFIG
+ bool "bbconfig"
+ default n
+ help
+ The bbconfig applet will print the config file with which
+ busybox was built.
+
config BUSYBOX_CONFIG_CROND
bool "crond"
default y
config BUSYBOX_CONFIG_CRONTAB
bool "crontab"
default y
+ select BUSYBOX_CONFIG_FEATURE_SUID
help
Crontab manipulates the crontab for a particular user. Only
the superuser may specify a different user and/or crontab directory.
help
Increases logging to stderr or syslog.
+config BUSYBOX_CONFIG_EJECT
+ bool "eject"
+ default n
+ help
+ Used to eject cdroms. (defaults to /dev/cdrom)
+
config BUSYBOX_CONFIG_LAST
bool "last"
default n
- select BUSYBOX_CONFIG_FEATURE_U_W_TMP
+ select BUSYBOX_CONFIG_FEATURE_WTMP
help
'last' displays a list of the last users that logged into the system.
+config BUSYBOX_CONFIG_LESS
+ bool "less"
+ default n
+ help
+ 'less' is a pager, meaning that it displays text files. It possesses
+ a wide array of features, and is an improvement over 'more'.
+
+config BUSYBOX_CONFIG_FEATURE_LESS_BRACKETS
+ bool " Enable bracket searching"
+ default n
+ depends on BUSYBOX_CONFIG_LESS
+ help
+ This option adds the capability to search for matching left and right
+ brackets, facilitating programming.
+
+config BUSYBOX_CONFIG_FEATURE_LESS_FLAGS
+ bool " Enable extra flags"
+ default n
+ depends on BUSYBOX_CONFIG_LESS
+ help
+ The extra flags provided do the following:
+
+ The -M flag enables a more sophisticated status line.
+ The -m flag enables a simpler status line with a percentage.
+
+config BUSYBOX_CONFIG_FEATURE_LESS_FLAGCS
+ bool " Enable flag changes"
+ default n
+ depends on BUSYBOX_CONFIG_LESS
+ help
+ This enables the ability to change command-line flags within
+ less itself.
+
+config BUSYBOX_CONFIG_FEATURE_LESS_MARKS
+ bool " Enable marks"
+ default n
+ depends on BUSYBOX_CONFIG_LESS
+ help
+ Marks enable positions in a file to be stored for easy reference.
+
+config BUSYBOX_CONFIG_FEATURE_LESS_REGEXP
+ bool " Enable regular expressions"
+ default n
+ depends on BUSYBOX_CONFIG_LESS
+ help
+ Enable regular expressions, allowing complex file searches.
+
config BUSYBOX_CONFIG_HDPARM
bool "hdparm"
default n
bool "makedevs"
default n
help
- 'makedevs' is a utility used and created by the Linux Router Project.
- It creates a large number of device special files (/dev devices)
- rather quickly, and can be considerably faster then running mknod a
- zillion times.
+ 'makedevs' is a utility used to create a batch of devices with
+ one command.
+ .
+ There are two choices for command line behaviour, the interface
+ as used by LEAF/Linux Router Project, or a device table file.
+ .
+ 'leaf' is traditionally what busybox follows, it allows multiple
+ devices of a particluar type to be created per command.
+ e.g. /dev/hda[0-9]
+ Device properties are passed as command line arguments.
+ .
+ 'table' reads device properties from a file or stdin, allowing
+ a batch of unrelated devices to be makde with one command.
+ User/group names are allowed as an alternative to uid/gid.
+
+choice
+ prompt "Choose makedevs behaviour"
+ depends BUSYBOX_CONFIG_MAKEDEVS
+ default BUSYBOX_CONFIG_FEATURE_MAKEDEVS_TABLE
+
+config BUSYBOX_CONFIG_FEATURE_MAKEDEVS_LEAF
+ bool "leaf"
+
+config BUSYBOX_CONFIG_FEATURE_MAKEDEVS_TABLE
+ bool "table"
+
+endchoice
+
+config BUSYBOX_CONFIG_MOUNTPOINT
+ bool "mountpoint"
+ default n
+ help
+ mountpoint checks if the directory is a mountpoint.
config BUSYBOX_CONFIG_MT
bool "mt"
to advance or rewind a tape past a specified number of archive
files on the tape.
+config BUSYBOX_CONFIG_RUNLEVEL
+ bool "runlevel"
+ default n
+ help
+ find the current and previous system runlevel.
+
+ This applet uses utmp but does not rely on busybox supporing
+ utmp on purpose. It is used by e.g. emdebian via /etc/init.d/rc.
+
config BUSYBOX_CONFIG_RX
bool "rx"
default n
strings prints the printable character sequences for each file
specified.
+config BUSYBOX_CONFIG_SETSID
+ bool "setsid"
+ default n
+ help
+ setsid runs a program in a new session
+
config BUSYBOX_CONFIG_TIME
bool "time"
default y
help
insmod is used to load specified modules in the running kernel.
-config BUSYBOX_CONFIG_FEATURE_2_4_MODULES
- bool " Support version 2.2.x to 2.4.x Linux kernels"
- default y
- depends on BUSYBOX_CONFIG_INSMOD
- help
- Support module loading for 2.2.x and 2.4.x Linux kernels.
-
-config BUSYBOX_CONFIG_FEATURE_2_6_MODULES
- bool " Support version 2.6.x Linux kernels"
- default y
- depends on BUSYBOX_CONFIG_INSMOD
- help
- Support module loading for newer 2.6.x Linux kernels.
-
config BUSYBOX_CONFIG_FEATURE_INSMOD_VERSION_CHECKING
- bool " Module version checking"
+ bool "Module version checking"
default n
depends on BUSYBOX_CONFIG_INSMOD && BUSYBOX_CONFIG_FEATURE_2_4_MODULES
help
ensure that the kernel and module are made for each other.
config BUSYBOX_CONFIG_FEATURE_INSMOD_KSYMOOPS_SYMBOLS
- bool " Add module symbols to kernel symbol table"
+ bool "Add module symbols to kernel symbol table"
default n
depends on BUSYBOX_CONFIG_INSMOD && BUSYBOX_CONFIG_FEATURE_2_4_MODULES
help
Oops messages from kernel modules, say N.
config BUSYBOX_CONFIG_FEATURE_INSMOD_LOADINKMEM
- bool " In kernel memory optimization (uClinux only)"
+ bool "In kernel memory optimization (uClinux only)"
default n
depends on BUSYBOX_CONFIG_INSMOD && BUSYBOX_CONFIG_FEATURE_2_4_MODULES
help
being loaded into memory.
config BUSYBOX_CONFIG_FEATURE_INSMOD_LOAD_MAP
- bool " Enable load map (-m) option"
+ bool "Enable load map (-m) option"
default n
depends on BUSYBOX_CONFIG_INSMOD && BUSYBOX_CONFIG_FEATURE_2_4_MODULES
help
don't need this option.
config BUSYBOX_CONFIG_FEATURE_INSMOD_LOAD_MAP_FULL
- bool " Symbols in load map"
+ bool "Symbols in load map"
default n
depends on BUSYBOX_CONFIG_FEATURE_INSMOD_LOAD_MAP
help
load map. With this option, -m will also output
symbols load map.
+config BUSYBOX_CONFIG_RMMOD
+ bool "rmmod"
+ default y
+ help
+ rmmod is used to unload specified modules from the kernel.
+
config BUSYBOX_CONFIG_LSMOD
bool "lsmod"
default y
help
lsmod is used to display a list of loaded modules.
-config BUSYBOX_CONFIG_FEATURE_QUERY_MODULE_INTERFACE
- bool
- default y
- depends on BUSYBOX_CONFIG_FEATURE_2_4_MODULES && !CONFIG_FEATURE_2_6_MODULES
+config BUSYBOX_CONFIG_FEATURE_LSMOD_PRETTY_2_6_OUTPUT
+ bool "lsmod pretty output for 2.6.x Linux kernels "
+ default n
+ depends on BUSYBOX_CONFIG_LSMOD
+ help
+ This option makes output format of lsmod adjusted to
+ the format of module-init-tools for Linux kernel 2.6.
config BUSYBOX_CONFIG_MODPROBE
bool "modprobe"
Handle the loading of modules, and their dependancies on a high
level.
-config BUSYBOX_CONFIG_RMMOD
- bool "rmmod"
- default y
+ Note that in the state, modprobe does not understand multiple
+ module options from the configuration file. See option below.
+
+config BUSYBOX_CONFIG_FEATURE_MODPROBE_MULTIPLE_OPTIONS
+ bool "Multiple options parsing"
+ default n
+ depends on BUSYBOX_CONFIG_MODPROBE
help
- rmmod is used to unload specified modules from the kernel.
+ Allow modprobe to understand more than one option to pass to
+ modules.
+
+ This is a WIP, while waiting for a common argument parsing
+ common amongst all BB applets (shell, modprobe, etc...) and
+ adds around 600 bytes on x86, 700 bytes on ARM. The code is
+ biggish and uggly, but just works.
+
+ Saying Y here is not a bad idea if you're not that short
+ on storage capacity.
+
+comment "Options common to multiple modutils"
+ depends on BUSYBOX_CONFIG_INSMOD || BUSYBOX_CONFIG_RMMOD || BUSYBOX_CONFIG_MODPROBE || BUSYBOX_CONFIG_LSMOD
config BUSYBOX_CONFIG_FEATURE_CHECK_TAINTED_MODULE
- bool "Support tainted module checking with new kernels"
+ # Simulate indentation
+ bool " Support tainted module checking with new kernels"
default n
depends on BUSYBOX_CONFIG_INSMOD || BUSYBOX_CONFIG_LSMOD
help
support request.
This option is required to support GPLONLY modules.
+config BUSYBOX_CONFIG_FEATURE_2_4_MODULES
+ # Simulate indentation
+ bool " Support version 2.2.x to 2.4.x Linux kernels"
+ default y
+ depends on BUSYBOX_CONFIG_INSMOD || BUSYBOX_CONFIG_RMMOD
+ help
+ Support module loading for 2.2.x and 2.4.x Linux kernels.
+
+config BUSYBOX_CONFIG_FEATURE_2_6_MODULES
+ # Simulate indentation
+ bool " Support version 2.6.x Linux kernels"
+ default y
+ depends on BUSYBOX_CONFIG_INSMOD || BUSYBOX_CONFIG_RMMOD || BUSYBOX_CONFIG_MODPROBE
+ help
+ Support module loading for newer 2.6.x Linux kernels.
+
+
+config BUSYBOX_CONFIG_FEATURE_QUERY_MODULE_INTERFACE
+ bool
+ default n
+ depends on BUSYBOX_CONFIG_FEATURE_2_4_MODULES && !CONFIG_FEATURE_2_6_MODULES
+
endmenu
help
Ping hosts by ARP packets
+config BUSYBOX_CONFIG_DNSD
+ bool "dnsd"
+ default n
+ help
+ Small and static DNS server deamon.
+
+config BUSYBOX_CONFIG_ETHER_WAKE
+ bool "ether-wake"
+ default n
+ help
+ Send a magic packet to wake up sleeping machines.
+
+config BUSYBOX_CONFIG_FAKEIDENTD
+ bool "fakeidentd"
+ default n
+ help
+ fakeidentd listens to the ident port and returns a set fake
+ value whatever it gets.
+
config BUSYBOX_CONFIG_FTPGET
bool "ftpget"
default n
Enables basic per url authentication from /etc/httpd.conf
using md5 passwords.
-
if !CONFIG_FEATURE_HTTPD_USAGE_FROM_INETD_ONLY
config BUSYBOX_CONFIG_FEATURE_HTTPD_RELOAD_CONFIG_SIGHUP
bool " Support reloading the global config file using hup signal"
depends on BUSYBOX_CONFIG_HTTPD
help
This option allows scripts and executables to be invoked
- when specific urls are requested.
+ when specific urls are requested.
+
+config BUSYBOX_CONFIG_FEATURE_HTTPD_CONFIG_WITH_SCRIPT_INTERPR
+ bool " Enable support for running scripts through an interpreter"
+ default n
+ depends on BUSYBOX_CONFIG_FEATURE_HTTPD_CGI
+ help
+ This option enables support for running scripts through an
+ interpreter. Turn this on, if you want PHP scripts to work
+ properly. You need to supply an addition line in your httpd
+ config file:
+ *.php:/path/to/your/php
config BUSYBOX_CONFIG_FEATURE_HTTPD_SET_REMOTE_PORT_TO_ENV
bool " Support the REMOTE_PORT environment variable for CGI"
config BUSYBOX_CONFIG_IFUPDOWN
bool "ifupdown"
default n
+ select BUSYBOX_CONFIG_RUN_PARTS
help
Activate or deactivate the specified interfaces. This applet makes
use of either "ifconfig" and "route" or the "ip" command to actually
help
Familiar character generator internal inetd service
+config BUSYBOX_CONFIG_FEATURE_INETD_RPC
+ bool " Support RPC services"
+ default n
+ depends on BUSYBOX_CONFIG_INETD
+ help
+ Suuport Sun-RPC based services
+
config BUSYBOX_CONFIG_IP
bool "ip"
File fields are separated by space or tab.
File format:
# Comment
- new_interface_name XX:XX:XX:XX:XX:XX
+ new_interface_name XX:XX:XX:XX:XX:XX
config BUSYBOX_CONFIG_NC
bool "nc"
help
simple program for sending udp broadcast messages
+config BUSYBOX_CONFIG_NC_GAPING_SECURITY_HOLE
+ bool "gaping security hole"
+ default n
+ depends on BUSYBOX_CONFIG_NC
+ help
+ Add support for executing a program after making or receiving a
+ successful connection (-e option).
+
config BUSYBOX_CONFIG_NETSTAT
bool "netstat"
default y
config BUSYBOX_CONFIG_TELNETD
bool "telnetd"
default y
- #select BUSYBOX_CONFIG_LOGIN
help
A daemon for the TELNET protocol, allowing you to log onto the host
running the daemon. Please keep in mind that the TELNET protocol
Add some verbosity to traceroute. This includes amongst other things
hostnames and ICMP response types.
+config BUSYBOX_CONFIG_FEATURE_TRACEROUTE_SOURCE_ROUTE
+ bool " Enable loose source route"
+ default n
+ depends on BUSYBOX_CONFIG_TRACEROUTE
+ help
+ Add option to specify a loose source route gateway
+ (8 maximum).
+
+config BUSYBOX_CONFIG_FEATURE_TRACEROUTE_USE_ICMP
+ bool " Use ICMP instead of UDP"
+ default n
+ depends on BUSYBOX_CONFIG_TRACEROUTE
+ help
+ Add feature to allow for ICMP ECHO instead of UDP datagrams.
+
+
config BUSYBOX_CONFIG_VCONFIG
bool "vconfig"
default y
source package/busybox/config/networking/udhcp/Config.in
+config BUSYBOX_CONFIG_ZCIP
+ bool "zcip"
+ default n
+ help
+ ZCIP provides ZeroConf IPv4 address selection, according to RFC 3927.
+ It's a daemon that allocates and defends a dynamically assigned
+ address on the 169.254/16 network, requiring no system administrator.
+
+ See http://www.zeroconf.org for further details, and "zcip.script"
+ in the busybox examples.
+
endmenu
memory in the system, as well as the buffers used by the kernel.
The shared memory column should be ignored; it is obsolete.
+config BUSYBOX_CONFIG_FUSER
+ bool "fuser"
+ default n
+ help
+ fuser lists all PIDs (Process IDs) that currently have a given
+ file open. fuser can also list all PIDs that have a given network
+ (TCP or UDP) port open.
+
config BUSYBOX_CONFIG_KILL
bool "kill"
default y
Pidof finds the process id's (pids) of the named programs. It prints
those id's on the standard output.
+config BUSYBOX_CONFIG_FEATURE_PIDOF_SINGLE
+ bool " Enable argument for single shot (-s)"
+ default n
+ depends on BUSYBOX_CONFIG_PIDOF
+ help
+ Support argument '-s' for returning only the first pid found.
+
+config BUSYBOX_CONFIG_FEATURE_PIDOF_OMIT
+ bool " Enable argument for omitting pids (-o)"
+ default n
+ depends on BUSYBOX_CONFIG_PIDOF
+ help
+ Support argument '-o' for omitting the given pids in output.
+ The special pid %PPID can be used to name the parent process
+ of the pidof, in other words the calling shell or shell script.
+
config BUSYBOX_CONFIG_PS
bool "ps"
default y
help
ps gives a snapshot of the current processes.
+config BUSYBOX_CONFIG_FEATURE_PS_WIDE
+ bool " Enable argument for wide output (-w)"
+ default n
+ depends on BUSYBOX_CONFIG_PS
+ help
+ Support argument 'w' for wide output.
+ If given once, 132 chars are printed and given more than
+ one, the length is unlimited.
+
config BUSYBOX_CONFIG_RENICE
bool "renice"
default n
Renice alters the scheduling priority of one or more running
processes.
+config BUSYBOX_CONFIG_BB_SYSCTL
+ bool "sysctl"
+ default y
+ help
+ Configure kernel parameters at runtime.
+
config BUSYBOX_CONFIG_TOP
bool "top"
default y
The top program provides a dynamic real-time view of a running
system.
-config BUSYBOX_FEATURE_CPU_USAGE_PERCENTAGE
- bool
+config BUSYBOX_CONFIG_FEATURE_TOP_CPU_USAGE_PERCENTAGE
+ bool " Support showing CPU usage percentage (add 2k bytes)"
default y
depends on BUSYBOX_CONFIG_TOP
help
the system has been running, how many users are currently logged
on, and the system load averages for the past 1, 5, and 15 minutes.
-config BUSYBOX_CONFIG_BB_SYSCTL
- bool "sysctl"
- default y
- help
- sysctl - configure kernel parameters at runtime
endmenu
# see scripts/kbuild/config-language.txt.
#
-menu "Another Bourne-like Shell"
+menu "Shells"
choice
prompt "Choose your default shell"
config BUSYBOX_CONFIG_ASH
bool "ash"
default y
+ select BUSYBOX_CONFIG_TEST
help
Tha 'ash' shell adds about 60k in the default configuration and is
the most complete and most pedantically correct shell included with
help
Enable job control in the ash shell.
+config BUSYBOX_CONFIG_ASH_READ_NCHARS
+ bool " Enable 'read -n N' and 'read -s' support"
+ default n
+ depends on BUSYBOX_CONFIG_ASH
+ help
+ 'read -n N' will return a value after N characters have been read.
+ 'read -s' will read without echoing the user's input.
+
+config BUSYBOX_CONFIG_ASH_READ_TIMEOUT
+ bool " Enable 'read -t S' support."
+ default y
+ depends on BUSYBOX_CONFIG_ASH
+ help
+ 'read -t S' will return a value after S seconds have passed.
+ This implementation will allow fractional seconds, expressed
+ as a decimal fraction, e.g. 'read -t 2.5 foo'.
+
config BUSYBOX_CONFIG_ASH_ALIAS
bool " Enable alias support"
default y
you to run the specified command with the specified arguments,
even when there is an ash builtin command with the same name.
+config BUSYBOX_CONFIG_ASH_BUILTIN_ECHO
+ bool " Enable builtin version of 'echo'"
+ default y
+ depends on BUSYBOX_CONFIG_ASH
+ help
+ Enable support for echo, built in to ash.
+
+# this entry also appears in coreutils/Config.in, next to the echo applet
+config BUSYBOX_CONFIG_FEATURE_FANCY_ECHO
+ bool " Enable echo options (-n and -e)"
+ default y
+ depends on BUSYBOX_CONFIG_ASH_BUILTIN_ECHO
+ help
+ This adds options (-n and -e) to echo.
+
config BUSYBOX_CONFIG_ASH_MAIL
bool " Check for new mail on interactive shells"
default n
default y
depends on BUSYBOX_CONFIG_ASH
help
- Compile ash for reduced size at price of speed.
+ Compile ash for reduced size at the price of speed.
config BUSYBOX_CONFIG_ASH_RANDOM_SUPPORT
bool " Enable pseudorandom generator and variable $RANDOM"
After "unset RANDOM" then generator will switch off and this
variable will no longer have special treatment.
+config BUSYBOX_CONFIG_ASH_EXPAND_PRMT
+ bool " Expand prompt string"
+ default n
+ depends on BUSYBOX_CONFIG_ASH
+ help
+ "PS#" may be contain volatile content, such as backquote commands.
+ This option recreates the prompt string from the environment
+ variable each time it is displayed.
+
config BUSYBOX_CONFIG_HUSH
bool "hush"
default n
+ select BUSYBOX_CONFIG_TRUE
+ select BUSYBOX_CONFIG_FALSE
+ select BUSYBOX_CONFIG_TEST
help
hush is a very small shell (just 18k) and it has fairly complete
Bourne shell grammar. It even handles all the normal flow control
config BUSYBOX_CONFIG_LASH
bool "lash"
default n
+ select BUSYBOX_CONFIG_TRUE
+ select BUSYBOX_CONFIG_FALSE
+ select BUSYBOX_CONFIG_TEST
help
lash is the very smallest shell (adds just 10k) and it is quite
usable as a command prompt, but it is not suitable for any but the
config BUSYBOX_CONFIG_MSH
bool "msh"
default n
+ select BUSYBOX_CONFIG_TRUE
+ select BUSYBOX_CONFIG_FALSE
+ select BUSYBOX_CONFIG_TEST
help
The minix shell (adds just 30k) is quite complete and handles things
like for/do/done, case/esac and all the things you expect a Bourne
busybox to use the ifconfig busybox applet. Specifying the fully
qualified executable name, such as '/sbin/ifconfig' will still
execute the /sbin/ifconfig executable on the filesystem. This option
- is generally used when creating a staticly linked version of busybox
+ is generally used when creating a statically linked version of busybox
for use as a rescue shell, in the event that you screw up your system.
Note that when using this option, the shell will attempt to directly
help
Enable command editing in shell.
+config BUSYBOX_CONFIG_FEATURE_COMMAND_EDITING_VI
+ bool "vi-style line editing commands"
+ default n
+ depends on BUSYBOX_CONFIG_FEATURE_COMMAND_EDITING
+ help
+ Enable vi-style line editing in the shell. This mode can be
+ turned on and off with "set -o vi" and "set +o vi".
+
config BUSYBOX_CONFIG_FEATURE_COMMAND_HISTORY
int "history size"
default 15
menu "Linux System Utilities"
-
config BUSYBOX_CONFIG_DMESG
bool "dmesg"
default y
interface to access a graphics display. Enable this option
if you wish to enable the 'fbset' utility.
-
config BUSYBOX_CONFIG_FEATURE_FBSET_FANCY
bool " Turn on extra fbset options"
default n
are overly fond of its long options, such as --hctosys, --utc, etc)
then enable this option.
+config BUSYBOX_CONFIG_FEATURE_HWCLOCK_ADJTIME_FHS
+ bool " Use FHS /var/lib/hwclock/adjtime"
+ default n
+ depends on BUSYBOX_CONFIG_HWCLOCK
+ help
+ Starting with FHS 2.3, the adjtime state file is supposed to exist
+ at /var/lib/hwclock/adjtime instead of /etc/adjtime. If you wish
+ to use the FHS behavior, answer Y here, otherwise answer N for the
+ classic /etc/adjtime path.
+
+ http://www.pathname.com/fhs/pub/fhs-2.3.html#VARLIBHWCLOCKSTATEDIRECTORYFORHWCLO
+
+config BUSYBOX_CONFIG_IPCRM
+ bool "ipcrm"
+ default n
+ select BUSYBOX_CONFIG_FEATURE_SUID
+ help
+ The ipcrm utility allows the removal of System V interprocess
+ communication (IPC) objects and the associated data structures
+ from the system.
+
+config BUSYBOX_CONFIG_IPCS
+ bool "ipcs"
+ default n
+ select BUSYBOX_CONFIG_FEATURE_SUID
+ help
+ The ipcs utility is used to provide information on the currently
+ allocated System V interprocess (IPC) objects in the system.
+
config BUSYBOX_CONFIG_LOSETUP
bool "losetup"
default n
file or block device, and to query the status of a loop device. This
version does not currently support enabling data encryption.
+config BUSYBOX_CONFIG_MDEV
+ bool "mdev"
+ default n
+ help
+ mdev is a mini-udev implementation: call it with -s to populate
+ /dev from /sys, then "echo /sbin/mdev > /proc/sys/kernel/hotplug" to
+ have it handle hotplug events afterwards. Device names are taken
+ from sysfs.
+
+config BUSYBOX_CONFIG_FEATURE_MDEV_CONF
+ bool " Support /etc/mdev.conf"
+ default n
+ depends on BUSYBOX_CONFIG_MDEV
+ help
+ The mdev config file contains lines that look like:
+
+ hd[a-z][0-9]* 0:3 660
+
+ That's device name (with regex match), uid:gid, and permissions.
+
+ Optionally, that can be followed (on the same line) by an asterisk
+ and a command line to run after creating the corresponding device(s),
+ ala:
+
+ hdc root:cdrom 660 *ln -s hdc cdrom
+
+ Config file parsing stops on the first matching line. If no config
+ entry is matched, devices are created with default 0:0 660. (Make
+ the last line match .* to override this.)
+
config BUSYBOX_CONFIG_MKSWAP
bool "mkswap"
default n
will be unable to determine the current screen size, and will be
unable to move the cursor.
+config BUSYBOX_CONFIG_MOUNT
+ bool "mount"
+ default y
+ help
+ All files and filesystems in Unix are arranged into one big directory
+ tree. The 'mount' utility is used to graft a filesystem onto a
+ particular part of the tree. A filesystem can either live on a block
+ device, or it can be accessible over the network, as is the case with
+ NFS filesystems. Most people using BusyBox will also want to enable
+ the 'mount' utility.
+
+config BUSYBOX_CONFIG_FEATURE_MOUNT_NFS
+ bool " Support mounting NFS file systems"
+ default y
+ depends on BUSYBOX_CONFIG_MOUNT
+ help
+ Enable mounting of NFS file systems.
+
config BUSYBOX_CONFIG_PIVOT_ROOT
bool "pivot_root"
default y
of wild and crazy things with your Linux system and is far more
powerful than 'chroot'.
+ Note: This is for initrd in linux 2.4. Under initramfs (introduced
+ in linux 2.6) use switch_root instead.
+
config BUSYBOX_CONFIG_RDATE
bool "rdate"
default y
the RFC868 protocol, which is built into the inetd daemon on most
systems.
+config BUSYBOX_CONFIG_READPROFILE
+ bool "readprofile"
+ default n
+ help
+ This allows you to parse /proc/profile for basic profiling.
+
+config BUSYBOX_CONFIG_SETARCH
+ bool "setarch"
+ default n
+ help
+ The linux32 utility is used to create a 32bit environment for the
+ specified program (usually a shell). It only makes sense to have
+ this util on a system that supports both 64bit and 32bit userland
+ (like amd64/x86, ppc64/ppc, sparc64/sparc, etc...).
+
config BUSYBOX_CONFIG_SWAPONOFF
bool "swaponoff"
default n
space. If you are not using any swap space, you can leave this
option disabled.
-config BUSYBOX_CONFIG_MOUNT
- bool "mount"
+config BUSYBOX_CONFIG_SWITCH_ROOT
+ bool "switch_root"
default y
help
- All files and filesystems in Unix are arranged into one big directory
- tree. The 'mount' utility is used to graft a filesystem onto a
- particular part of the tree. A filesystem can either live on a block
- device, or it can be accessible over the network, as is the case with
- NFS filesystems. Most people using BusyBox will also want to enable
- the 'mount' utility.
+ The switch_root utility is used from initramfs to select a new
+ root device. Under initramfs, you have to use this instead of
+ pivot_root. (Stop reading here if you don't care why.)
-config BUSYBOX_FEATURE_MOUNT_NFS
- bool " Support mounting NFS file systems"
- default y
- depends on BUSYBOX_CONFIG_MOUNT
- help
- Enable mounting of NFS file systems.
+ Booting with initramfs extracts a gzipped cpio archive into rootfs
+ (which is a variant of ramfs/tmpfs). Because rootfs can't be moved
+ or unmounted*, pivot_root will not work from initramfs. Instead,
+ switch_root deletes everything out of rootfs (including itself),
+ does a mount --move that overmounts rootfs with the new root, and
+ then execs the specified init program.
+
+ * Because the Linux kernel uses rootfs internally as the starting
+ and ending point for searching through the kernel's doubly linked
+ list of active mount points. That's why.
config BUSYBOX_CONFIG_UMOUNT
bool "umount"
the tool to use. If you enabled the 'mount' utility, you almost certainly
also want to enable 'umount'.
-config BUSYBOX_CONFIG_FEATURE_MOUNT_FORCE
- bool " Support forced filesystem unmounting"
+config BUSYBOX_CONFIG_FEATURE_UMOUNT_ALL
+ bool " umount -a option"
default y
depends on BUSYBOX_CONFIG_UMOUNT
help
- This allows you to _force_ a filesystem to be umounted. This is generally
- only useful when you want to get rid of an unreachable NFS system.
+ Support -a option to unmount all currently mounted filesystems.
comment "Common options for mount/umount"
depends on BUSYBOX_CONFIG_MOUNT || BUSYBOX_CONFIG_UMOUNT
config BUSYBOX_CONFIG_FEATURE_MOUNT_LOOP
- bool " Support for loop devices"
+ bool " Support loopback mounts"
default y
depends on BUSYBOX_CONFIG_MOUNT || BUSYBOX_CONFIG_UMOUNT
help
- Enabling this feature allows mount to use the '-o' loop options,
- which lets you loop mount files. Mount will automagically setup and
- free the necessary loop devices so you do not need to mess with the
- 'losetup' utility unless you really want to. This is really
- only useful if you plan to loop mount files.
+ Enabling this feature allows automatic mounting of files (containing
+ filesystem images) via the linux kernel's loopback devices. The mount
+ command will detect you are trying to mount a file instead of a block
+ device, and transparently associate the file with a loopback device.
+ The umount command will also free that loopback device.
+
+ You can still use the 'losetup' utility (to manually associate files
+ with loop devices) if you need to do something advanced, such as
+ specify an offset or cryptographic options to the loopback device.
+ (If you don't want umount to free the loop device, use "umount -D".)
config BUSYBOX_CONFIG_FEATURE_MTAB_SUPPORT
- bool " Support for a real /etc/mtab (instead of /proc/mounts)"
+ bool " Support for the old /etc/mtab file"
default n
depends on BUSYBOX_CONFIG_MOUNT || BUSYBOX_CONFIG_UMOUNT
help
- If your root filesystem is writable and you wish to have the 'mount'
- utility create an mtab file listing the filesystems which have been
- mounted then you should enable this option. Most people that use
- BusyBox have a read-only root filesystem, so they will leave this
- option disabled and BusyBox will use the /proc/mounts file.
-
-config BUSYBOX_CONFIG_FEATURE_MTAB_FILENAME
- string " mtab file location"
- default n
- depends on BUSYBOX_CONFIG_FEATURE_MTAB_SUPPORT
- help
- Some people have a read only root filesystem, but they also wish to
- have the 'mount' utility create an mtab file listing the filesystems
- which have been mounted. This option allows you to specify an alternative
- location for the mtab file, such as /var/mtab, or /tmp/mtab. The default
- value is /etc/mtab, which is where this file is located on most desktop
- Linux systems.
+ Historically, Unix systems kept track of the currently mounted
+ partitions in the file "/etc/mtab". These days, the kernel exports
+ the list of currently mounted partitions in "/proc/mounts", rendering
+ the old mtab file obsolete. (In modern systems, /etc/mtab should be
+ a symlink to /proc/mounts.)
+
+ The only reason to have mount maintain an /etc/mtab file itself is if
+ your stripped-down embedded system does not have a /proc directory.
+ If you must use this, keep in mind it's inherently brittle (for
+ example a mount under chroot won't update it), can't handle modern
+ features like separate per-process filesystem namespaces, requires
+ that your /etc directory be writeable, tends to get easily confused
+ by --bind or --move mounts, and so on. (In brief: avoid.)
endmenu