summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPhil Sutter <phil.sutter@viprinet.com>2011-04-12 18:31:20 +0200
committerWaldemar Brodkorb <wbx@openadk.org>2011-04-12 20:02:31 +0200
commit36e2dea8b335502fbbd367d7d09018bc58769a0e (patch)
tree7620659d77fca6f8572a54d48398d939cff7b3b0
parent933e74c07231e815bbfd9ed90073308eaf253a00 (diff)
package/busybox: minor update, some fixes and comments
- update to 1.18.4 - introduce BB_MAKE_FLAGS, simplifying package/busybox/Makefile a bit - document how the package/busybox/config may be updated - document what needs to be done so one may drop 003-defaults.patch - update package/busybox/config, a few busybox features were not selectable
-rw-r--r--package/busybox/Makefile60
-rw-r--r--package/busybox/config/Config.in140
-rw-r--r--package/busybox/config/archival/Config.in37
-rw-r--r--package/busybox/config/console-tools/Config.in30
-rw-r--r--package/busybox/config/coreutils/Config.in24
-rw-r--r--package/busybox/config/editors/Config.in12
-rw-r--r--package/busybox/config/init/Config.in12
-rw-r--r--package/busybox/config/libbb/Config.in1
-rw-r--r--package/busybox/config/loginutils/Config.in12
-rw-r--r--package/busybox/config/miscutils/Config.in97
-rw-r--r--package/busybox/config/modutils/Config.in7
-rw-r--r--package/busybox/config/networking/Config.in75
-rw-r--r--package/busybox/config/networking/udhcp/Config.in5
-rw-r--r--package/busybox/config/procps/Config.in51
-rw-r--r--package/busybox/config/runit/Config.in4
-rw-r--r--package/busybox/config/shell/Config.in108
-rw-r--r--package/busybox/config/sysklogd/Config.in26
-rw-r--r--package/busybox/config/util-linux/Config.in75
-rw-r--r--package/busybox/patches/003-defaults.patch154
19 files changed, 772 insertions, 158 deletions
diff --git a/package/busybox/Makefile b/package/busybox/Makefile
index 9d85302d0..71c8c0e99 100644
--- a/package/busybox/Makefile
+++ b/package/busybox/Makefile
@@ -4,9 +4,9 @@
include $(TOPDIR)/rules.mk
PKG_NAME:= busybox
-PKG_VERSION:= 1.18.1
-PKG_RELEASE:= 4
-PKG_MD5SUM:= f15fe752d8b7012aa5e59f83b88ccb1c
+PKG_VERSION:= 1.18.4
+PKG_RELEASE:= 1
+PKG_MD5SUM:= b03c5b46ced732679e525a920a1a62f5
PKG_DESCR:= Core utilities for embedded systems
PKG_SECTION:= base
PKG_URL:= http://www.busybox.net/
@@ -23,47 +23,43 @@ include $(TOPDIR)/mk/package.mk
$(eval $(call PKG_template,BUSYBOX,${PKG_NAME},${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
$(eval $(call PKG_template,UDHCPD,udhcpd,${PKG_VERSION}-${PKG_RELEASE},busybox,${PKGSD_UDHCPD},${PKGSC_UDHCPD}))
+# This is how to extract the Config.in files from a _built_ busybox source tree:
+#|for c in $(find build_viprinux_arm_glibc/w-busybox-1.18.1-4/busybox-1.18.1/ -name Config.in); do
+#| c=$(sed s,build_viprinux_arm_glibc/w-busybox-1.18.1-4/busybox-1.18.1/,, <<< $c)
+#| mkdir -p package/busybox/config_new/$(dirname $c)
+#| cp build_viprinux_arm_glibc/w-busybox-1.18.1-4/busybox-1.18.1/$c package/busybox/config_new/$c
+#|done
+
CONFIG_STYLE:= manual
BUILD_STYLE:= manual
INSTALL_STYLE:= manual
+BB_MAKE_FLAGS:= V=1 IPKG_ARCH="${CPU_ARCH}" ARCH="${ARCH}" \
+ HOSTCC="${CC_FOR_BUILD}" HOSTCFLAGS="$(CFLAGS_FOR_BUILD)" \
+ -C ${WRKBUILD}
+ifneq (${ADK_NATIVE},y)
+BB_MAKE_FLAGS+= EXTRA_CFLAGS="${TARGET_CFLAGS}" CROSS_COMPILE="$(TARGET_CROSS)"
+endif
+
+# XXX: Although this looks like all new symbols are enabled when 'make oldconfig' runs, they're not.
+# In fact, you can pipe "yes ''" as well as "yes n", each time leading to the default value being
+# chosen for each unknown symbol.
+# A real solution for that task (disabling everything that's unknown, as we know better) is to
+# upgrade ${TOPDIR}/config so it understands the oldnoconfig target, and using that to update
+# the busybox config before compiling.
+# The workaround for now is to patch all busybox symbols to default n inside the busybox source
+# which do depend on non-existance of other packages outside the busybox source.
do-configure:
grep BUSYBOX_ $(TOPDIR)/.config|sed -e 's/BUSYBOX_/CONFIG_/' > \
${WRKBUILD}/.config
$(SED) 's;@IDIR@;${WRKINST};' ${WRKBUILD}/.config
-ifeq ($(ADK_NATIVE),y)
- yes '' | \
- $(MAKE) V=1 \
- IPKG_ARCH="$(CPU_ARCH)" \
- ARCH="$(ARCH)" HOSTCC="$(CC_FOR_BUILD)" HOSTCFLAGS="$(CFLAGS_FOR_BUILD)" -C $(WRKBUILD) oldconfig $(MAKE_TRACE)
-else
- yes '' | \
- $(MAKE) V=1 CROSS_COMPILE="$(TARGET_CROSS)" \
- EXTRA_CFLAGS="$(TARGET_CFLAGS)" IPKG_ARCH="$(CPU_ARCH)" \
- ARCH="$(ARCH)" HOSTCC="$(CC_FOR_BUILD)" HOSTCFLAGS="$(CFLAGS_FOR_BUILD)" -C $(WRKBUILD) oldconfig $(MAKE_TRACE)
-endif
+ yes '' | $(MAKE) ${BB_MAKE_FLAGS} oldconfig $(MAKE_TRACE)
do-build:
-ifeq ($(ADK_NATIVE),y)
- $(MAKE) V=1 \
- IPKG_ARCH="$(CPU_ARCH)" ARCH="$(ARCH)" HOSTCC="$(CC_FOR_BUILD)" HOSTCFLAGS="$(CFLAGS_FOR_BUILD)" \
- -C $(WRKBUILD) busybox
-else
- $(MAKE) V=1 CROSS_COMPILE="$(TARGET_CROSS)" \
- IPKG_ARCH="$(CPU_ARCH)" ARCH="$(ARCH)" HOSTCC="$(CC_FOR_BUILD)" HOSTCFLAGS="$(CFLAGS_FOR_BUILD)" \
- -C $(WRKBUILD) busybox
-endif
+ $(MAKE) ${BB_MAKE_FLAGS} busybox
do-install:
-ifeq ($(ADK_NATIVE),y)
- $(MAKE) V=1 \
- IPKG_ARCH="$(CPU_ARCH)" ARCH="$(ARCH)" HOSTCC="$(CC_FOR_BUILD)" HOSTCFLAGS="$(CFLAGS_FOR_BUILD)" \
- -C $(WRKBUILD) install $(MAKE_TRACE)
-else
- $(MAKE) V=1 CROSS_COMPILE="$(TARGET_CROSS)" \
- IPKG_ARCH="$(CPU_ARCH)" ARCH="$(ARCH)" HOSTCC="$(CC_FOR_BUILD)" HOSTCFLAGS="$(CFLAGS_FOR_BUILD)" \
- -C $(WRKBUILD) install $(MAKE_TRACE)
-endif
+ $(MAKE) ${BB_MAKE_FLAGS} install $(MAKE_TRACE)
$(CP) $(WRKINST)/* $(IDIR_BUSYBOX)/
ifeq ($(ADK_DEBUG),y)
${INSTALL_BIN} $(WRKBUILD)/busybox_unstripped \
diff --git a/package/busybox/config/Config.in b/package/busybox/config/Config.in
index bf0d9d8c0..5a0e5a285 100644
--- a/package/busybox/config/Config.in
+++ b/package/busybox/config/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 FEATURE_BUFFERS_USE_MALLOC
@@ -131,6 +142,15 @@ config BUSYBOX_UNICODE_SUPPORT
Probably by the time when busybox will be fully Unicode-clean,
other encodings will be mainly of historic interest.
+config BUSYBOX_UNICODE_USING_LOCALE
+ bool "Use libc routines for Unicode (else uses internal ones)"
+ default n
+ depends on BUSYBOX_UNICODE_SUPPORT && BUSYBOX_LOCALE_SUPPORT
+ help
+ With this option on, Unicode support is implemented using libc
+ routines. Otherwise, internal implementation is used.
+ Internal implementation is smaller.
+
config BUSYBOX_FEATURE_CHECK_UNICODE_IN_ENV
bool "Check $LANG environment variable"
default y
@@ -141,6 +161,91 @@ config BUSYBOX_FEATURE_CHECK_UNICODE_IN_ENV
Otherwise, Unicode support will be always enabled and active.
+config BUSYBOX_SUBST_WCHAR
+ int "Character code to substitute unprintable characters with"
+ depends on BUSYBOX_UNICODE_SUPPORT
+ default 63
+ help
+ Typical values are 63 for '?' (works with any output device),
+ 30 for ASCII substitute control code,
+ 65533 (0xfffd) for Unicode replacement character.
+
+config BUSYBOX_LAST_SUPPORTED_WCHAR
+ int "Range of supported Unicode characters"
+ depends on BUSYBOX_UNICODE_SUPPORT
+ default 767
+ help
+ Any character with Unicode value bigger than this is assumed
+ to be non-printable on output device. Many applets replace
+ such chars with substitution character.
+
+ The idea is that many valid printable Unicode chars are
+ nevertheless are not displayed correctly. Think about
+ combining charachers, double-wide hieroglyphs, obscure
+ characters in dozens of ancient scripts...
+ Many terminals, terminal emulators, xterms etc will fail
+ to handle them correctly. Choose the smallest value
+ which suits your needs.
+
+ Typical values are:
+ 126 - ASCII only
+ 767 (0x2ff) - there are no combining chars in [0..767] range
+ (the range includes Latin 1, Latin Ext. A and B),
+ code is ~700 bytes smaller for this case.
+ 4351 (0x10ff) - there are no double-wide chars in [0..4351] range,
+ code is ~300 bytes smaller for this case.
+ 12799 (0x31ff) - nearly all non-ideographic characters are
+ available in [0..12799] range, including
+ East Asian scripts like katakana, hiragana, hangul,
+ bopomofo...
+ 0 - off, any valid printable Unicode character will be printed.
+
+config BUSYBOX_UNICODE_COMBINING_WCHARS
+ bool "Allow zero-width Unicode characters on output"
+ default n
+ depends on BUSYBOX_UNICODE_SUPPORT
+ help
+ With this option off, any Unicode char with width of 0
+ is substituted on output.
+
+config BUSYBOX_UNICODE_WIDE_WCHARS
+ bool "Allow wide Unicode characters on output"
+ default n
+ depends on BUSYBOX_UNICODE_SUPPORT
+ help
+ With this option off, any Unicode char with width > 1
+ is substituted on output.
+
+config BUSYBOX_UNICODE_BIDI_SUPPORT
+ bool "Bidirectional character-aware line input"
+ default n
+ depends on BUSYBOX_UNICODE_SUPPORT && !BUSYBOX_UNICODE_USING_LOCALE
+ help
+ With this option on, right-to-left Unicode characters
+ are treated differently on input (e.g. cursor movement).
+
+config BUSYBOX_UNICODE_NEUTRAL_TABLE
+ bool "In bidi input, support non-ASCII neutral chars too"
+ default n
+ depends on BUSYBOX_UNICODE_BIDI_SUPPORT
+ help
+ In most cases it's enough to treat only ASCII non-letters
+ (i.e. punctuation, numbers and space) as characters
+ with neutral directionality.
+ With this option on, more extensive (and bigger) table
+ of neutral chars will be used.
+
+config BUSYBOX_UNICODE_PRESERVE_BROKEN
+ bool "Make it possible to enter sequences of chars which are not Unicode"
+ default n
+ depends on BUSYBOX_UNICODE_SUPPORT
+ help
+ With this option on, invalid UTF-8 bytes are not substituted
+ with the selected substitution character.
+ For example, this means that entering 'l', 's', ' ', 0xff, [Enter]
+ at shell prompt will list file named 0xff (single char name
+ with char value 255), not file named '?'.
+
config BUSYBOX_LONG_OPTS
bool "Support for --long-options"
default y
@@ -182,21 +287,26 @@ config BUSYBOX_FEATURE_SUID
default n
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.
config BUSYBOX_FEATURE_SUID_CONFIG
bool "Runtime SUID/SGID configuration via /etc/busybox.conf"
- default n if FEATURE_SUID
+ default n if BUSYBOX_FEATURE_SUID
depends on BUSYBOX_FEATURE_SUID
help
Allow the SUID / SGID state of an applet to be determined at runtime
@@ -239,6 +349,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.
@@ -525,20 +636,22 @@ endchoice
endmenu
-menu 'Installation Options'
+menu 'Installation Options ("make install" behavior)'
config BUSYBOX_INSTALL_NO_USR
bool "Don't use /usr"
default n
+ depends on BUSYBOX_FEATURE_INSTALLER
help
- Disable use of /usr. Don't activate this option if you don't know
- that you really want this behaviour.
+ Disable use of /usr. busybox --install and "make install"
+ will install applets only to /bin and /sbin,
+ never to /usr/bin or /usr/sbin.
choice
- prompt "Applets links"
- default INSTALL_APPLET_SYMLINKS
+ 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"
@@ -562,8 +675,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
diff --git a/package/busybox/config/archival/Config.in b/package/busybox/config/archival/Config.in
index 4bfba12c3..edeec98db 100644
--- a/package/busybox/config/archival/Config.in
+++ b/package/busybox/config/archival/Config.in
@@ -5,6 +5,12 @@
menu "Archival Utilities"
+config BUSYBOX_FEATURE_SEAMLESS_XZ
+ bool "Make tar, rpm, modprobe etc understand .xz data"
+ default y
+ help
+ Make tar, rpm, modprobe etc understand .xz data.
+
config BUSYBOX_FEATURE_SEAMLESS_LZMA
bool "Make tar, rpm, modprobe etc understand .lzma data"
default y
@@ -31,7 +37,7 @@ config BUSYBOX_FEATURE_SEAMLESS_Z
config BUSYBOX_AR
bool "ar"
- default n
+ default y
depends on !ADK_PACKAGE_BINUTILS
help
ar is an archival utility program used to create, modify, and
@@ -73,7 +79,7 @@ config BUSYBOX_FEATURE_AR_CREATE
config BUSYBOX_BUNZIP2
bool "bunzip2"
depends on !ADK_PACKAGE_BZIP2
- default n
+ default y
help
bunzip2 is a compression utility using the Burrows-Wheeler block
sorting text compression algorithm, and Huffman coding. Compression
@@ -87,7 +93,7 @@ config BUSYBOX_BUNZIP2
config BUSYBOX_BZIP2
bool "bzip2"
depends on !ADK_PACKAGE_BZIP2
- default n
+ default y
help
bzip2 is a compression utility using the Burrows-Wheeler block
sorting text compression algorithm, and Huffman coding. Compression
@@ -101,7 +107,7 @@ config BUSYBOX_BZIP2
config BUSYBOX_CPIO
bool "cpio"
depends on !ADK_PACKAGE_CPIO
- default n
+ default y
help
cpio is an archival utility program used to create, modify, and
extract contents from archives.
@@ -228,7 +234,7 @@ config BUSYBOX_TAR
create compressed archives. It's probably the most widely used
UNIX archive program.
-if TAR
+if BUSYBOX_TAR
config BUSYBOX_FEATURE_TAR_CREATE
bool "Enable archive creation"
@@ -288,6 +294,15 @@ config BUSYBOX_FEATURE_TAR_LONG_OPTIONS
help
Enable use of long options, increases size by about 400 Bytes
+config BUSYBOX_FEATURE_TAR_TO_COMMAND
+ bool "Support for writing to an external program"
+ default y
+ depends on BUSYBOX_TAR && BUSYBOX_FEATURE_TAR_LONG_OPTIONS
+ help
+ If you enable this option you'll be able to instruct tar to send
+ the contents of each extracted file to the standard input of an
+ external program.
+
config BUSYBOX_FEATURE_TAR_UNAME_GNAME
bool "Enable use of user and group names"
default y
@@ -305,6 +320,14 @@ config BUSYBOX_FEATURE_TAR_NOPRESERVE_TIME
With this option busybox supports GNU tar -m
(do not preserve time) option.
+config BUSYBOX_FEATURE_TAR_SELINUX
+ bool "Support for extracting SELinux labels"
+ default n
+ depends on BUSYBOX_TAR && BUSYBOX_SELINUX
+ help
+ With this option busybox supports restoring SELinux labels
+ when extracting files from tar archives.
+
endif #tar
config BUSYBOX_UNCOMPRESS
@@ -317,7 +340,7 @@ config BUSYBOX_UNCOMPRESS
config BUSYBOX_UNLZMA
bool "unlzma"
depends on !ADK_PACKAGE_XZ
- default n
+ default y
help
unlzma is a compression utility using the Lempel-Ziv-Markov chain
compression algorithm, and range coding. Compression
@@ -349,7 +372,7 @@ config BUSYBOX_LZMA
config BUSYBOX_UNXZ
bool "unxz"
depends on !ADK_PACKAGE_XZ
- default n
+ default y
help
unxz is a unlzma successor.
diff --git a/package/busybox/config/console-tools/Config.in b/package/busybox/config/console-tools/Config.in
index 4a86ff740..03d277111 100644
--- a/package/busybox/config/console-tools/Config.in
+++ b/package/busybox/config/console-tools/Config.in
@@ -8,6 +8,7 @@ menu "Console Utilities"
config BUSYBOX_CHVT
bool "chvt"
default n
+ depends on BUSYBOX_PLATFORM_LINUX
help
This program is used to change to another terminal.
Example: chvt 4 (change to terminal /dev/tty4)
@@ -15,6 +16,7 @@ config BUSYBOX_CHVT
config BUSYBOX_FGCONSOLE
bool "fgconsole"
default n
+ depends on BUSYBOX_PLATFORM_LINUX
help
This program prints active (foreground) console number.
@@ -27,12 +29,14 @@ config BUSYBOX_CLEAR
config BUSYBOX_DEALLOCVT
bool "deallocvt"
default n
+ depends on BUSYBOX_PLATFORM_LINUX
help
This program deallocates unused virtual consoles.
config BUSYBOX_DUMPKMAP
bool "dumpkmap"
default n
+ 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.
@@ -41,12 +45,14 @@ config BUSYBOX_KBD_MODE
bool "kbd_mode"
default y if ADK_TARGET_WITH_INPUT
default n
+ depends on BUSYBOX_PLATFORM_LINUX
help
This program reports and sets keyboard mode.
config BUSYBOX_LOADFONT
bool "loadfont"
default n
+ depends on BUSYBOX_PLATFORM_LINUX
help
This program loads a console font from standard input.
@@ -54,6 +60,7 @@ config BUSYBOX_LOADKMAP
bool "loadkmap"
default y if ADK_TARGET_WITH_INPUT
default n
+ depends on BUSYBOX_PLATFORM_LINUX
help
This program loads a keyboard translation table from
standard input.
@@ -61,6 +68,7 @@ config BUSYBOX_LOADKMAP
config BUSYBOX_OPENVT
bool "openvt"
default n
+ depends on BUSYBOX_PLATFORM_LINUX
help
This program is used to start a command on an unused
virtual terminal.
@@ -92,6 +100,7 @@ config BUSYBOX_FEATURE_RESIZE_PRINT
config BUSYBOX_SETCONSOLE
bool "setconsole"
default n
+ depends on BUSYBOX_PLATFORM_LINUX
help
This program redirects the system console to another device,
like the current tty while logged in via telnet.
@@ -106,6 +115,7 @@ config BUSYBOX_FEATURE_SETCONSOLE_LONG_OPTIONS
config BUSYBOX_SETFONT
bool "setfont"
default n
+ depends on BUSYBOX_PLATFORM_LINUX
help
Allows to load console screen map. Useful for i18n.
@@ -127,6 +137,7 @@ config BUSYBOX_DEFAULT_SETFONT_DIR
config BUSYBOX_SETKEYCODES
bool "setkeycodes"
default n
+ 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.
@@ -134,13 +145,32 @@ config BUSYBOX_SETKEYCODES
config BUSYBOX_SETLOGCONS
bool "setlogcons"
default n
+ depends on BUSYBOX_PLATFORM_LINUX
help
This program redirects the output console of kernel messages.
config BUSYBOX_SHOWKEY
bool "showkey"
default n
+ depends on BUSYBOX_PLATFORM_LINUX
help
Shows keys pressed.
+comment "Common options for loadfont and setfont"
+ depends on BUSYBOX_LOADFONT || BUSYBOX_SETFONT
+
+config BUSYBOX_FEATURE_LOADFONT_PSF2
+ bool "Support for PSF2 console fonts"
+ default y
+ depends on BUSYBOX_LOADFONT || BUSYBOX_SETFONT
+ help
+ Support PSF2 console fonts.
+
+config BUSYBOX_FEATURE_LOADFONT_RAW
+ bool "Support for old (raw) console fonts"
+ default y
+ depends on BUSYBOX_LOADFONT || BUSYBOX_SETFONT
+ help
+ Support old (raw) console fonts.
+
endmenu
diff --git a/package/busybox/config/coreutils/Config.in b/package/busybox/config/coreutils/Config.in
index 069eab70d..9c55d74aa 100644
--- a/package/busybox/config/coreutils/Config.in
+++ b/package/busybox/config/coreutils/Config.in
@@ -5,6 +5,12 @@
menu "Coreutils"
+config BUSYBOX_BASE64
+ bool "base64"
+ default y
+ help
+ Base64 encode and decode
+
config BUSYBOX_BASENAME
bool "basename"
default y
@@ -115,6 +121,14 @@ 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 && BUSYBOX_PLATFORM_LINUX # syscall(__NR_clock_gettime)
+ help
+ Support %[num]N format specifier. Adds ~250 bytes of code.
+
config BUSYBOX_FEATURE_DATE_COMPAT
bool "Support weird 'date MMDDhhmm[[YY]YY][.ss]' format"
default y
@@ -183,6 +197,10 @@ config BUSYBOX_FEATURE_DF_FANCY
help
This option enables -a, -i and -B.
+ -a Show all filesystems
+ -i Inodes
+ -B <SIZE> Blocksize
+
config BUSYBOX_DIRNAME
bool "dirname"
default y
@@ -631,6 +649,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.
@@ -682,6 +701,11 @@ config BUSYBOX_FEATURE_FANCY_TAIL
The options (-q, -s, and -v) are provided by GNU tail, but
are not specific in the SUSv3 standard.
+ -q Never output headers giving file names
+ -s SEC Wait SEC seconds between reads with -f
+ -v Always output headers giving file names
+
+
config BUSYBOX_TEE
bool "tee"
default y
diff --git a/package/busybox/config/editors/Config.in b/package/busybox/config/editors/Config.in
index 52594b0ef..1a86ce9bd 100644
--- a/package/busybox/config/editors/Config.in
+++ b/package/busybox/config/editors/Config.in
@@ -171,6 +171,18 @@ config BUSYBOX_FEATURE_VI_WIN_RESIZE
help
Make busybox vi behave nicely with terminals that get resized.
+config BUSYBOX_FEATURE_VI_ASK_TERMINAL
+ bool "Use 'tell me cursor position' ESC sequence to measure window"
+ default y
+ depends on BUSYBOX_VI
+ help
+ If terminal size can't be retrieved and $LINES/$COLUMNS are not set,
+ this option makes vi perform a last-ditch effort to find it:
+ vi positions cursor to 999,999 and asks terminal to report real
+ cursor position using "ESC [ 6 n" escape sequence, then reads stdin.
+
+ This is not clean but helps a lot on serial lines and such.
+
config BUSYBOX_FEATURE_VI_OPTIMIZE_CURSOR
bool "Optimize cursor movement"
default y
diff --git a/package/busybox/config/init/Config.in b/package/busybox/config/init/Config.in
index cabe6b046..3858d14c5 100644
--- a/package/busybox/config/init/Config.in
+++ b/package/busybox/config/init/Config.in
@@ -152,6 +152,18 @@ config BUSYBOX_TELINIT_PATH
to facilitate proper shutdown, this path is to be used when
locating telinit executable.
+config BUSYBOX_INIT_TERMINAL_TYPE
+ string "Initial terminal type"
+ default "linux"
+ depends on BUSYBOX_INIT
+ help
+ 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 n
diff --git a/package/busybox/config/libbb/Config.in b/package/busybox/config/libbb/Config.in
index 1fc888630..c42a93bbb 100644
--- a/package/busybox/config/libbb/Config.in
+++ b/package/busybox/config/libbb/Config.in
@@ -151,6 +151,7 @@ config BUSYBOX_FEATURE_COPYBUF_KB
config BUSYBOX_MONOTONIC_SYSCALL
bool "Use clock_gettime(CLOCK_MONOTONIC) syscall"
default y
+ 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/package/busybox/config/loginutils/Config.in b/package/busybox/config/loginutils/Config.in
index 174f192a2..ab0e578d8 100644
--- a/package/busybox/config/loginutils/Config.in
+++ b/package/busybox/config/loginutils/Config.in
@@ -5,6 +5,18 @@
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"
default y
diff --git a/package/busybox/config/miscutils/Config.in b/package/busybox/config/miscutils/Config.in
index bb7fb2aa7..cbdcca9ce 100644
--- a/package/busybox/config/miscutils/Config.in
+++ b/package/busybox/config/miscutils/Config.in
@@ -5,9 +5,52 @@
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
+ depends on !ADK_PACKAGE_NAND
+ default y if ADK_TARGET_WITH_NAND
+ help
+ Write to the specified MTD device, with bad blocks awareness
+
+config BUSYBOX_NANDDUMP
+ bool "nanddump"
+ default n
+ depends on BUSYBOX_PLATFORM_LINUX
+ depends on !ADK_PACKAGE_NAND
+ default y if ADK_TARGET_WITH_NAND
+ 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 n
+ depends on BUSYBOX_PLATFORM_LINUX
help
Adjtimex reads and optionally sets adjustment parameters for
the Linux clock adjustment algorithm.
@@ -19,9 +62,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 n
+ depends on BUSYBOX_PLATFORM_LINUX
help
The beep applets beeps in a given freq/Hz.
@@ -178,6 +236,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.
@@ -221,6 +280,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!
@@ -240,6 +300,7 @@ config BUSYBOX_DEVMEM
config BUSYBOX_EJECT
bool "eject"
default n
+ depends on BUSYBOX_PLATFORM_LINUX
help
Used to eject cdroms. (defaults to /dev/cdrom)
@@ -254,6 +315,7 @@ config BUSYBOX_FEATURE_EJECT_SCSI
config BUSYBOX_FBSPLASH
bool "fbsplash"
default n
+ 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.
@@ -267,7 +329,7 @@ config BUSYBOX_FBSPLASH
-i path_to_cfg_file (can be "-" for stdin)
-f path_to_fifo (can be "-" for stdin)
- if you want to run it only in presence of kernel parameter:
- grep -q "fbsplash=on" </proc/cmdline && BUSYBOX_setsid fbsplash [params] &
+ grep -q "fbsplash=on" </proc/cmdline && setsid fbsplash [params] &
- commands for fifo:
"NN" (ASCII decimal number) - percentage to show on progress bar
"exit" - well you guessed it
@@ -303,6 +365,7 @@ config BUSYBOX_FLASH_ERASEALL
config BUSYBOX_IONICE
bool "ionice"
default n
+ depends on BUSYBOX_PLATFORM_LINUX
help
Set/set program io scheduling class and priority
Requires kernel >= 2.6.13
@@ -324,7 +387,7 @@ config BUSYBOX_LAST
choice
prompt "Choose last implementation"
depends on BUSYBOX_LAST
- default FEATURE_LAST_SMALL
+ default BUSYBOX_FEATURE_LAST_SMALL
config BUSYBOX_FEATURE_LAST_SMALL
bool "small"
@@ -409,7 +472,8 @@ config BUSYBOX_FEATURE_LESS_LINENUMS
config BUSYBOX_HDPARM
bool "hdparm"
depends on !ADK_PACKAGE_HDPARM
- default n
+ 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
@@ -471,15 +535,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.
@@ -526,6 +590,7 @@ config BUSYBOX_MT
config BUSYBOX_RAIDAUTORUN
bool "raidautorun"
default n
+ depends on BUSYBOX_PLATFORM_LINUX
help
raidautorun tells the kernel md driver to
search and start RAID arrays.
@@ -533,7 +598,7 @@ config BUSYBOX_RAIDAUTORUN
config BUSYBOX_READAHEAD
bool "readahead"
default n
- 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.
@@ -548,15 +613,16 @@ config BUSYBOX_READAHEAD
run this applet as a background job.
config BUSYBOX_RFKILL
- bool "rfkill"
- default y # doesn't build on Ubuntu 9.04
- help
- Enable/disable wireless devices.
+ bool "rfkill"
+ default y # doesn't build on Ubuntu 9.04
+ depends on BUSYBOX_PLATFORM_LINUX
+ help
+ Enable/disable wireless devices.
- rfkill list : list all wireless devices
- rfkill list bluetooth : list all bluetooth devices
- rfkill list 1 : list device corresponding to the given index
- rfkill block|unblock wlan : block/unblock all wlan(wifi) devices
+ rfkill list : list all wireles