summaryrefslogtreecommitdiffstats
path: root/package
diff options
context:
space:
mode:
Diffstat (limited to 'package')
-rw-r--r--package/busybox/config/Config.in181
-rw-r--r--package/busybox/config/archival/Config.in56
-rw-r--r--package/busybox/config/console-tools/Config.in7
-rw-r--r--package/busybox/config/coreutils/Config.in202
-rw-r--r--package/busybox/config/debianutils/Config.in7
-rw-r--r--package/busybox/config/e2fsprogs/Config.in67
-rw-r--r--package/busybox/config/findutils/Config.in24
-rw-r--r--package/busybox/config/init/Config.in54
-rw-r--r--package/busybox/config/libbb/Config.in22
-rw-r--r--package/busybox/config/loginutils/Config.in78
-rw-r--r--package/busybox/config/miscutils/Config.in115
-rw-r--r--package/busybox/config/modutils/Config.in90
-rw-r--r--package/busybox/config/networking/Config.in79
-rw-r--r--package/busybox/config/procps/Config.in48
-rw-r--r--package/busybox/config/shell/Config.in65
-rw-r--r--package/busybox/config/util-linux/Config.in182
16 files changed, 1012 insertions, 265 deletions
diff --git a/package/busybox/config/Config.in b/package/busybox/config/Config.in
index e7afb5362..eedb4ba40 100644
--- a/package/busybox/config/Config.in
+++ b/package/busybox/config/Config.in
@@ -8,6 +8,8 @@ config BUSYBOX_HAVE_DOT_CONFIG
bool
default y
+menu "Busybox Settings"
+
menu "General Configuration"
choice
@@ -79,10 +81,12 @@ config BUSYBOX_CONFIG_FEATURE_CLEAN_UP
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
@@ -100,7 +104,7 @@ config BUSYBOX_CONFIG_FEATURE_SUID_CONFIG
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]
@@ -112,6 +116,13 @@ config BUSYBOX_CONFIG_FEATURE_SUID_CONFIG
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 >.
@@ -156,6 +167,48 @@ config BUSYBOX_CONFIG_STATIC
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
@@ -195,43 +248,27 @@ config BUSYBOX_EXTRA_CFLAGS_OPTIONS
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
@@ -288,6 +325,82 @@ config BUSYBOX_CONFIG_EFENCE
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
diff --git a/package/busybox/config/archival/Config.in b/package/busybox/config/archival/Config.in
index 909e74648..bd5c4b140 100644
--- a/package/busybox/config/archival/Config.in
+++ b/package/busybox/config/archival/Config.in
@@ -47,10 +47,10 @@ config BUSYBOX_CONFIG_BUNZIP2
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.
@@ -73,7 +73,7 @@ config BUSYBOX_CONFIG_DPKG
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.
@@ -82,9 +82,9 @@ config BUSYBOX_CONFIG_DPKG_DEB
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.
@@ -165,6 +165,14 @@ config BUSYBOX_CONFIG_FEATURE_TAR_BZIP2
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
@@ -220,6 +228,29 @@ config BUSYBOX_CONFIG_UNCOMPRESS
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
@@ -249,7 +280,7 @@ config BUSYBOX_CONFIG_FEATURE_DEB_TAR_GZ
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
@@ -259,8 +290,19 @@ 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
diff --git a/package/busybox/config/console-tools/Config.in b/package/busybox/config/console-tools/Config.in
index 207e2df21..4faaeb44b 100644
--- a/package/busybox/config/console-tools/Config.in
+++ b/package/busybox/config/console-tools/Config.in
@@ -58,6 +58,13 @@ config BUSYBOX_CONFIG_RESET
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
diff --git a/package/busybox/config/coreutils/Config.in b/package/busybox/config/coreutils/Config.in
index 9d97e3c58..53984e395 100644
--- a/package/busybox/config/coreutils/Config.in
+++ b/package/busybox/config/coreutils/Config.in
@@ -59,6 +59,13 @@ config BUSYBOX_CONFIG_CMP
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
@@ -72,20 +79,12 @@ config BUSYBOX_CONFIG_CUT
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)"
@@ -144,11 +143,12 @@ config BUSYBOX_CONFIG_FEATURE_DU_DEFALT_BLOCKSIZE_1K
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
@@ -171,19 +171,20 @@ config BUSYBOX_CONFIG_EXPR
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"
@@ -291,11 +292,22 @@ config BUSYBOX_CONFIG_FEATURE_LS_USERNAME
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"
@@ -329,12 +341,30 @@ config BUSYBOX_CONFIG_MV
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
@@ -398,12 +428,45 @@ config BUSYBOX_CONFIG_SORT
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
@@ -439,21 +502,13 @@ config BUSYBOX_CONFIG_FEATURE_TEE_USE_BLOCK_IO
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"
@@ -476,20 +531,30 @@ config BUSYBOX_CONFIG_TR
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"
@@ -531,6 +596,7 @@ config BUSYBOX_CONFIG_UUENCODE
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.
@@ -545,7 +611,7 @@ config BUSYBOX_CONFIG_WC
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.
@@ -564,7 +630,7 @@ config BUSYBOX_CONFIG_YES
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"
@@ -573,22 +639,22 @@ config BUSYBOX_CONFIG_FEATURE_PRESERVE_HARDLINKS
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)"
@@ -598,7 +664,7 @@ config BUSYBOX_CONFIG_FEATURE_HUMAN_READABLE
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"
diff --git a/package/busybox/config/debianutils/Config.in b/package/busybox/config/debianutils/Config.in
index b62499eb1..71f2bf38a 100644
--- a/package/busybox/config/debianutils/Config.in
+++ b/package/busybox/config/debianutils/Config.in
@@ -24,6 +24,13 @@ config BUSYBOX_CONFIG_READLINK
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
diff --git a/package/busybox/config/e2fsprogs/Config.in b/package/busybox/config/e2fsprogs/Config.in
new file mode 100644
index 000000000..e9ef3dc04
--- /dev/null
+++ b/package/busybox/config/e2fsprogs/Config.in
@@ -0,0 +1,67 @@
+#
+# 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
diff --git a/package/busybox/config/findutils/Config.in b/package/busybox/config/findutils/Config.in
index fb5a8c05f..9667bfba8 100644
--- a/package/busybox/config/findutils/Config.in
+++ b/package/busybox/config/findutils/Config.in
@@ -17,7 +17,15 @@ config BUSYBOX_CONFIG_FEATURE_FIND_MTIME
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"
@@ -57,6 +65,14 @@ config BUSYBOX_CONFIG_FEATURE_FIND_INUM
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
@@ -73,13 +89,13 @@ config BUSYBOX_CONFIG_FEATURE_GREP_EGREP_ALIAS
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)"
diff --git a/package/busybox/config/init/Config.in b/package/busybox/config/init/Config.in
index 087d836bf..88dcaca2d 100644
--- a/package/busybox/config/init/Config.in
+++ b/package/busybox/config/init/Config.in
@@ -12,21 +12,32 @@ config BUSYBOX_CONFIG_INIT
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
@@ -35,31 +46,24 @@ config BUSYBOX_CONFIG_FEATURE_INIT_COREDUMPS
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"
@@ -68,5 +72,9 @@ config BUSYBOX_CONFIG_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
diff --git a/package/busybox/config/libbb/Config.in b/package/busybox/config/libbb/Config.in
new file mode 100644
index 000000000..7d84a7596
--- /dev/null
+++ b/package/busybox/config/libbb/Config.in
@@ -0,0 +1,22 @@
+#
+# 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
diff --git a/package/busybox/config/loginutils/Config.in b/package/busybox/config/loginutils/Config.in
index 7ab724f5c..621d57643 100644
--- a/package/busybox/config/loginutils/Config.in
+++ b/package/busybox/config/loginutils/Config.in
@@ -5,6 +5,33 @@
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
@@ -26,7 +53,6 @@ config BUSYBOX_CONFIG_USE_BB_PWD_GRP
If you enable this option, it will add about 1.5k to busybox.
-
config BUSYBOX_CONFIG_ADDGROUP
bool "addgroup"
default n
@@ -57,14 +83,21 @@ config BUSYBOX_CONFIG_GETTY
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"
@@ -126,36 +159,5 @@ config BUSYBOX_CONFIG_VLOCK
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
diff --git a/package/busybox/config/miscutils/Config.in b/package/busybox/config/miscutils/Config.in
index 77dc85cd0..1ffb8c653 100644
--- a/package/busybox/config/miscutils/Config.in
+++ b/package/busybox/config/miscutils/Config.in
@@ -12,6 +12,13 @@ config BUSYBOX_CONFIG_ADJTIMEX
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
@@ -37,6 +44,7 @@ config BUSYBOX_CONFIG_FEATURE_CROND_CALL_SENDMAIL
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.
@@ -83,13 +91,66 @@ config BUSYBOX_CONFIG_DEVFSD_VERBOSE
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
@@ -152,10 +213,39 @@ config BUSYBOX_CONFIG_MAKEDEVS
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"
@@ -165,6 +255,15 @@ config BUSYBOX_CONFIG_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
@@ -178,6 +277,12 @@ config BUSYBOX_CONFIG_STRINGS
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
diff --git a/package/busybox/config/modutils/Config.in b/package/busybox/config/modutils/Config.in
index ee348f6fd..7c9f50f16 100644
--- a/package/busybox/config/modutils/Config.in
+++ b/package/busybox/config/modutils/Config.in
@@ -11,22 +11,8 @@ config BUSYBOX_CONFIG_INSMOD
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
@@ -34,7 +20,7 @@ config BUSYBOX_CONFIG_FEATURE_INSMOD_VERSION_CHECKING
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
@@ -45,7 +31,7 @@ config BUSYBOX_CONFIG_FEATURE_INSMOD_KSYMOOPS_SYMBOLS
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
@@ -55,7 +41,7 @@ config BUSYBOX_CONFIG_FEATURE_INSMOD_LOADINKMEM
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
@@ -66,7 +52,7 @@ config BUSYBOX_CONFIG_FEATURE_INSMOD_LOAD_MAP
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
@@ -74,16 +60,25 @@ config BUSYBOX_CONFIG_FEATURE_INSMOD_LOAD_MAP_FULL
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"
@@ -92,14 +87,31 @@ config BUSYBOX_CONFIG_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
@@ -108,6 +120,28 @@ config BUSYBOX_CONFIG_FEATURE_CHECK_TAINTED_MODULE
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
diff --git a/package/busybox/config/networking/Config.in b/package/busybox/config/networking/Config.in
index 996afb447..14e6b5f79 100644
--- a/package/busybox/config/networking/Config.in
+++ b/package/busybox/config/networking/Config.in
@@ -18,6 +18,25 @@ config BUSYBOX_CONFIG_ARPING
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
@@ -66,7 +85,6 @@ config BUSYBOX_CONFIG_FEATURE_HTTPD_AUTH_MD5
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"
@@ -101,7 +119,18 @@ config BUSYBOX_CONFIG_FEATURE_HTTPD_CGI
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"
@@ -171,6 +200,7 @@ config BUSYBOX_CONFIG_FEATURE_IFCONFIG_BROADCAST_PLUS
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
@@ -291,6 +321,13 @@ config BUSYBOX_CONFIG_FEATURE_INETD_SUPPORT_BILTIN_CHARGEN
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"
@@ -406,7 +443,7 @@ config BUSYBOX_CONFIG_NAMEIF
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"
@@ -421,6 +458,14 @@ config BUSYBOX_CONFIG_NETMSG
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
@@ -498,7 +543,6 @@ config BUSYBOX_CONFIG_FEATURE_TELNET_AUTOLOGIN
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
@@ -600,6 +644,22 @@ config BUSYBOX_CONFIG_FEATURE_TRACEROUTE_VERBOSE
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
@@ -636,5 +696,16 @@ config BUSYBOX_CONFIG_FEATURE_WGET_IP6_LITERAL
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
diff --git a/package/busybox/config/procps/Config.in b/package/busybox/config/procps/Config.in
index 85328564a..b94632b46 100644
--- a/package/busybox/config/procps/Config.in
+++ b/package/busybox/config/procps/Config.in
@@ -13,6 +13,14 @@ config BUSYBOX_CONFIG_FREE
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
@@ -42,12 +50,37 @@ config BUSYBOX_CONFIG_PIDOF
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
@@ -55,6 +88,12 @@ config BUSYBOX_CONFIG_RENICE
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
@@ -62,8 +101,8 @@ config BUSYBOX_CONFIG_TOP
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
@@ -77,11 +116,6 @@ config BUSYBOX_CONFIG_UPTIME
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
diff --git a/package/busybox/config/shell/Config.in b/package/busybox/config/shell/Config.in
index 6ac4f6971..b9a1b4d7a 100644
--- a/package/busybox/config/shell/Config.in
+++ b/package/busybox/config/shell/Config.in
@@ -3,7 +3,7 @@
# see scripts/kbuild/config-language.txt.
#
-menu "Another Bourne-like Shell"
+menu "Shells"
choice
prompt "Choose your default shell"
@@ -36,6 +36,7 @@ endchoice
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
@@ -53,6 +54,23 @@ config BUSYBOX_CONFIG_ASH_JOB_CONTROL
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
@@ -92,6 +110,21 @@ config BUSYBOX_CONFIG_ASH_CMDCMD
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
@@ -104,7 +137,7 @@ config BUSYBOX_CONFIG_ASH_OPTIMIZE_FOR_SIZE
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"
@@ -117,9 +150,21 @@ config BUSYBOX_CONFIG_ASH_RANDOM_SUPPORT
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
@@ -134,6 +179,9 @@ config BUSYBOX_CONFIG_HUSH
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
@@ -146,6 +194,9 @@ config BUSYBOX_CONFIG_LASH
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
@@ -175,7 +226,7 @@ config BUSYBOX_CONFIG_FEATURE_SH_STANDALONE_SHELL
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
@@ -190,6 +241,14 @@ config BUSYBOX_CONFIG_FEATURE_COMMAND_EDITING
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
diff --git a/package/busybox/config/util-linux/Config.in b/package/busybox/config/util-linux/Config.in
index af4735857..474ef02f0 100644
--- a/package/busybox/config/util-linux/Config.in
+++ b/package/busybox/config/util-linux/Config.in
@@ -5,7 +5,6 @@
menu "Linux System Utilities"
-
config BUSYBOX_CONFIG_DMESG
bool "dmesg"
default y
@@ -27,7 +26,6 @@ config BUSYBOX_CONFIG_FBSET
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
@@ -210,6 +208,35 @@ config BUSYBOX_CONFIG_FEATURE_HWCLOCK_LONGOPTIONS
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
@@ -218,6 +245,36 @@ config BUSYBOX_CONFIG_LOSETUP
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
@@ -252,6 +309,24 @@ config BUSYBOX_CONFIG_FEATURE_USE_TERMIOS
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
@@ -261,6 +336,9 @@ config BUSYBOX_CONFIG_PIVOT_ROOT
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
@@ -270,6 +348,21 @@ config BUSYBOX_CONFIG_RDATE
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
@@ -281,23 +374,24 @@ config BUSYBOX_CONFIG_SWAPONOFF
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"
@@ -308,50 +402,50 @@ config BUSYBOX_CONFIG_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