Signed-off-by: Ladislav Michl <la...@linux-mips.org>
---
 config/busybox/Config.in                           |   73 +++++++----
 config/busybox/archival/Config.in                  |    4 +-
 config/busybox/console-tools/Config.in             |   13 ++
 config/busybox/coreutils/Config.in                 |    9 +-
 config/busybox/e2fsprogs/Config.in                 |    1 +
 config/busybox/editors/Config.in                   |   12 +-
 config/busybox/init/Config.in                      |   57 +++++----
 config/busybox/libbb/Config.in                     |   16 ++-
 config/busybox/loginutils/Config.in                |  100 ++++++++-------
 config/busybox/miscutils/Config.in                 |   54 +++++++-
 config/busybox/modutils/Config.in                  |    1 +
 config/busybox/networking/Config.in                |   47 +++++++-
 config/busybox/networking/udhcp/Config.in          |    4 +-
 config/busybox/procps/Config.in                    |   24 ++++-
 config/busybox/shell/Config.in                     |  139 +++++++++++---------
 config/busybox/sysklogd/Config.in                  |   16 +++
 config/busybox/util-linux/Config.in                |   55 ++++++--
 ...ild-system-make-3.82-fix.-Closes-bug-2323.patch |   46 -------
 .../0001-reactivate-check-for-tty.patch            |    0 
 ...nstant-unsigned-to-avoid-integer-overflow.patch |    6 +-
 patches/{busybox-1.17.1 => busybox-1.18.5}/series  |    1 -
 rules/busybox.make                                 |    4 +-
 22 files changed, 430 insertions(+), 252 deletions(-)
 delete mode 100644 
patches/busybox-1.17.1/0003-build-system-make-3.82-fix.-Closes-bug-2323.patch
 rename patches/{busybox-1.17.1 => 
busybox-1.18.5}/0001-reactivate-check-for-tty.patch (100%)
 rename patches/{busybox-1.17.1 => 
busybox-1.18.5}/0002-make-constant-unsigned-to-avoid-integer-overflow.patch 
(86%)
 rename patches/{busybox-1.17.1 => busybox-1.18.5}/series (77%)

diff --git a/config/busybox/Config.in b/config/busybox/Config.in
index 2cc9d9e..eafe8de 100644
--- a/config/busybox/Config.in
+++ b/config/busybox/Config.in
@@ -47,6 +47,17 @@ config BUSYBOX_USE_PORTABLE_CODE
          compiler other than gcc.
          If you do use gcc, this option may needlessly increase code size.
 
+config BUSYBOX_PLATFORM_LINUX
+       bool "Enable Linux-specific applets and features"
+       default y
+       help
+         For the most part, busybox requires only POSIX compatibility
+         from the target system, but some applets and features use
+         Linux-specific interfaces.
+
+         Answering 'N' here will disable such applets and hide the
+         corresponding configuration options.
+
 choice
        prompt "Buffer allocation policy"
        default BUSYBOX_FEATURE_BUFFERS_USE_MALLOC
@@ -112,6 +123,14 @@ config BUSYBOX_FEATURE_INSTALLER
          busybox at runtime to create hard links or symlinks for all the
          applets that are compiled into busybox.
 
+config BUSYBOX_INSTALL_NO_USR
+       bool "Don't use /usr"
+       default n
+       help
+         Disable use of /usr. busybox --install and "make install"
+         will install applets only to /bin and /sbin,
+         never to /usr/bin or /usr/sbin.
+
 config BUSYBOX_LOCALE_SUPPORT
        bool "Enable locale support (system needs locale for this to work)"
        default n
@@ -264,15 +283,6 @@ config BUSYBOX_FEATURE_CLEAN_UP
          Don't enable this unless you have a really good reason to clean
          things up manually.
 
-config BUSYBOX_FEATURE_UTMP
-       bool "Support utmp file"
-       default y
-       help
-         The file /var/run/utmp is used to track who is currently logged in.
-         With this option on, certain applets (getty, login, telnetd etc)
-         will create and delete entries there.
-         "who" applet requires this option.
-
 config BUSYBOX_FEATURE_WTMP
        bool "Support wtmp file"
        default y
@@ -284,6 +294,15 @@ config BUSYBOX_FEATURE_WTMP
          will append new entries there.
          "last" applet requires this option.
 
+config BUSYBOX_FEATURE_UTMP
+       bool "Support utmp file"
+       default y
+       help
+         The file /var/run/utmp is used to track who is currently logged in.
+         With this option on, certain applets (getty, login, telnetd etc)
+         will create and delete entries there.
+         "who" applet requires this option.
+
 config BUSYBOX_FEATURE_PIDFILE
        bool "Support writing pidfiles"
        default y
@@ -296,14 +315,19 @@ config BUSYBOX_FEATURE_SUID
        default y
        help
          With this option you can install the busybox binary belonging
-         to root with the suid bit set, and it will automatically drop
-         priviledges for applets that don't need root access.
+         to root with the suid bit set, enabling some applets to perform
+         root-level operations even when run by ordinary users
+         (for example, mounting of user mounts in fstab needs this).
+
+         Busybox will automatically drop priviledges for applets
+         that don't need root access.
 
          If you are really paranoid and don't want to do this, build two
          busybox binaries with different applets in them (and the appropriate
          symlinks pointing to each binary), and only set the suid bit on the
-         one that needs it. The applets currently marked to need the suid bit
-         are:
+         one that needs it.
+
+         The applets currently marked to need the suid bit are:
 
          crontab, dnsd, findfs, ipcrm, ipcs, login, passwd, ping, su,
          traceroute, vlock.
@@ -353,6 +377,7 @@ config BUSYBOX_FEATURE_SUID_CONFIG_QUIET
 config BUSYBOX_SELINUX
        bool "Support NSA Security Enhanced Linux"
        default n
+       depends on BUSYBOX_PLATFORM_LINUX
        help
          Enable support for SELinux in applets ls, ps, and id. Also provide
          the option of compiling in SELinux applets.
@@ -639,20 +664,13 @@ endchoice
 
 endmenu
 
-menu 'Installation Options'
-
-config BUSYBOX_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.
+menu 'Installation Options ("make install" behavior)'
 
 choice
-       prompt "Applets links"
+       prompt "What kind of applet links to install"
        default BUSYBOX_INSTALL_APPLET_SYMLINKS
        help
-         Choose how you install applets links.
+         Choose what kind of links to applets are created by "make install".
 
 config BUSYBOX_INSTALL_APPLET_SYMLINKS
        bool "as soft-links"
@@ -676,8 +694,9 @@ config BUSYBOX_INSTALL_APPLET_DONT
        bool "not installed"
        depends on BUSYBOX_FEATURE_INSTALLER || BUSYBOX_FEATURE_SH_STANDALONE 
|| BUSYBOX_FEATURE_PREFER_APPLETS
        help
-         Do not install applet links. Useful when using the -install feature
-         or a standalone shell for rescue purposes.
+         Do not install applet links. Useful when you plan to use
+         busybox --install for installing links, or plan to use
+         a standalone shell and thus don't need applet links.
 
 endchoice
 
@@ -701,8 +720,8 @@ config BUSYBOX_INSTALL_SH_APPLET_HARDLINK
 config BUSYBOX_INSTALL_SH_APPLET_SCRIPT_WRAPPER
        bool "as script wrapper"
        help
-         Install /bin/sh applet as script wrapper that call the busybox
-         binary.
+         Install /bin/sh applet as script wrapper that calls
+         the busybox binary.
 
 endchoice
 
diff --git a/config/busybox/archival/Config.in 
b/config/busybox/archival/Config.in
index d04bf3e..3754123 100644
--- a/config/busybox/archival/Config.in
+++ b/config/busybox/archival/Config.in
@@ -195,7 +195,7 @@ config BUSYBOX_LZOP
          Lzop compression/decompresion.
 
 config BUSYBOX_LZOP_COMPR_HIGH
-       bool "lzop complession levels 7,8,9 (not very useful)"
+       bool "lzop compression levels 7,8,9 (not very useful)"
        default n
        depends on BUSYBOX_LZOP
        help
@@ -207,7 +207,7 @@ config BUSYBOX_RPM2CPIO
        bool "rpm2cpio"
        default y
        help
-         Converts an RPM file into a CPIO archive.
+         Converts a RPM file into a CPIO archive.
 
 config BUSYBOX_RPM
        bool "rpm"
diff --git a/config/busybox/console-tools/Config.in 
b/config/busybox/console-tools/Config.in
index 5d4b710..084efbf 100644
--- a/config/busybox/console-tools/Config.in
+++ b/config/busybox/console-tools/Config.in
@@ -11,6 +11,7 @@ menu "Console Utilities"
 config BUSYBOX_CHVT
        bool "chvt"
        default y
+       depends on BUSYBOX_PLATFORM_LINUX
        help
          This program is used to change to another terminal.
          Example: chvt 4 (change to terminal /dev/tty4)
