update busybox menuconfig to 1.1.1, should fix the "missing reboot" bug
authornbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Tue, 4 Apr 2006 19:24:40 +0000 (19:24 +0000)
committernbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Tue, 4 Apr 2006 19:24:40 +0000 (19:24 +0000)
git-svn-id: svn://svn.openwrt.org/openwrt/trunk/openwrt@3587 3c298f89-4303-0410-b956-a3cf2f4a3e73

16 files changed:
package/busybox/config/Config.in
package/busybox/config/archival/Config.in
package/busybox/config/console-tools/Config.in
package/busybox/config/coreutils/Config.in
package/busybox/config/debianutils/Config.in
package/busybox/config/e2fsprogs/Config.in [new file with mode: 0644]
package/busybox/config/findutils/Config.in
package/busybox/config/init/Config.in
package/busybox/config/libbb/Config.in [new file with mode: 0644]
package/busybox/config/loginutils/Config.in
package/busybox/config/miscutils/Config.in
package/busybox/config/modutils/Config.in
package/busybox/config/networking/Config.in
package/busybox/config/procps/Config.in
package/busybox/config/shell/Config.in
package/busybox/config/util-linux/Config.in

index e7afb53..eedb4ba 100644 (file)
@@ -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
index 909e746..bd5c4b1 100644 (file)
@@ -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
index 207e2df..4faaeb4 100644 (file)
@@ -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
index 9d97e3c..53984e3 100644 (file)
@@ -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"
index b62499e..71f2bf3 100644 (file)
@@ -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 (file)
index 0000000..e9ef3dc
--- /dev/null
@@ -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
index fb5a8c0..9667bfb 100644 (file)
@@ -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)"
index 087d836..88dcaca 100644 (file)
@@ -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 (file)
index 0000000..7d84a75
--- /dev/null
@@ -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
index 7ab724f..621d576 100644 (file)
@@ -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
 
index 77dc85c..1ffb8c6 100644 (file)
@@ -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
index ee348f6..7c9f50f 100644 (file)
@@ -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
 
index 996afb4..14e6b5f 100644 (file)
@@ -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
 
index 8532856..b94632b 100644 (file)
@@ -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
 
index 6ac4f69..b9a1b4d 100644 (file)
@@ -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
index af47358..474ef02 100644 (file)
@@ -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