@@ -18,6 +19,7 @@ config BUSYBOX_CHVT
 config BUSYBOX_FGCONSOLE
        bool "fgconsole"
        default y
+       depends on BUSYBOX_PLATFORM_LINUX
        help
          This program prints active (foreground) console number.
 
@@ -30,12 +32,14 @@ config BUSYBOX_CLEAR
 config BUSYBOX_DEALLOCVT
        bool "deallocvt"
        default y
+       depends on BUSYBOX_PLATFORM_LINUX
        help
          This program deallocates unused virtual consoles.
 
 config BUSYBOX_DUMPKMAP
        bool "dumpkmap"
        default y
+       depends on BUSYBOX_PLATFORM_LINUX
        help
          This program dumps the kernel's keyboard translation table to
          stdout, in binary format. You can then use loadkmap to load it.
@@ -43,18 +47,21 @@ config BUSYBOX_DUMPKMAP
 config BUSYBOX_KBD_MODE
        bool "kbd_mode"
        default y
+       depends on BUSYBOX_PLATFORM_LINUX
        help
          This program reports and sets keyboard mode.
 
 config BUSYBOX_LOADFONT
        bool "loadfont"
        default y
+       depends on BUSYBOX_PLATFORM_LINUX
        help
          This program loads a console font from standard input.
 
 config BUSYBOX_LOADKMAP
        bool "loadkmap"
        default y
+       depends on BUSYBOX_PLATFORM_LINUX
        help
          This program loads a keyboard translation table from
          standard input.
@@ -62,6 +69,7 @@ config BUSYBOX_LOADKMAP
 config BUSYBOX_OPENVT
        bool "openvt"
        default y
+       depends on BUSYBOX_PLATFORM_LINUX
        help
          This program is used to start a command on an unused
          virtual terminal.
@@ -93,6 +101,7 @@ config BUSYBOX_FEATURE_RESIZE_PRINT
 config BUSYBOX_SETCONSOLE
        bool "setconsole"
        default y
+       depends on BUSYBOX_PLATFORM_LINUX
        help
          This program redirects the system console to another device,
          like the current tty while logged in via telnet.
@@ -107,6 +116,7 @@ config BUSYBOX_FEATURE_SETCONSOLE_LONG_OPTIONS
 config BUSYBOX_SETFONT
        bool "setfont"
        default y
+       depends on BUSYBOX_PLATFORM_LINUX
        help
          Allows to load console screen map. Useful for i18n.
 
@@ -128,6 +138,7 @@ config BUSYBOX_DEFAULT_SETFONT_DIR
 config BUSYBOX_SETKEYCODES
        bool "setkeycodes"
        default y
+       depends on BUSYBOX_PLATFORM_LINUX
        help
          This program loads entries into the kernel's scancode-to-keycode
          map, allowing unusual keyboards to generate usable keycodes.
@@ -135,12 +146,14 @@ config BUSYBOX_SETKEYCODES
 config BUSYBOX_SETLOGCONS
        bool "setlogcons"
        default y
+       depends on BUSYBOX_PLATFORM_LINUX
        help
          This program redirects the output console of kernel messages.
 
 config BUSYBOX_SHOWKEY
        bool "showkey"
        default y
+       depends on BUSYBOX_PLATFORM_LINUX
        help
          Shows keys pressed.
 
diff --git a/config/busybox/coreutils/Config.in 
b/config/busybox/coreutils/Config.in
index 294bfb0..22bbc55 100644
--- a/config/busybox/coreutils/Config.in
+++ b/config/busybox/coreutils/Config.in
@@ -34,10 +34,11 @@ config BUSYBOX_FEATURE_DATE_ISOFMT
          Enable option (-I) to output an ISO-8601 compliant
          date/time string.
 
+# defaults to "no": stat's nanosecond field is a bit non-portable
 config BUSYBOX_FEATURE_DATE_NANO
        bool "Support %[num]N nanosecond format specifier"
        default n
-       depends on BUSYBOX_DATE
+       depends on BUSYBOX_DATE && BUSYBOX_PLATFORM_LINUX # 
syscall(BUSYBOX___NR_clockBUSYBOX__gettime)
        help
          Support %[num]N format specifier. Adds ~250 bytes of code.
 
@@ -95,6 +96,11 @@ config BUSYBOX_FEATURE_TR_EQUIV
          replace all instances of 'a' with 'xyz'. This option is mainly
          useful for cases when no other way of expressing a character
          is possible.
+config BUSYBOX_BASE64
+       bool "base64"
+       default y
+       help
+         Base64 encode and decode
 
 config BUSYBOX_CAL
        bool "cal"
@@ -680,6 +686,7 @@ config BUSYBOX_FEATURE_SPLIT_FANCY
 config BUSYBOX_STAT
        bool "stat"
        default y
+       depends on BUSYBOX_PLATFORM_LINUX # statfs()
        help
          display file or filesystem status.
 
diff --git a/config/busybox/e2fsprogs/Config.in 
b/config/busybox/e2fsprogs/Config.in
index 9dc2649..2cc7c3a 100644
--- a/config/busybox/e2fsprogs/Config.in
+++ b/config/busybox/e2fsprogs/Config.in
@@ -34,6 +34,7 @@ config BUSYBOX_FSCK
 config BUSYBOX_LSATTR
        bool "lsattr"
        default y
+       depends on BUSYBOX_PLATFORM_LINUX
        help
          lsattr lists the file attributes on a second extended file system.
 
diff --git a/config/busybox/editors/Config.in b/config/busybox/editors/Config.in
index 66ab6bf..8d71283 100644
--- a/config/busybox/editors/Config.in
+++ b/config/busybox/editors/Config.in
@@ -6,7 +6,11 @@
 
 menu "Editors"
 
-
+config BUSYBOX_PATCH
+       bool "patch"
+       default y
+       help
+         Apply a unified diff formatted patch.
 
 config BUSYBOX_AWK
        bool "awk"
@@ -61,12 +65,6 @@ config BUSYBOX_ED
          Small, simple, evil. Part of SUSv3. If you're not already using
          this, you don't need it.
 
-config BUSYBOX_PATCH
-       bool "patch"
-       default y
-       help
-         Apply a unified diff formatted patch.
-
 config BUSYBOX_SED
        bool "sed"
        default y
diff --git a/config/busybox/init/Config.in b/config/busybox/init/Config.in
index 1855283..9399b15 100644
--- a/config/busybox/init/Config.in
+++ b/config/busybox/init/Config.in
@@ -44,7 +44,31 @@ config BUSYBOX_FEATURE_BOOTCHARTD_CONFIG_FILE
        help
          Enable reading and parsing of $PWD/bootchartd.conf
          and /etc/bootchartd.conf files.
+config BUSYBOX_HALT
+       bool "poweroff, halt, and reboot"
+       default y
+       help
+         Stop all processes and either halt, reboot, or power off the system.
+
+config BUSYBOX_FEATURE_CALL_TELINIT
+       bool "Call telinit on shutdown and reboot"
+       default y
+       depends on BUSYBOX_HALT && !BUSYBOX_INIT
+       help
+         Call an external program (normally telinit) to facilitate
+         a switch to a proper runlevel.
 
+         This option is only available if you selected halt and friends,
+         but did not select init.
+
+config BUSYBOX_TELINIT_PATH
+       string "Path to telinit executable"
+       default "/sbin/telinit"
+       depends on BUSYBOX_FEATURE_CALL_TELINIT
+       help
+         When busybox halt and friends have to call external telinit
+         to facilitate proper shutdown, this path is to be used when
+         locating telinit executable.
 config BUSYBOX_INIT
        bool "init"
        default y
@@ -127,32 +151,17 @@ config BUSYBOX_FEATURE_INITRD
          This does not apply to initramfs, which runs /init as PID 1 and
          requires no special support.
 
-config BUSYBOX_HALT
-       bool "poweroff, halt, and reboot"
-       default y
-       help
-         Stop all processes and either halt, reboot, or power off the system.
-
-config BUSYBOX_FEATURE_CALL_TELINIT
-       bool "Call telinit on shutdown and reboot"
-       default y
-       depends on BUSYBOX_HALT && !BUSYBOX_INIT
-       help
-         Call an external program (normally telinit) to facilitate
-         a switch to a proper runlevel.
-
-         This option is only available if you selected halt and friends,
-         but did not select init.
-
-config BUSYBOX_TELINIT_PATH
-       string "Path to telinit executable"
-       default "/sbin/telinit"
-       depends on BUSYBOX_FEATURE_CALL_TELINIT
+config BUSYBOX_INIT_TERMINAL_TYPE
+       string "Initial terminal type"
+       default "linux"
+       depends on BUSYBOX_INIT
        help
-         When busybox halt and friends have to call external telinit
-         to facilitate proper shutdown, this path is to be used when
-         locating telinit executable.
+         This is the initial value set by init for the TERM environment
+         variable. This variable is used by programs which make use of
+         extended terminal capabilities.
 
+         Note that on Linux, init attempts to detect serial terminal and
+         sets TERM to "vt102" if one is found.
 config BUSYBOX_MESG
        bool "mesg"
        default y
diff --git a/config/busybox/libbb/Config.in b/config/busybox/libbb/Config.in
index 889572b..2c9cecb 100644
--- a/config/busybox/libbb/Config.in
+++ b/config/busybox/libbb/Config.in
@@ -44,6 +44,17 @@ config BUSYBOX_FEATURE_ETC_NETWORKS
          a rarely used feature which allows you to use names
          instead of IP/mask pairs in route command.
 
+config BUSYBOX_FEATURE_USE_TERMIOS
+       bool "Use termios to manipulate the screen"
+       default y
+       depends on BUSYBOX_MORE || BUSYBOX_TOP || BUSYBOX_POWERTOP
+       help
+         This option allows utilities such as 'more' and 'top' to determine
+         the size of the screen. If you leave this disabled, your utilities
+         that display things on the screen will be especially primitive and
+         will be unable to determine the current screen size, and will be
+         unable to move the cursor.
+
 config BUSYBOX_FEATURE_EDITING
        bool "Command line editing"
        default y
@@ -79,9 +90,9 @@ config BUSYBOX_FEATURE_EDITING_HISTORY
 config BUSYBOX_FEATURE_EDITING_SAVEHISTORY
        bool "History saving"
        default y
-       depends on BUSYBOX_ASH && BUSYBOX_FEATURE_EDITING
+       depends on BUSYBOX_FEATURE_EDITING
        help
-         Enable history saving in ash shell.
+         Enable history saving in shells.
 
 config BUSYBOX_FEATURE_TAB_COMPLETION
        bool "Tab completion"
@@ -154,6 +165,7 @@ config BUSYBOX_FEATURE_COPYBUF_KB
 config BUSYBOX_MONOTONIC_SYSCALL
        bool "Use clock_gettime(CLOCK_MONOTONIC) syscall"
        default n
+       depends on BUSYBOX_PLATFORM_LINUX
        help
          Use clock_gettime(CLOCK_MONOTONIC) syscall for measuring
          time intervals (time, ping, traceroute etc need this).
diff --git a/config/busybox/loginutils/Config.in 
b/config/busybox/loginutils/Config.in
index 3b44598..d392f24 100644
--- a/config/busybox/loginutils/Config.in
+++ b/config/busybox/loginutils/Config.in
@@ -6,7 +6,17 @@
 
 menu "Login/Password Management Utilities"
 
-
+config BUSYBOX_ADD_SHELL
+       bool "add-shell"
+       default y if BUSYBOX_DESKTOP
+       help
+         Add shells to /etc/shells.
+
+config BUSYBOX_REMOVE_SHELL
+       bool "remove-shell"
+       default y if BUSYBOX_DESKTOP
+       help
+         Remove shells from /etc/shells.
 
 config BUSYBOX_FEATURE_SHADOWPASSWDS
        bool "Support for shadow passwords"
@@ -94,41 +104,18 @@ config BUSYBOX_USE_BB_CRYPT_SHA
          With this option off, login will fail password check for any
          user which has password encrypted with these algorithms.
 
-config BUSYBOX_ADDGROUP
-       bool "addgroup"
+config BUSYBOX_ADDUSER
+       bool "adduser"
        default y
        help
-         Utility for creating a new group account.
+         Utility for creating a new user account.
 
-config BUSYBOX_FEATURE_ADDGROUP_LONG_OPTIONS
+config BUSYBOX_FEATURE_ADDUSER_LONG_OPTIONS
        bool "Enable long options"
        default y
-       depends on BUSYBOX_ADDGROUP && BUSYBOX_LONG_OPTS
-       help
-         Support long options for the addgroup applet.
-
-config BUSYBOX_FEATURE_ADDUSER_TO_GROUP
-       bool "Support for adding users to groups"
-       default y
-       depends on BUSYBOX_ADDGROUP
-       help
-         If  called  with two non-option arguments,
-         addgroup will add an existing user to an
-         existing group.
-
-config BUSYBOX_DELGROUP
-       bool "delgroup"
-       default y
-       help
-         Utility for deleting a group account.
-
-config BUSYBOX_FEATURE_DEL_USER_FROM_GROUP
-       bool "Support for removing users from groups"
-       default y
-       depends on BUSYBOX_DELGROUP
+       depends on BUSYBOX_ADDUSER && BUSYBOX_LONG_OPTS
        help
-         If called with two non-option arguments, deluser
-         or delgroup will remove an user from a specified group.
+         Support long options for the adduser applet.
 
 config BUSYBOX_FEATURE_CHECK_NAMES
        bool "Enable sanity check on user/group names in adduser and addgroup"
@@ -142,19 +129,6 @@ config BUSYBOX_FEATURE_CHECK_NAMES
          For compatibility with Samba machine accounts "$" is also supported
          at the end of the user or group name.
 
-config BUSYBOX_ADDUSER
-       bool "adduser"
-       default y
-       help
-         Utility for creating a new user account.
-
-config BUSYBOX_FEATURE_ADDUSER_LONG_OPTIONS
-       bool "Enable long options"
-       default y
-       depends on BUSYBOX_ADDUSER && BUSYBOX_LONG_OPTS
-       help
-         Support long options for the adduser applet.
-
 config BUSYBOX_FIRST_SYSTEM_ID
        int "First valid system uid or gid for adduser and addgroup"
        depends on BUSYBOX_ADDUSER || BUSYBOX_ADDGROUP
@@ -171,12 +145,48 @@ config BUSYBOX_LAST_SYSTEM_ID
        help
          Last valid system uid or gid for adduser and addgroup
 
+config BUSYBOX_ADDGROUP
+       bool "addgroup"
+       default y
+       help
+         Utility for creating a new group account.
+
+config BUSYBOX_FEATURE_ADDGROUP_LONG_OPTIONS
+       bool "Enable long options"
+       default y
+       depends on BUSYBOX_ADDGROUP && BUSYBOX_LONG_OPTS
+       help
+         Support long options for the addgroup applet.
+
+config BUSYBOX_FEATURE_ADDUSER_TO_GROUP
+       bool "Support for adding users to groups"
+       default y
+       depends on BUSYBOX_ADDGROUP
+       help
+         If  called  with two non-option arguments,
+         addgroup will add an existing user to an
+         existing group.
+
 config BUSYBOX_DELUSER
        bool "deluser"
        default y
        help
          Utility for deleting a user account.
 
+config BUSYBOX_DELGROUP
+       bool "delgroup"
+       default y
+       help
+         Utility for deleting a group account.
+
+config BUSYBOX_FEATURE_DEL_USER_FROM_GROUP
+       bool "Support for removing users from groups"
+       default y
+       depends on BUSYBOX_DELGROUP
+       help
+         If called with two non-option arguments, deluser
+         or delgroup will remove an user from a specified group.
+
 config BUSYBOX_GETTY
        bool "getty"
        default y
@@ -187,7 +197,6 @@ config BUSYBOX_GETTY
 config BUSYBOX_LOGIN
        bool "login"
        default y
-       select BUSYBOX_FEATURE_SUID
        select BUSYBOX_FEATURE_SYSLOG
        help
          login is used when signing onto a system.
@@ -230,7 +239,6 @@ config BUSYBOX_FEATURE_SECURETTY
 config BUSYBOX_PASSWD
        bool "passwd"
        default y
-       select BUSYBOX_FEATURE_SUID
        select BUSYBOX_FEATURE_SYSLOG
        help
          passwd changes passwords for user and group accounts. A normal user
@@ -266,7 +274,6 @@ config BUSYBOX_CHPASSWD
 config BUSYBOX_SU
        bool "su"
        default y
-       select BUSYBOX_FEATURE_SUID
        select BUSYBOX_FEATURE_SYSLOG
        help
          su is used to become another user during a login session.
@@ -296,7 +303,6 @@ config BUSYBOX_SULOGIN
 config BUSYBOX_VLOCK
        bool "vlock"
        default y
-       select BUSYBOX_FEATURE_SUID
        help
          Build the "vlock" applet which allows you to lock (virtual) terminals.
 
diff --git a/config/busybox/miscutils/Config.in 
b/config/busybox/miscutils/Config.in
index 8350806..5e81dac 100644
--- a/config/busybox/miscutils/Config.in
+++ b/config/busybox/miscutils/Config.in
@@ -9,26 +9,43 @@ menu "Miscellaneous Utilities"
 config BUSYBOX_CONSPY
        bool "conspy"
        default n
+       depends on BUSYBOX_PLATFORM_LINUX
        help
          A text-mode VNC like program for Linux virtual terminals.
          example:  conspy NUM      shared access to console num
          or        conspy -nd NUM  screenshot of console num
          or        conspy -cs NUM  poor man's GNU screen like
+config BUSYBOX_NANDWRITE
+       bool "nandwrite"
+       default n
+       depends on BUSYBOX_PLATFORM_LINUX
+       help
+         Write to the specified MTD device, with bad blocks awareness
+
+config BUSYBOX_NANDDUMP
+       bool "nanddump"
+       default n
+       depends on BUSYBOX_PLATFORM_LINUX
+       help
+         Dump the content of raw NAND chip
 config BUSYBOX_UBIATTACH
        bool "ubiattach"
        default n
+       depends on BUSYBOX_PLATFORM_LINUX
        help
          Attach MTD device to an UBI device.
 
 config BUSYBOX_UBIDETACH
        bool "ubidetach"
        default n
+       depends on BUSYBOX_PLATFORM_LINUX
        help
          Detach MTD device from an UBI device.
 
 config BUSYBOX_ADJTIMEX
        bool "adjtimex"
        default y
+       depends on BUSYBOX_PLATFORM_LINUX
        help
          Adjtimex reads and optionally sets adjustment parameters for
          the Linux clock adjustment algorithm.
@@ -40,9 +57,24 @@ config BUSYBOX_BBCONFIG
          The bbconfig applet will print the config file with which
          busybox was built.
 
+config BUSYBOX_FEATURE_COMPRESS_BBCONFIG
+       bool "Compress bbconfig data"
+       default y
+       depends on BUSYBOX_BBCONFIG
+       help
+         Store bbconfig data in compressed form, uncompress them on-the-fly
+         before output.
+
+         If you have a really tiny busybox with few applets enabled (and
+         bunzip2 isn't one of them), the overhead of the decompressor might
+         be noticeable. Also, if you run executables directly from ROM
+         and have very little memory, this might not be a win. Otherwise,
+         you probably want this.
+
 config BUSYBOX_BEEP
        bool "beep"
        default y
+       depends on BUSYBOX_PLATFORM_LINUX
        help
          The beep applets beeps in a given freq/Hz.
 
@@ -139,7 +171,6 @@ config BUSYBOX_CHRT
 config BUSYBOX_CROND
        bool "crond"
        default y
-       select BUSYBOX_FEATURE_SUID
        select BUSYBOX_FEATURE_SYSLOG
        help
          Crond is a background daemon that parses individual crontab
@@ -174,7 +205,6 @@ config BUSYBOX_FEATURE_CROND_DIR
 config BUSYBOX_CRONTAB
        bool "crontab"
        default y
-       select BUSYBOX_FEATURE_SUID
        help
          Crontab manipulates the crontab for a particular user. Only
          the superuser may specify a different user and/or crontab directory.
@@ -199,6 +229,7 @@ config BUSYBOX_FEATURE_DC_LIBM
 config BUSYBOX_DEVFSD
        bool "devfsd (obsolete)"
        default n
+       depends on BUSYBOX_PLATFORM_LINUX
        select BUSYBOX_FEATURE_SYSLOG
        help
          This is deprecated and should NOT be used anymore.
@@ -242,6 +273,7 @@ config BUSYBOX_DEVFSD_VERBOSE
 config BUSYBOX_FEATURE_DEVFS
        bool "Use devfs names for all devices (obsolete)"
        default n
+       depends on BUSYBOX_PLATFORM_LINUX
        help
          This is obsolete and should NOT be used anymore.
          Use linux >= 2.6 (optionally with hotplug) and mdev instead!
@@ -261,6 +293,7 @@ config BUSYBOX_DEVMEM
 config BUSYBOX_EJECT
        bool "eject"
        default y
+       depends on BUSYBOX_PLATFORM_LINUX
        help
          Used to eject cdroms. (defaults to /dev/cdrom)
 
@@ -275,6 +308,7 @@ config BUSYBOX_FEATURE_EJECT_SCSI
 config BUSYBOX_FBSPLASH
        bool "fbsplash"
        default y
+       depends on BUSYBOX_PLATFORM_LINUX
        help
          Shows splash image and progress bar on framebuffer device.
          Can be used during boot phase of an embedded device. ~2kb.
@@ -324,6 +358,7 @@ config BUSYBOX_FLASH_ERASEALL
 config BUSYBOX_IONICE
        bool "ionice"
        default y
+       depends on BUSYBOX_PLATFORM_LINUX
        help
          Set/set program io scheduling class and priority
          Requires kernel >= 2.6.13
@@ -424,11 +459,12 @@ config BUSYBOX_FEATURE_LESS_LINENUMS
        default y
        depends on BUSYBOX_FEATURE_LESS_DASHCMD
        help
-         Enable "-N" command.
+         Enables "-N" command.
 
 config BUSYBOX_HDPARM
        bool "hdparm"
        default y
+       depends on BUSYBOX_PLATFORM_LINUX
        help
          Get/Set hard drive parameters. Primarily intended for ATA
          drives. Adds about 13k (or around 30k if you enable the
@@ -490,15 +526,15 @@ config BUSYBOX_MAKEDEVS
        help
          '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 made with one command.
          User/group names are allowed as an alternative to uid/gid.
@@ -545,6 +581,7 @@ config BUSYBOX_MT
 config BUSYBOX_RAIDAUTORUN
        bool "raidautorun"
        default y
+       depends on BUSYBOX_PLATFORM_LINUX
        help
          raidautorun tells the kernel md driver to
          search and start RAID arrays.
@@ -552,7 +589,7 @@ config BUSYBOX_RAIDAUTORUN
 config BUSYBOX_READAHEAD
        bool "readahead"
        default y
-       depends on BUSYBOX_LFS
+       depends on BUSYBOX_LFS && BUSYBOX_PLATFORM_LINUX
        help
          Preload the files listed on the command line into RAM cache so that
          subsequent reads on these files will not block on disk I/O.
@@ -569,6 +606,7 @@ config BUSYBOX_READAHEAD
 config BUSYBOX_RFKILL
        bool "rfkill"
        default n  # doesn't build on Ubuntu 9.04
+       depends on BUSYBOX_PLATFORM_LINUX
        help
          Enable/disable wireless devices.
 
@@ -589,6 +627,7 @@ config BUSYBOX_RUNLEVEL
 config BUSYBOX_RX
        bool "rx"
        default y
+       depends on BUSYBOX_PLATFORM_LINUX
        help
          Receive files using the Xmodem protocol.
 
@@ -660,6 +699,7 @@ config BUSYBOX_WALL
 config BUSYBOX_WATCHDOG
        bool "watchdog"
        default y
+       depends on BUSYBOX_PLATFORM_LINUX
        help
          The watchdog utility is used with hardware or software watchdog
          device drivers. It opens the specified watchdog device special file
diff --git a/config/busybox/modutils/Config.in 
b/config/busybox/modutils/Config.in
index 58495e6..6f2aa9f 100644
--- a/config/busybox/modutils/Config.in
+++ b/config/busybox/modutils/Config.in
@@ -5,6 +5,7 @@
 #
 
 menu "Linux Module Utilities"
+       depends on BUSYBOX_PLATFORM_LINUX
 
 config BUSYBOX_MODINFO
        bool "modinfo"
diff --git a/config/busybox/networking/Config.in 
b/config/busybox/networking/Config.in
index 973fb79..c1d4148 100644
--- a/config/busybox/networking/Config.in
+++ b/config/busybox/networking/Config.in
@@ -6,6 +6,11 @@
 
 menu "Networking Utilities"
 
+config BUSYBOX_NBDCLIENT
+       bool "nbd-client"
+       default y
+       help
+         Network block device client
 config BUSYBOX_NC
        bool "nc"
        default y
@@ -83,18 +88,21 @@ config BUSYBOX_VERBOSE_RESOLUTION_ERRORS
 config BUSYBOX_ARP
        bool "arp"
        default y
+       depends on BUSYBOX_PLATFORM_LINUX
        help
          Manipulate the system ARP cache.
 
 config BUSYBOX_ARPING
        bool "arping"
        default y
+       depends on BUSYBOX_PLATFORM_LINUX
        help
          Ping hosts by ARP packets.
 
 config BUSYBOX_BRCTL
        bool "brctl"
        default y
+       depends on BUSYBOX_PLATFORM_LINUX
        help
          Manage ethernet bridges.
          Supports addbr/delbr and addif/delif.
@@ -127,6 +135,7 @@ config BUSYBOX_DNSD
 config BUSYBOX_ETHER_WAKE
        bool "ether-wake"
        default y
+       depends on BUSYBOX_PLATFORM_LINUX
        help
          Send a magic packet to wake up sleeping machines.
 
@@ -298,9 +307,18 @@ config BUSYBOX_FEATURE_HTTPD_PROXY
          Then a request to /url/myfile will be forwarded to
          http://hostname[:port]/new/path/myfile.
 
+config BUSYBOX_FEATURE_HTTPD_GZIP
+       bool "Support for GZIP content encoding"
+       default y
+       depends on BUSYBOX_HTTPD
+       help
+         Makes httpd send files using GZIP content encoding if the
+         client supports it and a pre-compressed <file>.gz exists.
+
 config BUSYBOX_IFCONFIG
        bool "ifconfig"
        default y
+       depends on BUSYBOX_PLATFORM_LINUX
        help
          Ifconfig is used to configure the kernel-resident network interfaces.
 
@@ -348,6 +366,7 @@ config BUSYBOX_FEATURE_IFCONFIG_BROADCAST_PLUS
 config BUSYBOX_IFENSLAVE
        bool "ifenslave"
        default y
+       depends on BUSYBOX_PLATFORM_LINUX
        help
          Userspace application to bind several interfaces
          to a logical interface (use with kernel bonding driver).
@@ -355,6 +374,7 @@ config BUSYBOX_IFENSLAVE
 config BUSYBOX_IFPLUGD
        bool "ifplugd"
        default y
+       depends on BUSYBOX_PLATFORM_LINUX
        help
          Network interface plug detection daemon.
 
@@ -396,7 +416,7 @@ config BUSYBOX_FEATURE_IFUPDOWN_IP
 config BUSYBOX_FEATURE_IFUPDOWN_IP_BUILTIN
        bool "Use busybox ip applet"
        default y
-       depends on BUSYBOX_FEATURE_IFUPDOWN_IP
+       depends on BUSYBOX_FEATURE_IFUPDOWN_IP && BUSYBOX_PLATFORM_LINUX
        select BUSYBOX_IP
        select BUSYBOX_FEATURE_IP_ADDRESS
        select BUSYBOX_FEATURE_IP_LINK
@@ -515,6 +535,7 @@ config BUSYBOX_FEATURE_INETD_RPC
 config BUSYBOX_IP
        bool "ip"
        default y
+       depends on BUSYBOX_PLATFORM_LINUX
        help
          The "ip" applet is a TCP/IP interface configuration and routing
          utility. You generally don't need "ip" to use busybox with
@@ -630,6 +651,7 @@ config BUSYBOX_FEATURE_IPCALC_LONG_OPTIONS
 config BUSYBOX_NAMEIF
        bool "nameif"
        default y
+       depends on BUSYBOX_PLATFORM_LINUX
        select BUSYBOX_FEATURE_SYSLOG
        help
          nameif is used to rename network interface by its MAC address.
@@ -658,6 +680,7 @@ config BUSYBOX_FEATURE_NAMEIF_EXTENDED
 config BUSYBOX_NETSTAT
        bool "netstat"
        default y
+       depends on BUSYBOX_PLATFORM_LINUX
        help
          netstat prints information about the Linux networking subsystem.
 
@@ -686,6 +709,7 @@ config BUSYBOX_NSLOOKUP
 config BUSYBOX_NTPD
        bool "ntpd"
        default y
+       depends on BUSYBOX_PLATFORM_LINUX
        help
          The NTP client/server daemon.
 
@@ -700,6 +724,7 @@ config BUSYBOX_FEATURE_NTPD_SERVER
 config BUSYBOX_PING
        bool "ping"
        default y
+       depends on BUSYBOX_PLATFORM_LINUX
        help
          ping uses the ICMP protocol's mandatory ECHO_REQUEST datagram to
          elicit an ICMP ECHO_RESPONSE from a host or gateway.
@@ -728,12 +753,14 @@ config BUSYBOX_PSCAN
 config BUSYBOX_ROUTE
        bool "route"
        default y
+       depends on BUSYBOX_PLATFORM_LINUX
        help
          Route displays or manipulates the kernel's IP routing tables.
 
 config BUSYBOX_SLATTACH
        bool "slattach"
        default y
+       depends on BUSYBOX_PLATFORM_LINUX
        help
          slattach is a small utility to attach network interfaces to serial
          lines.
@@ -814,7 +841,7 @@ config BUSYBOX_TELNETD
 
                  mount -t devpts devpts /dev/pts
 
-         You need to be sure that Busybox has LOGIN and
+         You need to be sure that busybox has LOGIN and
          FEATURE_SUID enabled. And finally, you should make
          certain that Busybox has been installed setuid root:
 
@@ -920,6 +947,7 @@ config BUSYBOX_TFTP_DEBUG
 config BUSYBOX_TRACEROUTE
        bool "traceroute"
        default y
+       depends on BUSYBOX_PLATFORM_LINUX
        help
          Utility to trace the route of IP packets.
 
@@ -956,6 +984,7 @@ config BUSYBOX_FEATURE_TRACEROUTE_USE_ICMP
 config BUSYBOX_TUNCTL
        bool "tunctl"
        default y
+       depends on BUSYBOX_PLATFORM_LINUX
        help
          tunctl creates or deletes tun devices.
 
@@ -988,6 +1017,7 @@ config BUSYBOX_UDPSVD
 config BUSYBOX_VCONFIG
        bool "vconfig"
        default y
+       depends on BUSYBOX_PLATFORM_LINUX
        help
          Creates, removes, and configures VLAN interfaces
 
@@ -1019,9 +1049,22 @@ config BUSYBOX_FEATURE_WGET_LONG_OPTIONS
        help
          Support long options for the wget applet.
 
+config BUSYBOX_FEATURE_WGET_TIMEOUT
+       bool "Enable read timeout option -T SEC"
+       default y
+       depends on BUSYBOX_WGET
+       help
+         Supports network read timeout for wget, so that wget will give
+         up and timeout when reading network data, through the -T command
+         line option.  Currently only network data read timeout is
+         supported (i.e., timeout is not applied to the DNS nor TCP
+         connection initialization).  When FEATURE_WGET_LONG_OPTIONS is
+         also enabled, the --timeout option will work in addition to -T.
+
 config BUSYBOX_ZCIP
        bool "zcip"
        default y
+       depends on BUSYBOX_PLATFORM_LINUX
        select BUSYBOX_FEATURE_SYSLOG
        help
          ZCIP provides ZeroConf IPv4 address selection, according to RFC 3927.
diff --git a/config/busybox/networking/udhcp/Config.in 
b/config/busybox/networking/udhcp/Config.in
index 7abbc4b..23ecfb9 100644
--- a/config/busybox/networking/udhcp/Config.in
+++ b/config/busybox/networking/udhcp/Config.in
@@ -9,6 +9,7 @@
 config BUSYBOX_UDHCPD
        bool "udhcp server (udhcpd)"
        default y
+       depends on BUSYBOX_PLATFORM_LINUX
        help
          udhcpd is a DHCP server geared primarily toward embedded systems,
          while striving to be fully functional and RFC compliant.
@@ -52,6 +53,7 @@ config BUSYBOX_DHCPD_LEASES_FILE
 config BUSYBOX_UDHCPC
        bool "udhcp client (udhcpc)"
        default y
+       depends on BUSYBOX_PLATFORM_LINUX
        help
          udhcpc is a DHCP client geared primarily toward embedded systems,
          while striving to be fully functional and RFC compliant.
@@ -84,7 +86,7 @@ config BUSYBOX_UDHCP_DEBUG
        depends on BUSYBOX_UDHCPD || BUSYBOX_UDHCPC || BUSYBOX_DHCPRELAY
        help
          Verbosity can be increased with multiple -v options.
-         This options controls how high it can be cranked up.
+         This option controls how high it can be cranked up.
 
          Bigger values result in bigger code. Levels above 1
          are very verbose and useful for debugging only.
diff --git a/config/busybox/procps/Config.in b/config/busybox/procps/Config.in
index b68550b..5066e23 100644
--- a/config/busybox/procps/Config.in
+++ b/config/busybox/procps/Config.in
@@ -6,6 +6,26 @@
 
 menu "Process Utilities"
 
+config BUSYBOX_IOSTAT
+       bool "iostat"
+       default y
+       help
+         Report CPU and I/O statistics
+config BUSYBOX_MPSTAT
+       bool "mpstat"
+       default y
+       help
+         Per-processor statistics
+config BUSYBOX_PMAP
+       bool "pmap"
+       default y
+       help
+         Display processes' memory mappings.
+config BUSYBOX_POWERTOP
+       bool "powertop"
+       default y
+       help
+         Analyze power consumption on Intel-based laptops
 config BUSYBOX_SMEMCAP
        bool "smemcap"
        default y
@@ -16,6 +36,7 @@ config BUSYBOX_SMEMCAP
 config BUSYBOX_FREE
        bool "free"
        default y
+       depends on BUSYBOX_PLATFORM_LINUX #sysinfo()
        help
          free displays the total amount of free and used physical and swap
          memory in the system, as well as the buffers used by the kernel.
@@ -110,7 +131,7 @@ config BUSYBOX_FEATURE_PS_WIDE
 config BUSYBOX_FEATURE_PS_TIME
        bool "Enable time and elapsed time output"
        default y
-       depends on BUSYBOX_PS && BUSYBOX_DESKTOP
+       depends on BUSYBOX_PS && BUSYBOX_DESKTOP && BUSYBOX_PLATFORM_LINUX 
#sysinfo()
        help
          Support -o time and -o etime output specifiers.
 
@@ -206,6 +227,7 @@ config BUSYBOX_FEATURE_SHOW_THREADS
 config BUSYBOX_UPTIME
        bool "uptime"
        default y
+       depends on BUSYBOX_PLATFORM_LINUX #sysinfo()
        help
          uptime gives a one line display of the current time, how long
          the system has been running, how many users are currently logged
diff --git a/config/busybox/shell/Config.in b/config/busybox/shell/Config.in
index 1b87962..ba6a766 100644
--- a/config/busybox/shell/Config.in
+++ b/config/busybox/shell/Config.in
@@ -6,8 +6,6 @@
 
 menu "Shells"
 
-
-
 config BUSYBOX_ASH
        bool "ash"
        default y
@@ -111,19 +109,55 @@ config BUSYBOX_ASH_EXPAND_PRMT
          This option recreates the prompt string from the environment
          variable each time it is displayed.
 
+config BUSYBOX_CTTYHACK
+       bool "cttyhack"
+       default y
+       help
+         One common problem reported on the mailing list is "can't access tty;
+         job control turned off" error message which typically appears when
+         one tries to use shell with stdin/stdout opened to /dev/console.
+         This device is special - it cannot be a controlling tty.
+
+         Proper solution is to use correct device instead of /dev/console.
+
+         cttyhack provides "quick and dirty" solution to this problem.
+         It analyzes stdin with various ioctls, trying to determine whether
+         it is a /dev/ttyN or /dev/ttySN (virtual terminal or serial line).
+         If it detects one, it closes stdin/out/err and reopens that device.
+         Then it executes given program. Opening the device will make
+         that device a controlling tty. This may require cttyhack
+         to be a session leader.
+
+         Example for /etc/inittab (for busybox init):
+
+         ::respawn:/bin/cttyhack /bin/sh
+
+         Starting an interactive shell from boot shell script:
+
+         setsid cttyhack sh
+
+         Giving controlling tty to shell running with PID 1:
+
+         # exec cttyhack sh
+
+         Without cttyhack, you need to know exact tty name,
+         and do something like this:
+
+         # exec setsid sh -c 'exec sh </dev/tty1 >/dev/tty1 2>&1'
+
 config BUSYBOX_HUSH
        bool "hush"
        default y
        help
-         hush is a small shell (22k). It handles the normal flow control
+         hush is a small shell (25k). It handles the normal flow control
          constructs such as if/then/elif/else/fi, for/in/do/done, while loops,
          case/esac. Redirections, here documents, $((arithmetic))
          and functions are supported.
 
          It will compile and work on no-mmu systems.
 
-         It does not handle select, aliases, brace expansion,
-         tilde expansion, &>file and >&file redirection of stdout+stderr.
+         It does not handle select, aliases, tilde expansion,
+         &>file and >&file redirection of stdout+stderr.
 
 config BUSYBOX_HUSH_BASH_COMPAT
        bool "bash-compatible extensions"
@@ -132,6 +166,13 @@ config BUSYBOX_HUSH_BASH_COMPAT
        help
          Enable bash-compatible extensions.
 
+config BUSYBOX_HUSH_BRACE_EXPANSION
+       bool "Brace expansion"
+       default y
+       depends on BUSYBOX_HUSH_BASH_COMPAT
+       help
+         Enable {abc,def} extension.
+
 config BUSYBOX_HUSH_HELP
        bool "help builtin"
        default y
@@ -149,6 +190,13 @@ config BUSYBOX_HUSH_INTERACTIVE
          from stdin just like a shell script from a file.
          No prompt, no PS1/PS2 magic shell variables.
 
+config BUSYBOX_HUSH_SAVEHISTORY
+       bool "Save command history to .hush_history"
+       default y
+       depends on BUSYBOX_HUSH_INTERACTIVE && 
BUSYBOX_FEATURE_EDITING_SAVEHISTORY
+       help
+         Enable history saving in hush.
+
 config BUSYBOX_HUSH_JOB
        bool "Job control"
        default y
@@ -202,20 +250,35 @@ config BUSYBOX_HUSH_LOCAL
        help
          Enable support for local variables in functions.
 
+config BUSYBOX_HUSH_RANDOM_SUPPORT
+       bool "Pseudorandom generator and $RANDOM variable"
+       default y
+       depends on BUSYBOX_HUSH
+       help
+         Enable pseudorandom generator and dynamic variable "$RANDOM".
+         Each read of "$RANDOM" will generate a new pseudorandom value.
+
 config BUSYBOX_HUSH_EXPORT_N
-       bool "Support export '-n' option"
+       bool "Support 'export -n' option"
        default y
        depends on BUSYBOX_HUSH
        help
-         Enable support for export '-n' option in hush. It is a bash extension.
+         export -n unexports variables. It is a bash extension.
 
-config BUSYBOX_HUSH_RANDOM_SUPPORT
-       bool "Pseudorandom generator and $RANDOM variable"
+config BUSYBOX_HUSH_MODE_X
+       bool "Support 'hush -x' option and 'set -x' command"
        default y
        depends on BUSYBOX_HUSH
        help
-         Enable pseudorandom generator and dynamic variable "$RANDOM".
-         Each read of "$RANDOM" will generate a new pseudorandom value.
+         This instructs hush to print commands before execution.
+         Adds ~300 bytes.
+
+config BUSYBOX_MSH
+       bool "msh (deprecated: aliased to hush)"
+       default n
+       select BUSYBOX_HUSH
+       help
+         msh is deprecated and will be removed, please migrate to hush.
 
 
 choice
@@ -272,29 +335,6 @@ config BUSYBOX_FEATURE_BASH_IS_NONE
 endchoice
 
 
-config BUSYBOX_LASH
-       bool "lash (deprecated: aliased to hush)"
-       default n
-       select BUSYBOX_HUSH
-       help
-         lash is deprecated and will be removed, please migrate to hush.
-
-config BUSYBOX_MSH
-       bool "msh (deprecated: please use hush)"
-       default n
-       select BUSYBOX_HUSH
-       help
-         msh is deprecated and will be removed, please migrate to hush.
-         If there is a feature msh has but hush does not, please let us know.
-
-#        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
-#        shell to do. It is not always pedantically correct about Bourne
-#        shell grammar (try running the shell testscript "tests/sh.testcases"
-#        on it and compare vs bash) but for most things it works quite well.
-#        It uses only vfork, so it can be used on uClinux systems.
-
-
 config BUSYBOX_SH_MATH_SUPPORT
        bool "POSIX math support"
        default y
@@ -368,35 +408,4 @@ config BUSYBOX_FEATURE_SH_NOFORK
 
          This feature is relatively new. Use with care.
 
-config BUSYBOX_CTTYHACK
-       bool "cttyhack"
-       default y
-       help
-         One common problem reported on the mailing list is "can't access tty;
-         job control turned off" error message which typically appears when
-         one tries to use shell with stdin/stdout opened to /dev/console.
-         This device is special - it cannot be a controlling tty.
-
-         Proper solution is to use correct device instead of /dev/console.
-
-         cttyhack provides "quick and dirty" solution to this problem.
-         It analyzes stdin with various ioctls, trying to determine whether
-         it is a /dev/ttyN or /dev/ttySN (virtual terminal or serial line).
-         If it detects one, it closes stdin/out/err and reopens that device.
-         Then it executes given program. Opening the device will make
-         that device a controlling tty. This may require cttyhack
-         to be a session leader.
-
-         Example for /etc/inittab (for busybox init):
-
-         ::respawn:/bin/cttyhack /bin/sh
-
-         Giving controlling tty to shell running with PID 1:
-
-         $ exec cttyhack sh
-
-         Starting an interactive shell from boot shell script:
-
-         setsid cttyhack sh
-
 endmenu
diff --git a/config/busybox/sysklogd/Config.in 
b/config/busybox/sysklogd/Config.in
index 89334f5..4f5541d 100644
--- a/config/busybox/sysklogd/Config.in
+++ b/config/busybox/sysklogd/Config.in
@@ -117,6 +117,22 @@ config BUSYBOX_KLOGD
          you wish to record the messages produced by the kernel,
          you should enable this option.
 
+config BUSYBOX_FEATURE_KLOGD_KLOGCTL
+       bool "Use the klogctl() interface"
+       default y
+       depends on BUSYBOX_KLOGD && BUSYBOX_PLATFORM_LINUX
+       help
+         The klogd applet supports two interfaces for reading
+         kernel messages. Linux provides the klogctl() interface
+         which allows reading messages from the kernel ring buffer
+         independently from the file system.
+
+         If you answer 'N' here, klogd will use the more portable
+         approach of reading them from /proc or a device node.
+         However, this method requires the file to be available.
+
+         If in doubt, say 'Y'.
+
 config BUSYBOX_LOGGER
        bool "logger"
        default y
diff --git a/config/busybox/util-linux/Config.in 
b/config/busybox/util-linux/Config.in
index 990b18f..99dbca5 100644
--- a/config/busybox/util-linux/Config.in
+++ b/config/busybox/util-linux/Config.in
@@ -6,6 +6,11 @@
 
 menu "Linux System Utilities"
 
+config BUSYBOX_BLOCKDEV
+       bool "blockdev"
+       default y
+       help
+         Performs some ioctls with block devices.
 config BUSYBOX_REV
        bool "rev"
        default y
@@ -15,6 +20,7 @@ config BUSYBOX_REV
 config BUSYBOX_ACPID
        bool "acpid"
        default y
+       depends on BUSYBOX_PLATFORM_LINUX
        help
          acpid listens to ACPI events coming either in textual form from
          /proc/acpi/event (though it is marked deprecated it is still widely
@@ -37,6 +43,7 @@ config BUSYBOX_FEATURE_ACPID_COMPAT
 config BUSYBOX_BLKID
        bool "blkid"
        default y
+       depends on BUSYBOX_PLATFORM_LINUX
        select BUSYBOX_VOLUMEID
        help
          Lists labels and UUIDs of all filesystems.
@@ -46,6 +53,7 @@ config BUSYBOX_BLKID
 config BUSYBOX_DMESG
        bool "dmesg"
        default y
+       depends on BUSYBOX_PLATFORM_LINUX
        help
          dmesg is used to examine or control the kernel ring buffer. When the
          Linux kernel prints messages to the system log, they are stored in
@@ -79,6 +87,7 @@ config BUSYBOX_FEATURE_DMESG_PRETTY
 config BUSYBOX_FBSET
        bool "fbset"
        default y
+       depends on BUSYBOX_PLATFORM_LINUX
        help
          fbset is used to show or change the settings of a Linux frame buffer
          device. The frame buffer device provides a simple and unique
@@ -107,6 +116,7 @@ config BUSYBOX_FEATURE_FBSET_READMODE
 config BUSYBOX_FDFLUSH
        bool "fdflush"
        default y
+       depends on BUSYBOX_PLATFORM_LINUX
        help
          fdflush is only needed when changing media on slightly-broken
          removable media drives. It is used to make Linux believe that a
@@ -119,12 +129,14 @@ config BUSYBOX_FDFLUSH
 config BUSYBOX_FDFORMAT
        bool "fdformat"
        default y
+       depends on BUSYBOX_PLATFORM_LINUX
        help
          fdformat is used to low-level format a floppy disk.
 
 config BUSYBOX_FDISK
        bool "fdisk"
        default y
+       depends on BUSYBOX_PLATFORM_LINUX
        help
          The fdisk utility is used to divide hard disks into one or more
          logical disks, which are generally called partitions. This utility
@@ -179,6 +191,14 @@ config BUSYBOX_FEATURE_OSF_LABEL
          Enabling this option allows you to create or change BSD disklabels
          and define and edit BSD disk slices.
 
+config BUSYBOX_FEATURE_GPT_LABEL
+       bool "Support GPT disklabels"
+       default n
+       depends on BUSYBOX_FDISK && BUSYBOX_FEATURE_FDISK_WRITABLE
+       help
+         Enabling this option allows you to view GUID Partition Table
+         disklabels.
+
 config BUSYBOX_FEATURE_FDISK_ADVANCED
        bool "Support expert mode"
        default y
@@ -192,6 +212,7 @@ config BUSYBOX_FEATURE_FDISK_ADVANCED
 config BUSYBOX_FINDFS
        bool "findfs"
        default y
+       depends on BUSYBOX_PLATFORM_LINUX
        select BUSYBOX_VOLUMEID
        help
          Prints the name of a filesystem with given label or UUID.
@@ -207,6 +228,7 @@ config BUSYBOX_FLOCK
 config BUSYBOX_FREERAMDISK
        bool "freeramdisk"
        default y
+       depends on BUSYBOX_PLATFORM_LINUX
        help
          Linux allows you to create ramdisks. This utility allows you to
          delete them and completely free all memory that was used for the
@@ -229,12 +251,14 @@ config BUSYBOX_FSCK_MINIX
 config BUSYBOX_MKFS_EXT2
        bool "mkfs_ext2"
        default y
+       depends on BUSYBOX_PLATFORM_LINUX
        help
          Utility to create EXT2 filesystems.
 
 config BUSYBOX_MKFS_MINIX
        bool "mkfs_minix"
        default y
+       depends on BUSYBOX_PLATFORM_LINUX
        help
          The minix filesystem is a nice, small, compact, read-write filesystem
          with little overhead. If you wish to be able to create minix
@@ -252,6 +276,7 @@ config BUSYBOX_FEATURE_MINIX2
 config BUSYBOX_MKFS_REISER
        bool "mkfs_reiser"
        default n
+       depends on BUSYBOX_PLATFORM_LINUX
        help
          Utility to create ReiserFS filesystems.
          Note: this applet needs a lot of testing and polishing.
@@ -259,6 +284,7 @@ config BUSYBOX_MKFS_REISER
 config BUSYBOX_MKFS_VFAT
        bool "mkfs_vfat"
        default y
+       depends on BUSYBOX_PLATFORM_LINUX
        help
          Utility to create FAT32 filesystems.
 
@@ -307,6 +333,7 @@ config BUSYBOX_HD
 config BUSYBOX_HWCLOCK
        bool "hwclock"
        default y
+       depends on BUSYBOX_PLATFORM_LINUX
        help
          The hwclock utility is used to read and set the hardware clock
          on a system. This is primarily used to set the current time on
@@ -324,7 +351,7 @@ config BUSYBOX_FEATURE_HWCLOCK_LONG_OPTIONS
 
 config BUSYBOX_FEATURE_HWCLOCK_ADJTIME_FHS
        bool "Use FHS /var/lib/hwclock/adjtime"
-       default y
+       default n  # util-linux-ng in Fedora 13 still uses /etc/adjtime
        depends on BUSYBOX_HWCLOCK
        help
          Starting with FHS 2.3, the adjtime state file is supposed to exist
@@ -337,7 +364,6 @@ config BUSYBOX_FEATURE_HWCLOCK_ADJTIME_FHS
 config BUSYBOX_IPCRM
        bool "ipcrm"
        default y
-       select BUSYBOX_FEATURE_SUID
        help
          The ipcrm utility allows the removal of System V interprocess
          communication (IPC) objects and the associated data structures
@@ -346,7 +372,7 @@ config BUSYBOX_IPCRM
 config BUSYBOX_IPCS
        bool "ipcs"
        default y
-       select BUSYBOX_FEATURE_SUID
+       depends on BUSYBOX_PLATFORM_LINUX
        help
          The ipcs utility is used to provide information on the currently
          allocated System V interprocess (IPC) objects in the system.
@@ -354,6 +380,7 @@ config BUSYBOX_IPCS
 config BUSYBOX_LOSETUP
        bool "losetup"
        default y
+       depends on BUSYBOX_PLATFORM_LINUX
        help
          losetup is used to associate or detach a loop device with a regular
          file or block device, and to query the status of a loop device. This
@@ -362,6 +389,7 @@ config BUSYBOX_LOSETUP
 config BUSYBOX_LSPCI
        bool "lspci"
        default y
+       #depends on PLATFORM_LINUX
        help
          lspci is a utility for displaying information about PCI buses in the
          system and devices connected to them.
@@ -371,6 +399,7 @@ config BUSYBOX_LSPCI
 config BUSYBOX_LSUSB
        bool "lsusb"
        default y
+       #depends on PLATFORM_LINUX
        help
          lsusb is a utility for displaying information about USB buses in the
          system and devices connected to them.
@@ -380,6 +409,7 @@ config BUSYBOX_LSUSB
 config BUSYBOX_MDEV
        bool "mdev"
        default y
+       depends on BUSYBOX_PLATFORM_LINUX
        help
          mdev is a mini-udev implementation for dynamically creating device
          nodes in the /dev directory.
@@ -464,20 +494,10 @@ config BUSYBOX_MORE
          you will probably find this utility very helpful. If you don't have
          any need to reading text files, you can leave this disabled.
 
-config BUSYBOX_FEATURE_USE_TERMIOS
-       bool "Use termios to manipulate the screen"
-       default y
-       depends on BUSYBOX_MORE || BUSYBOX_TOP
-       help
-         This option allows utilities such as 'more' and 'top' to determine
-         the size of the screen. If you leave this disabled, your utilities
-         that display things on the screen will be especially primitive and
-         will be unable to determine the current screen size, and will be
-         unable to move the cursor.
-
 config BUSYBOX_MOUNT
        bool "mount"
        default y
+       depends on BUSYBOX_PLATFORM_LINUX
        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
@@ -560,6 +580,7 @@ config BUSYBOX_FEATURE_MOUNT_FSTAB
 config BUSYBOX_PIVOT_ROOT
        bool "pivot_root"
        default y
+       depends on BUSYBOX_PLATFORM_LINUX
        help
          The pivot_root utility swaps the mount points for the root filesystem
          with some other mounted filesystem. This allows you to do all sorts
@@ -587,12 +608,14 @@ config BUSYBOX_RDEV
 config BUSYBOX_READPROFILE
        bool "readprofile"
        default y
+       #depends on PLATFORM_LINUX
        help
          This allows you to parse /proc/profile for basic profiling.
 
 config BUSYBOX_RTCWAKE
        bool "rtcwake"
        default y
+       depends on BUSYBOX_PLATFORM_LINUX
        help
          Enter a system sleep state until specified wakeup time.
 
@@ -612,6 +635,7 @@ config BUSYBOX_SCRIPTREPLAY
 config BUSYBOX_SETARCH
        bool "setarch"
        default y
+       depends on BUSYBOX_PLATFORM_LINUX
        help
          The linux32 utility is used to create a 32bit environment for the
          specified program (usually a shell). It only makes sense to have
@@ -621,6 +645,7 @@ config BUSYBOX_SETARCH
 config BUSYBOX_SWAPONOFF
        bool "swaponoff"
        default y
+       depends on BUSYBOX_PLATFORM_LINUX
        help
          This option enables both the 'swapon' and the 'swapoff' utilities.
          Once you have created some swap space using 'mkswap', you also need
@@ -639,6 +664,7 @@ config BUSYBOX_FEATURE_SWAPON_PRI
 config BUSYBOX_SWITCH_ROOT
        bool "switch_root"
        default y
+       depends on BUSYBOX_PLATFORM_LINUX
        help
          The switch_root utility is used from initramfs to select a new
          root device. Under initramfs, you have to use this instead of
@@ -658,6 +684,7 @@ config BUSYBOX_SWITCH_ROOT
 config BUSYBOX_UMOUNT
        bool "umount"
        default y
+       depends on BUSYBOX_PLATFORM_LINUX
        help
          When you want to remove a mounted filesystem from its current mount
          point, for example when you are shutting down the system, the
diff --git 
a/patches/busybox-1.17.1/0003-build-system-make-3.82-fix.-Closes-bug-2323.patch 
b/patches/busybox-1.17.1/0003-build-system-make-3.82-fix.-Closes-bug-2323.patch
deleted file mode 100644
index ecd8653..0000000
--- 
a/patches/busybox-1.17.1/0003-build-system-make-3.82-fix.-Closes-bug-2323.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-From: Denys Vlasenko <vda.li...@googlemail.com>
-Date: Sun, 22 Aug 2010 07:28:46 +0000
-Subject: [PATCH] build system: make 3.82 fix. Closes bug 2323
-
-Signed-off-by: Denys Vlasenko <vda.li...@googlemail.com>
-Signed-off-by: Bernhard Walle <bernh...@bwalle.de>
----
- Makefile |   13 +++++++++++--
- 1 files changed, 11 insertions(+), 2 deletions(-)
-
-diff --git a/Makefile b/Makefile
-index 03e9885..a1e9cce 100644
---- a/Makefile
-+++ b/Makefile
-@@ -433,7 +433,12 @@ ifeq ($(config-targets),1)
- -include $(srctree)/arch/$(ARCH)/Makefile
- export KBUILD_DEFCONFIG
- 
--config %config: scripts_basic outputmakefile gen_build_files FORCE
-+config: scripts_basic outputmakefile gen_build_files FORCE
-+      $(Q)mkdir -p include
-+      $(Q)$(MAKE) $(build)=scripts/kconfig $@
-+      $(Q)$(MAKE) -C $(srctree) KBUILD_SRC= .kernelrelease
-+
-+%config: scripts_basic outputmakefile gen_build_files FORCE
-       $(Q)mkdir -p include
-       $(Q)$(MAKE) $(build)=scripts/kconfig $@
-       $(Q)$(MAKE) -C $(srctree) KBUILD_SRC= .kernelrelease
-@@ -1285,9 +1290,13 @@ endif
-       $(Q)$(MAKE) $(build)=$(build-dir) $(target-dir)$(notdir $@)
- 
- # Modules
--/ %/: prepare scripts FORCE
-+%/: prepare scripts FORCE
-       $(Q)$(MAKE) KBUILD_MODULES=$(if $(CONFIG_MODULES),1) \
-       $(build)=$(build-dir)
-+/: prepare scripts FORCE
-+      $(Q)$(MAKE) KBUILD_MODULES=$(if $(CONFIG_MODULES),1) \
-+      $(build)=$(build-dir)
-+
- %.ko: prepare scripts FORCE
-       $(Q)$(MAKE) KBUILD_MODULES=$(if $(CONFIG_MODULES),1)   \
-       $(build)=$(build-dir) $(@:.ko=.o)
--- 
-1.7.5.1
-
diff --git a/patches/busybox-1.17.1/0001-reactivate-check-for-tty.patch 
b/patches/busybox-1.18.5/0001-reactivate-check-for-tty.patch
similarity index 100%
rename from patches/busybox-1.17.1/0001-reactivate-check-for-tty.patch
rename to patches/busybox-1.18.5/0001-reactivate-check-for-tty.patch
diff --git 
a/patches/busybox-1.17.1/0002-make-constant-unsigned-to-avoid-integer-overflow.patch
 
b/patches/busybox-1.18.5/0002-make-constant-unsigned-to-avoid-integer-overflow.patch
similarity index 86%
rename from 
patches/busybox-1.17.1/0002-make-constant-unsigned-to-avoid-integer-overflow.patch
rename to 
patches/busybox-1.18.5/0002-make-constant-unsigned-to-avoid-integer-overflow.patch
index 3a2c88d..db35547 100644
--- 
a/patches/busybox-1.17.1/0002-make-constant-unsigned-to-avoid-integer-overflow.patch
+++ 
b/patches/busybox-1.18.5/0002-make-constant-unsigned-to-avoid-integer-overflow.patch
@@ -7,10 +7,10 @@ Signed-off-by: Michael Olbrich <m.olbr...@pengutronix.de>
  include/unarchive.h |    2 +-
  1 files changed, 1 insertions(+), 1 deletions(-)
 
-diff --git a/include/unarchive.h b/include/unarchive.h
+diff --git a/include/archive.h b/include/archive.h
 index b55af6d..4ec4b08 100644
---- a/include/unarchive.h
-+++ b/include/unarchive.h
+--- a/include/archive.h
++++ b/include/archive.h
 @@ -14,7 +14,7 @@ enum {
        XZ_MAGIC1   = 0xfd * 256 + '7',
        XZ_MAGIC2   = (('z' * 256 + 'X') * 256 + 'Z') * 256 + 0,
diff --git a/patches/busybox-1.17.1/series b/patches/busybox-1.18.5/series
similarity index 77%
rename from patches/busybox-1.17.1/series
rename to patches/busybox-1.18.5/series
index 559fd11..c6543ea 100644
--- a/patches/busybox-1.17.1/series
+++ b/patches/busybox-1.18.5/series
@@ -1,5 +1,4 @@
 # generated by git-ptx-patches
 0001-reactivate-check-for-tty.patch
 0002-make-constant-unsigned-to-avoid-integer-overflow.patch
-0003-build-system-make-3.82-fix.-Closes-bug-2323.patch
 # e028d583e9f6b6fec5ad3deb8a550489  - git-ptx-patches magic
diff --git a/rules/busybox.make b/rules/busybox.make
index 1bf7a68..5e7e18b 100644
--- a/rules/busybox.make
+++ b/rules/busybox.make
@@ -16,8 +16,8 @@ PACKAGES-$(PTXCONF_BUSYBOX) += busybox
 #
 # Paths and names
 #
-BUSYBOX_VERSION        := 1.17.1
-BUSYBOX_MD5    := c7fe7533b7fc4018b0b49a05ee0ee601
+BUSYBOX_VERSION        := 1.18.5
+BUSYBOX_MD5    := 96dd43cc7cee4017a6bf31b7da82a1f5
 BUSYBOX                := busybox-$(BUSYBOX_VERSION)
 BUSYBOX_SUFFIX := tar.bz2
 BUSYBOX_URL    := http://www.busybox.net/downloads/$(BUSYBOX).$(BUSYBOX_SUFFIX)
-- 
1.5.3.8


-- 
ptxdist mailing list
ptxdist@pengutronix.de

Reply via email to