busybox: update to 1.26.2

Refresh patches, delete patches that have been applied upstream.

Signed-off-by: Magnus Kroken <mkroken@gmail.com>
Tested-by: Koen Vandeputte <koen.vandeputte@ncentric.com>
Signed-off-by: Felix Fietkau <nbd@nbd.name> [fix defaults]
master
Magnus Kroken 8 years ago committed by Felix Fietkau
parent 5d2a9d2a3a
commit 84da2a677a
  1. 1229
      package/utils/busybox/Config-defaults.in
  2. 6
      package/utils/busybox/Makefile
  3. 315
      package/utils/busybox/config/Config.in
  4. 78
      package/utils/busybox/config/archival/Config.in
  5. 103
      package/utils/busybox/config/console-tools/Config.in
  6. 603
      package/utils/busybox/config/coreutils/Config.in
  7. 24
      package/utils/busybox/config/findutils/Config.in
  8. 20
      package/utils/busybox/config/init/Config.in
  9. 162
      package/utils/busybox/config/libbb/Config.in
  10. 18
      package/utils/busybox/config/mailutils/Config.in
  11. 615
      package/utils/busybox/config/miscutils/Config.in
  12. 73
      package/utils/busybox/config/modutils/Config.in
  13. 643
      package/utils/busybox/config/networking/Config.in
  14. 2
      package/utils/busybox/config/networking/udhcp/Config.in
  15. 264
      package/utils/busybox/config/procps/Config.in
  16. 7
      package/utils/busybox/config/runit/Config.in
  17. 37
      package/utils/busybox/config/selinux/Config.in
  18. 234
      package/utils/busybox/config/shell/Config.in
  19. 1
      package/utils/busybox/config/sysklogd/Config.in
  20. 598
      package/utils/busybox/config/util-linux/Config.in
  21. 9
      package/utils/busybox/config/util-linux/volume_id/Config.in
  22. 37
      package/utils/busybox/patches/002-libbb-send_to_from-do-not-require-that-to-should-hav.patch
  23. 20
      package/utils/busybox/patches/102-trylink_mktemp_fix.patch
  24. 2
      package/utils/busybox/patches/120-remove_uclibc_rpc_check.patch
  25. 4
      package/utils/busybox/patches/200-udhcpc_reduce_msgs.patch
  26. 2
      package/utils/busybox/patches/201-udhcpc_changed_ifindex.patch
  27. 2
      package/utils/busybox/patches/203-udhcpc_renew_no_deconfig.patch
  28. 2
      package/utils/busybox/patches/240-telnetd_intr.patch
  29. 12
      package/utils/busybox/patches/250-date-k-flag.patch
  30. 100
      package/utils/busybox/patches/302-netlink-alignment.patch
  31. 486
      package/utils/busybox/patches/303-ip-route-fix-high-table-ids.patch

File diff suppressed because it is too large Load Diff

@ -8,14 +8,14 @@
include $(TOPDIR)/rules.mk
PKG_NAME:=busybox
PKG_VERSION:=1.25.1
PKG_RELEASE:=2
PKG_VERSION:=1.26.2
PKG_RELEASE:=1
PKG_FLAGS:=essential
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
PKG_SOURCE_URL:=https://www.busybox.net/downloads \
http://sources.buildroot.net
PKG_HASH:=27667e0f2328fdbd79cfd622e4453e5c57e58f781c5da97c9be337d93aa2a02e
PKG_HASH:=da3e44913fc1a9c9b7c5337ea5292da518683cbff32be630777f565d6036af16
PKG_BUILD_DEPENDS:=BUSYBOX_USE_LIBRPC:librpc BUSYBOX_CONFIG_PAM:libpam
PKG_BUILD_PARALLEL:=1

@ -10,15 +10,18 @@ config BUSYBOX_CONFIG_HAVE_DOT_CONFIG
menu "Busybox Settings"
menu "General Configuration"
config BUSYBOX_CONFIG_DESKTOP
bool "Enable options for full-blown desktop systems"
default BUSYBOX_DEFAULT_DESKTOP
help
Enable options and features which are not essential.
Select this only if you plan to use busybox on full-blown
desktop machine with common Linux distro, not on an embedded box.
Select this if you plan to use busybox on full-blown desktop machine
with common Linux distro, which needs higher level of command-line
compatibility.
If you are preparing your build to be used on an embedded box
where you have tighter control over the entire set of userspace
tools, you can unselect this option for smaller code size.
config BUSYBOX_CONFIG_EXTRA_COMPAT
bool "Provide compatible behavior for rare corner cases (bigger code)"
@ -57,30 +60,6 @@ config BUSYBOX_CONFIG_PLATFORM_LINUX
Answering 'N' here will disable such applets and hide the
corresponding configuration options.
choice
prompt "Buffer allocation policy"
default BUSYBOX_CONFIG_FEATURE_BUFFERS_GO_ON_STACK
help
There are 3 ways BusyBox can handle buffer allocations:
- Use malloc. This costs code size for the call to xmalloc.
- Put them on stack. For some very small machines with limited stack
space, this can be deadly. For most folks, this works just fine.
- Put them in BSS. This works beautifully for computers with a real
MMU (and OS support), but wastes runtime RAM for uCLinux. This
behavior was the only one available for BusyBox versions 0.48 and
earlier.
config BUSYBOX_CONFIG_FEATURE_BUFFERS_USE_MALLOC
bool "Allocate with Malloc"
config BUSYBOX_CONFIG_FEATURE_BUFFERS_GO_ON_STACK
bool "Allocate on the Stack"
config BUSYBOX_CONFIG_FEATURE_BUFFERS_GO_IN_BSS
bool "Allocate in the .bss section"
endchoice
config BUSYBOX_CONFIG_SHOW_USAGE
bool "Show applet usage messages"
default BUSYBOX_DEFAULT_SHOW_USAGE
@ -143,131 +122,6 @@ config BUSYBOX_CONFIG_INSTALL_NO_USR
will install applets only to /bin and /sbin,
never to /usr/bin or /usr/sbin.
config BUSYBOX_CONFIG_LOCALE_SUPPORT
bool "Enable locale support (system needs locale for this to work)"
default BUSYBOX_DEFAULT_LOCALE_SUPPORT
help
Enable this if your system has locale support and you would like
busybox to support locale settings.
config BUSYBOX_CONFIG_UNICODE_SUPPORT
bool "Support Unicode"
default BUSYBOX_DEFAULT_UNICODE_SUPPORT
help
This makes various applets aware that one byte is not
one character on screen.
Busybox aims to eventually work correctly with Unicode displays.
Any older encodings are not guaranteed to work.
Probably by the time when busybox will be fully Unicode-clean,
other encodings will be mainly of historic interest.
config BUSYBOX_CONFIG_UNICODE_USING_LOCALE
bool "Use libc routines for Unicode (else uses internal ones)"
default BUSYBOX_DEFAULT_UNICODE_USING_LOCALE
depends on BUSYBOX_CONFIG_UNICODE_SUPPORT && BUSYBOX_CONFIG_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_CONFIG_FEATURE_CHECK_UNICODE_IN_ENV
bool "Check $LC_ALL, $LC_CTYPE and $LANG environment variables"
default BUSYBOX_DEFAULT_FEATURE_CHECK_UNICODE_IN_ENV
depends on BUSYBOX_CONFIG_UNICODE_SUPPORT && !BUSYBOX_CONFIG_UNICODE_USING_LOCALE
help
With this option on, Unicode support is activated
only if locale-related variables have the value of the form
"xxxx.utf8"
Otherwise, Unicode support will be always enabled and active.
config BUSYBOX_CONFIG_SUBST_WCHAR
int "Character code to substitute unprintable characters with"
depends on BUSYBOX_CONFIG_UNICODE_SUPPORT
default BUSYBOX_DEFAULT_SUBST_WCHAR
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_CONFIG_LAST_SUPPORTED_WCHAR
int "Range of supported Unicode characters"
depends on BUSYBOX_CONFIG_UNICODE_SUPPORT
default BUSYBOX_DEFAULT_LAST_SUPPORTED_WCHAR
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_CONFIG_UNICODE_COMBINING_WCHARS
bool "Allow zero-width Unicode characters on output"
default BUSYBOX_DEFAULT_UNICODE_COMBINING_WCHARS
depends on BUSYBOX_CONFIG_UNICODE_SUPPORT
help
With this option off, any Unicode char with width of 0
is substituted on output.
config BUSYBOX_CONFIG_UNICODE_WIDE_WCHARS
bool "Allow wide Unicode characters on output"
default BUSYBOX_DEFAULT_UNICODE_WIDE_WCHARS
depends on BUSYBOX_CONFIG_UNICODE_SUPPORT
help
With this option off, any Unicode char with width > 1
is substituted on output.
config BUSYBOX_CONFIG_UNICODE_BIDI_SUPPORT
bool "Bidirectional character-aware line input"
default BUSYBOX_DEFAULT_UNICODE_BIDI_SUPPORT
depends on BUSYBOX_CONFIG_UNICODE_SUPPORT && !BUSYBOX_CONFIG_UNICODE_USING_LOCALE
help
With this option on, right-to-left Unicode characters
are treated differently on input (e.g. cursor movement).
config BUSYBOX_CONFIG_UNICODE_NEUTRAL_TABLE
bool "In bidi input, support non-ASCII neutral chars too"
default BUSYBOX_DEFAULT_UNICODE_NEUTRAL_TABLE
depends on BUSYBOX_CONFIG_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_CONFIG_UNICODE_PRESERVE_BROKEN
bool "Make it possible to enter sequences of chars which are not Unicode"
default BUSYBOX_DEFAULT_UNICODE_PRESERVE_BROKEN
depends on BUSYBOX_CONFIG_UNICODE_SUPPORT
help
With this option on, on line-editing input (such as used by shells)
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_CONFIG_PAM
bool "Support for PAM (Pluggable Authentication Modules)"
default BUSYBOX_DEFAULT_PAM
@ -275,19 +129,6 @@ config BUSYBOX_CONFIG_PAM
Use PAM in some busybox applets (currently login and httpd) instead
of direct access to password database.
config BUSYBOX_CONFIG_FEATURE_USE_SENDFILE
bool "Use sendfile system call"
default BUSYBOX_DEFAULT_FEATURE_USE_SENDFILE
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
When enabled, busybox will use the kernel sendfile() function
instead of read/write loops to copy data between file descriptors
(for example, cp command does this a lot).
If sendfile() doesn't work, copying code falls back to read/write
loop. sendfile() was originally implemented for faster I/O
from files to sockets, but since Linux 2.6.33 it was extended
to work for many more file types.
config BUSYBOX_CONFIG_LONG_OPTS
bool "Support for --long-options"
default BUSYBOX_DEFAULT_LONG_OPTS
@ -496,9 +337,7 @@ config BUSYBOX_CONFIG_FEATURE_HAVE_RPC
# This is automatically selected if any of enabled applets need it.
# You do not need to select it manually.
endmenu
menu 'Build Options'
comment 'Build Options'
config BUSYBOX_CONFIG_STATIC
bool "Build BusyBox as a static binary (no shared libs)"
@ -673,9 +512,73 @@ config BUSYBOX_CONFIG_EXTRA_LDLIBS
help
Additional LDLIBS to pass to the linker with -l.
endmenu
comment 'Installation Options ("make install" behavior)'
choice
prompt "What kind of applet links to install"
default BUSYBOX_CONFIG_INSTALL_APPLET_SYMLINKS
help
Choose what kind of links to applets are created by "make install".
config BUSYBOX_CONFIG_INSTALL_APPLET_SYMLINKS
bool "as soft-links"
help
Install applets as soft-links to the busybox binary. This needs some
free inodes on the filesystem, but might help with filesystem
generators that can't cope with hard-links.
config BUSYBOX_CONFIG_INSTALL_APPLET_HARDLINKS
bool "as hard-links"
help
Install applets as hard-links to the busybox binary. This might
count on a filesystem with few inodes.
config BUSYBOX_CONFIG_INSTALL_APPLET_SCRIPT_WRAPPERS
bool "as script wrappers"
help
Install applets as script wrappers that call the busybox binary.
config BUSYBOX_CONFIG_INSTALL_APPLET_DONT
bool "not installed"
help
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
choice
prompt "/bin/sh applet link"
default BUSYBOX_CONFIG_INSTALL_SH_APPLET_SYMLINK
depends on BUSYBOX_CONFIG_INSTALL_APPLET_SCRIPT_WRAPPERS
help
Choose how you install /bin/sh applet link.
config BUSYBOX_CONFIG_INSTALL_SH_APPLET_SYMLINK
bool "as soft-link"
help
Install /bin/sh applet as soft-link to the busybox binary.
config BUSYBOX_CONFIG_INSTALL_SH_APPLET_HARDLINK
bool "as hard-link"
help
Install /bin/sh applet as hard-link to the busybox binary.
config BUSYBOX_CONFIG_INSTALL_SH_APPLET_SCRIPT_WRAPPER
bool "as script wrapper"
help
Install /bin/sh applet as script wrapper that calls
the busybox binary.
endchoice
menu 'Debugging Options'
config BUSYBOX_CONFIG_PREFIX
string "BusyBox installation prefix"
default BUSYBOX_DEFAULT_PREFIX
help
Define your directory to install BusyBox files/subdirs in.
comment 'Debugging Options'
config BUSYBOX_CONFIG_DEBUG
bool "Build BusyBox with extra Debugging symbols"
@ -769,78 +672,8 @@ endchoice
endmenu
menu 'Installation Options ("make install" behavior)'
choice
prompt "What kind of applet links to install"
default BUSYBOX_CONFIG_INSTALL_APPLET_SYMLINKS
help
Choose what kind of links to applets are created by "make install".
config BUSYBOX_CONFIG_INSTALL_APPLET_SYMLINKS
bool "as soft-links"
help
Install applets as soft-links to the busybox binary. This needs some
free inodes on the filesystem, but might help with filesystem
generators that can't cope with hard-links.
config BUSYBOX_CONFIG_INSTALL_APPLET_HARDLINKS
bool "as hard-links"
help
Install applets as hard-links to the busybox binary. This might
count on a filesystem with few inodes.
config BUSYBOX_CONFIG_INSTALL_APPLET_SCRIPT_WRAPPERS
bool "as script wrappers"
help
Install applets as script wrappers that call the busybox binary.
config BUSYBOX_CONFIG_INSTALL_APPLET_DONT
bool "not installed"
help
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
choice
prompt "/bin/sh applet link"
default BUSYBOX_CONFIG_INSTALL_SH_APPLET_SYMLINK
depends on BUSYBOX_CONFIG_INSTALL_APPLET_SCRIPT_WRAPPERS
help
Choose how you install /bin/sh applet link.
config BUSYBOX_CONFIG_INSTALL_SH_APPLET_SYMLINK
bool "as soft-link"
help
Install /bin/sh applet as soft-link to the busybox binary.
config BUSYBOX_CONFIG_INSTALL_SH_APPLET_HARDLINK
bool "as hard-link"
help
Install /bin/sh applet as hard-link to the busybox binary.
config BUSYBOX_CONFIG_INSTALL_SH_APPLET_SCRIPT_WRAPPER
bool "as script wrapper"
help
Install /bin/sh applet as script wrapper that calls
the busybox binary.
endchoice
config BUSYBOX_CONFIG_PREFIX
string "BusyBox installation prefix"
default BUSYBOX_DEFAULT_PREFIX
help
Define your directory to install BusyBox files/subdirs in.
endmenu
source libbb/Config.in
endmenu
comment "Applets"
source archival/Config.in

@ -31,7 +31,7 @@ config BUSYBOX_CONFIG_FEATURE_SEAMLESS_GZ
Make tar, rpm, modprobe etc understand .gz data.
config BUSYBOX_CONFIG_FEATURE_SEAMLESS_Z
bool "tar, rpm, modprobe etc understand .Z data"
bool "Make tar, rpm, modprobe etc understand .Z data"
default BUSYBOX_DEFAULT_FEATURE_SEAMLESS_Z # it is ancient
help
Make tar, rpm, modprobe etc understand .Z data.
@ -79,10 +79,16 @@ config BUSYBOX_CONFIG_GUNZIP
You can use the `-t' option to test the integrity of
an archive, without decompressing it.
config BUSYBOX_CONFIG_ZCAT
bool "zcat"
default BUSYBOX_DEFAULT_ZCAT
help
Alias to "gunzip -c".
config BUSYBOX_CONFIG_FEATURE_GUNZIP_LONG_OPTIONS
bool "Enable long options"
default BUSYBOX_DEFAULT_FEATURE_GUNZIP_LONG_OPTIONS
depends on BUSYBOX_CONFIG_GUNZIP && BUSYBOX_CONFIG_LONG_OPTS
depends on (BUSYBOX_CONFIG_GUNZIP || BUSYBOX_CONFIG_ZCAT) && BUSYBOX_CONFIG_LONG_OPTS
help
Enable use of long options.
config BUSYBOX_CONFIG_BUNZIP2
@ -97,6 +103,12 @@ config BUSYBOX_CONFIG_BUNZIP2
Unless you have a specific application which requires bunzip2, you
should probably say N here.
config BUSYBOX_CONFIG_BZCAT
bool "bzcat"
default BUSYBOX_DEFAULT_BZCAT
help
Alias to "bunzip2 -c".
config BUSYBOX_CONFIG_UNLZMA
bool "unlzma"
default BUSYBOX_DEFAULT_UNLZMA
@ -109,31 +121,47 @@ config BUSYBOX_CONFIG_UNLZMA
The BusyBox unlzma applet is limited to decompression only.
On an x86 system, this applet adds about 4K.
config BUSYBOX_CONFIG_FEATURE_LZMA_FAST
bool "Optimize unlzma for speed"
default BUSYBOX_DEFAULT_FEATURE_LZMA_FAST
depends on BUSYBOX_CONFIG_UNLZMA
config BUSYBOX_CONFIG_LZCAT
bool "lzcat"
default BUSYBOX_DEFAULT_LZCAT
help
This option reduces decompression time by about 25% at the cost of
a 1K bigger binary.
unlzma is a compression utility using the Lempel-Ziv-Markov chain
compression algorithm, and range coding. Compression
is generally considerably better than that achieved by the bzip2
compressors.
The BusyBox unlzma applet is limited to decompression only.
On an x86 system, this applet adds about 4K.
config BUSYBOX_CONFIG_LZMA
bool "Provide lzma alias which supports only unpacking"
bool "lzma -d"
default BUSYBOX_DEFAULT_LZMA
depends on BUSYBOX_CONFIG_UNLZMA
help
Enable this option if you want commands like "lzma -d" to work.
IOW: you'll get lzma applet, but it will always require -d option.
config BUSYBOX_CONFIG_FEATURE_LZMA_FAST
bool "Optimize unlzma for speed"
default BUSYBOX_DEFAULT_FEATURE_LZMA_FAST
depends on BUSYBOX_CONFIG_UNLZMA || BUSYBOX_CONFIG_LZCAT || BUSYBOX_CONFIG_LZMA
help
This option reduces decompression time by about 25% at the cost of
a 1K bigger binary.
config BUSYBOX_CONFIG_UNXZ
bool "unxz"
default BUSYBOX_DEFAULT_UNXZ
help
unxz is a unlzma successor.
config BUSYBOX_CONFIG_XZCAT
bool "xzcat"
default BUSYBOX_DEFAULT_XZCAT
help
Alias to "unxz -c".
config BUSYBOX_CONFIG_XZ
bool "Provide xz alias which supports only unpacking"
bool "xz -d"
default BUSYBOX_DEFAULT_XZ
depends on BUSYBOX_CONFIG_UNXZ
help
Enable this option if you want commands like "xz -d" to work.
IOW: you'll get xz applet, but it will always require -d option.
@ -158,7 +186,7 @@ config BUSYBOX_CONFIG_CPIO
cpio has 110 bytes of overheads for every stored file.
This implementation of cpio can extract cpio archives created in the
"newc" or "crc" format, it cannot create or modify them.
"newc" or "crc" format.
Unless you have a specific application which requires cpio, you
should probably say N here.
@ -198,16 +226,6 @@ config BUSYBOX_CONFIG_DPKG_DEB
Unless you have a specific application which requires dpkg-deb,
say N here.
config BUSYBOX_CONFIG_FEATURE_DPKG_DEB_EXTRACT_ONLY
bool "Extract only (-x)"
default BUSYBOX_DEFAULT_FEATURE_DPKG_DEB_EXTRACT_ONLY
depends on BUSYBOX_CONFIG_DPKG_DEB
help
This reduces dpkg-deb to the equivalent of
"ar -p <deb> data.tar.gz | tar -zx". However it saves space as none
of the extra dpkg-deb, ar or tar options are needed, they are linked
to internally.
config BUSYBOX_CONFIG_GZIP
bool "gzip"
default BUSYBOX_DEFAULT_GZIP
@ -249,10 +267,22 @@ config BUSYBOX_CONFIG_LZOP
help
Lzop compression/decompresion.
config BUSYBOX_CONFIG_UNLZOP
bool "unlzop"
default BUSYBOX_DEFAULT_UNLZOP
help
Lzop decompresion.
config BUSYBOX_CONFIG_LZOPCAT
bool "lzopcat"
default BUSYBOX_DEFAULT_LZOPCAT
help
Alias to "unlzop -c".
config BUSYBOX_CONFIG_LZOP_COMPR_HIGH
bool "lzop compression levels 7,8,9 (not very useful)"
default BUSYBOX_DEFAULT_LZOP_COMPR_HIGH
depends on BUSYBOX_CONFIG_LZOP
depends on BUSYBOX_CONFIG_LZOP || BUSYBOX_CONFIG_UNLZOP || BUSYBOX_CONFIG_LZOPCAT
help
High levels (7,8,9) of lzop compression. These levels
are actually slower than gzip at equivalent compression ratios

@ -6,7 +6,6 @@
menu "Console Utilities"
config BUSYBOX_CONFIG_CHVT
bool "chvt"
default BUSYBOX_DEFAULT_CHVT
@ -14,27 +13,17 @@ config BUSYBOX_CONFIG_CHVT
help
This program is used to change to another terminal.
Example: chvt 4 (change to terminal /dev/tty4)
config BUSYBOX_CONFIG_FGCONSOLE
bool "fgconsole"
default BUSYBOX_DEFAULT_FGCONSOLE
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
This program prints active (foreground) console number.
config BUSYBOX_CONFIG_CLEAR
bool "clear"
default BUSYBOX_DEFAULT_CLEAR
help
This program clears the terminal screen.
config BUSYBOX_CONFIG_DEALLOCVT
bool "deallocvt"
default BUSYBOX_DEFAULT_DEALLOCVT
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
This program deallocates unused virtual consoles.
config BUSYBOX_CONFIG_DUMPKMAP
bool "dumpkmap"
default BUSYBOX_DEFAULT_DUMPKMAP
@ -42,14 +31,18 @@ config BUSYBOX_CONFIG_DUMPKMAP
help
This program dumps the kernel's keyboard translation table to
stdout, in binary format. You can then use loadkmap to load it.
config BUSYBOX_CONFIG_FGCONSOLE
bool "fgconsole"
default BUSYBOX_DEFAULT_FGCONSOLE
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
This program prints active (foreground) console number.
config BUSYBOX_CONFIG_KBD_MODE
bool "kbd_mode"
default BUSYBOX_DEFAULT_KBD_MODE
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
This program reports and sets keyboard mode.
config BUSYBOX_CONFIG_LOADFONT
bool "loadfont"
default BUSYBOX_DEFAULT_LOADFONT
@ -57,6 +50,44 @@ config BUSYBOX_CONFIG_LOADFONT
help
This program loads a console font from standard input.
config BUSYBOX_CONFIG_SETFONT
bool "setfont"
default BUSYBOX_DEFAULT_SETFONT
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
Allows to load console screen map. Useful for i18n.
config BUSYBOX_CONFIG_FEATURE_SETFONT_TEXTUAL_MAP
bool "Support reading textual screen maps"
default BUSYBOX_DEFAULT_FEATURE_SETFONT_TEXTUAL_MAP
depends on BUSYBOX_CONFIG_SETFONT
help
Support reading textual screen maps.
config BUSYBOX_CONFIG_DEFAULT_SETFONT_DIR
string "Default directory for console-tools files"
default BUSYBOX_DEFAULT_DEFAULT_SETFONT_DIR
depends on BUSYBOX_CONFIG_SETFONT
help
Directory to use if setfont's params are simple filenames
(not /path/to/file or ./file). Default is "" (no default directory).
comment "Common options for loadfont and setfont"
depends on BUSYBOX_CONFIG_LOADFONT || BUSYBOX_CONFIG_SETFONT
config BUSYBOX_CONFIG_FEATURE_LOADFONT_PSF2
bool "Support for PSF2 console fonts"
default BUSYBOX_DEFAULT_FEATURE_LOADFONT_PSF2
depends on BUSYBOX_CONFIG_LOADFONT || BUSYBOX_CONFIG_SETFONT
help
Support PSF2 console fonts.
config BUSYBOX_CONFIG_FEATURE_LOADFONT_RAW
bool "Support for old (raw) console fonts"
default BUSYBOX_DEFAULT_FEATURE_LOADFONT_RAW
depends on BUSYBOX_CONFIG_LOADFONT || BUSYBOX_CONFIG_SETFONT
help
Support old (raw) console fonts.
config BUSYBOX_CONFIG_LOADKMAP
bool "loadkmap"
default BUSYBOX_DEFAULT_LOADKMAP
@ -64,7 +95,6 @@ config BUSYBOX_CONFIG_LOADKMAP
help
This program loads a keyboard translation table from
standard input.
config BUSYBOX_CONFIG_OPENVT
bool "openvt"
default BUSYBOX_DEFAULT_OPENVT
@ -72,14 +102,12 @@ config BUSYBOX_CONFIG_OPENVT
help
This program is used to start a command on an unused
virtual terminal.
config BUSYBOX_CONFIG_RESET
bool "reset"
default BUSYBOX_DEFAULT_RESET
help
This program is used to reset the terminal screen, if it
gets messed up.
config BUSYBOX_CONFIG_RESIZE
bool "resize"
default BUSYBOX_DEFAULT_RESIZE
@ -96,7 +124,6 @@ config BUSYBOX_CONFIG_FEATURE_RESIZE_PRINT
the terminal.
E.g.:
COLUMNS=80;LINES=44;export COLUMNS LINES;
config BUSYBOX_CONFIG_SETCONSOLE
bool "setconsole"
default BUSYBOX_DEFAULT_SETCONSOLE
@ -111,29 +138,6 @@ config BUSYBOX_CONFIG_FEATURE_SETCONSOLE_LONG_OPTIONS
depends on BUSYBOX_CONFIG_SETCONSOLE && BUSYBOX_CONFIG_LONG_OPTS
help
Support long options for the setconsole applet.
config BUSYBOX_CONFIG_SETFONT
bool "setfont"
default BUSYBOX_DEFAULT_SETFONT
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
Allows to load console screen map. Useful for i18n.
config BUSYBOX_CONFIG_FEATURE_SETFONT_TEXTUAL_MAP
bool "Support reading textual screen maps"
default BUSYBOX_DEFAULT_FEATURE_SETFONT_TEXTUAL_MAP
depends on BUSYBOX_CONFIG_SETFONT
help
Support reading textual screen maps.
config BUSYBOX_CONFIG_DEFAULT_SETFONT_DIR
string "Default directory for console-tools files"
default BUSYBOX_DEFAULT_DEFAULT_SETFONT_DIR
depends on BUSYBOX_CONFIG_SETFONT
help
Directory to use if setfont's params are simple filenames
(not /path/to/file or ./file). Default is "" (no default directory).
config BUSYBOX_CONFIG_SETKEYCODES
bool "setkeycodes"
default BUSYBOX_DEFAULT_SETKEYCODES
@ -141,14 +145,12 @@ config BUSYBOX_CONFIG_SETKEYCODES
help
This program loads entries into the kernel's scancode-to-keycode
map, allowing unusual keyboards to generate usable keycodes.
config BUSYBOX_CONFIG_SETLOGCONS
bool "setlogcons"
default BUSYBOX_DEFAULT_SETLOGCONS
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
This program redirects the output console of kernel messages.
config BUSYBOX_CONFIG_SHOWKEY
bool "showkey"
default BUSYBOX_DEFAULT_SHOWKEY
@ -156,21 +158,4 @@ config BUSYBOX_CONFIG_SHOWKEY
help
Shows keys pressed.
comment "Common options for loadfont and setfont"
depends on BUSYBOX_CONFIG_LOADFONT || BUSYBOX_CONFIG_SETFONT
config BUSYBOX_CONFIG_FEATURE_LOADFONT_PSF2
bool "Support for PSF2 console fonts"
default BUSYBOX_DEFAULT_FEATURE_LOADFONT_PSF2
depends on BUSYBOX_CONFIG_LOADFONT || BUSYBOX_CONFIG_SETFONT
help
Support PSF2 console fonts.
config BUSYBOX_CONFIG_FEATURE_LOADFONT_RAW
bool "Support for old (raw) console fonts"
default BUSYBOX_DEFAULT_FEATURE_LOADFONT_RAW
depends on BUSYBOX_CONFIG_LOADFONT || BUSYBOX_CONFIG_SETFONT
help
Support old (raw) console fonts.
endmenu

@ -13,12 +13,82 @@ config BUSYBOX_CONFIG_BASENAME
basename is used to strip the directory and suffix from filenames,
leaving just the filename itself. Enable this option if you wish
to enable the 'basename' utility.
config BUSYBOX_CONFIG_CAL
bool "cal"
default BUSYBOX_DEFAULT_CAL
help
cal is used to display a monthly calendar.
config BUSYBOX_CONFIG_CAT
bool "cat"
default BUSYBOX_DEFAULT_CAT
help
cat is used to concatenate files and print them to the standard
output. Enable this option if you wish to enable the 'cat' utility.
config BUSYBOX_CONFIG_CATV
bool "catv"
default BUSYBOX_DEFAULT_CATV
help
Display nonprinting characters as escape sequences (like some
implementations' cat -v option).
config BUSYBOX_CONFIG_CHGRP
bool "chgrp"
default BUSYBOX_DEFAULT_CHGRP
help
chgrp is used to change the group ownership of files.
config BUSYBOX_CONFIG_CHMOD
bool "chmod"
default BUSYBOX_DEFAULT_CHMOD
help
chmod is used to change the access permission of files.
config BUSYBOX_CONFIG_CHOWN
bool "chown"
default BUSYBOX_DEFAULT_CHOWN
help
chown is used to change the user and/or group ownership
of files.
config BUSYBOX_CONFIG_FEATURE_CHOWN_LONG_OPTIONS
bool "Enable long options"
default BUSYBOX_DEFAULT_FEATURE_CHOWN_LONG_OPTIONS
depends on BUSYBOX_CONFIG_CHOWN && BUSYBOX_CONFIG_LONG_OPTS
help
Enable use of long options
config BUSYBOX_CONFIG_CHROOT
bool "chroot"
default BUSYBOX_DEFAULT_CHROOT
help
chroot is used to change the root directory and run a command.
The default command is `/bin/sh'.
config BUSYBOX_CONFIG_CKSUM
bool "cksum"
default BUSYBOX_DEFAULT_CKSUM
help
cksum is used to calculate the CRC32 checksum of a file.
config BUSYBOX_CONFIG_COMM
bool "comm"
default BUSYBOX_DEFAULT_COMM
help
comm is used to compare two files line by line and return
a three-column output.
config BUSYBOX_CONFIG_CP
bool "cp"
default BUSYBOX_DEFAULT_CP
help
cp is used to copy files and directories.
config BUSYBOX_CONFIG_FEATURE_CP_LONG_OPTIONS
bool "Enable long options for cp"
default BUSYBOX_DEFAULT_FEATURE_CP_LONG_OPTIONS
depends on BUSYBOX_CONFIG_CP && BUSYBOX_CONFIG_LONG_OPTS
help
Enable long options for cp.
Also add support for --parents option.
config BUSYBOX_CONFIG_CUT
bool "cut"
default BUSYBOX_DEFAULT_CUT
help
cut is used to print selected parts of lines from
each file to stdout.
config BUSYBOX_CONFIG_DATE
bool "date"
default BUSYBOX_DEFAULT_DATE
@ -102,231 +172,6 @@ config BUSYBOX_CONFIG_FEATURE_DD_STATUS
depends on BUSYBOX_CONFIG_DD
help
Enables support for status=noxfer/none option.
config BUSYBOX_CONFIG_HOSTID
bool "hostid"
default BUSYBOX_DEFAULT_HOSTID
help
hostid prints the numeric identifier (in hexadecimal) for
the current host.
config BUSYBOX_CONFIG_ID
bool "id"
default BUSYBOX_DEFAULT_ID
help
id displays the current user and group ID names.
config BUSYBOX_CONFIG_GROUPS
bool "groups"
default BUSYBOX_DEFAULT_GROUPS
help
Print the group names associated with current user id.
config BUSYBOX_CONFIG_SHUF
bool "shuf"
default BUSYBOX_DEFAULT_SHUF
help
Generate random permutations
config BUSYBOX_CONFIG_STAT
bool "stat"
default BUSYBOX_DEFAULT_STAT
help
display file or filesystem status.
config BUSYBOX_CONFIG_FEATURE_STAT_FORMAT
bool "Enable custom formats (-c)"
default BUSYBOX_DEFAULT_FEATURE_STAT_FORMAT
depends on BUSYBOX_CONFIG_STAT
help
Without this, stat will not support the '-c format' option where
users can pass a custom format string for output. This adds about
7k to a nonstatic build on amd64.
config BUSYBOX_CONFIG_FEATURE_STAT_FILESYSTEM
bool "Enable display of filesystem status (-f)"
default BUSYBOX_DEFAULT_FEATURE_STAT_FILESYSTEM
depends on BUSYBOX_CONFIG_STAT
select BUSYBOX_CONFIG_PLATFORM_LINUX # statfs()
help
Without this, stat will not support the '-f' option to display
information about filesystem status.
config BUSYBOX_CONFIG_SYNC
bool "sync"
default BUSYBOX_DEFAULT_SYNC
help
sync is used to flush filesystem buffers.
config BUSYBOX_CONFIG_FEATURE_SYNC_FANCY
bool "Enable -d and -f flags (requres syncfs(2) in libc)"
default BUSYBOX_DEFAULT_FEATURE_SYNC_FANCY
depends on BUSYBOX_CONFIG_SYNC
help
sync -d FILE... executes fdatasync() on each FILE.
sync -f FILE... executes syncfs() on each FILE.
config BUSYBOX_CONFIG_TEST
bool "test"
default BUSYBOX_DEFAULT_TEST
help
test is used to check file types and compare values,
returning an appropriate exit code. The bash shell
has test built in, ash can build it in optionally.
config BUSYBOX_CONFIG_FEATURE_TEST_64
bool "Extend test to 64 bit"
default BUSYBOX_DEFAULT_FEATURE_TEST_64
depends on BUSYBOX_CONFIG_TEST || BUSYBOX_CONFIG_ASH_BUILTIN_TEST || BUSYBOX_CONFIG_HUSH
help
Enable 64-bit support in test.
config BUSYBOX_CONFIG_TOUCH
bool "touch"
default BUSYBOX_DEFAULT_TOUCH
help
touch is used to create or change the access and/or
modification timestamp of specified files.
config BUSYBOX_CONFIG_FEATURE_TOUCH_NODEREF
bool "Add support for -h"
default BUSYBOX_DEFAULT_FEATURE_TOUCH_NODEREF
depends on BUSYBOX_CONFIG_TOUCH
help
Enable touch to have the -h option.
This requires libc support for lutimes() function.
config BUSYBOX_CONFIG_FEATURE_TOUCH_SUSV3
bool "Add support for SUSV3 features (-d -t -r)"
default BUSYBOX_DEFAULT_FEATURE_TOUCH_SUSV3
depends on BUSYBOX_CONFIG_TOUCH
help
Enable touch to use a reference file or a given date/time argument.
config BUSYBOX_CONFIG_TR
bool "tr"
default BUSYBOX_DEFAULT_TR
help
tr is used to squeeze, and/or delete characters from standard
input, writing to standard output.
config BUSYBOX_CONFIG_FEATURE_TR_CLASSES
bool "Enable character classes (such as [:upper:])"
default BUSYBOX_DEFAULT_FEATURE_TR_CLASSES
depends on BUSYBOX_CONFIG_TR
help
Enable character classes, enabling commands such as:
tr [:upper:] [:lower:] to convert input into lowercase.
config BUSYBOX_CONFIG_FEATURE_TR_EQUIV
bool "Enable equivalence classes"
default BUSYBOX_DEFAULT_FEATURE_TR_EQUIV
depends on BUSYBOX_CONFIG_TR
help
Enable equivalence classes, which essentially add the enclosed
character to the current set. For instance, tr [=a=] xyz would
replace all instances of 'a' with 'xyz'. This option is mainly
useful for cases when no other way of expressing a character
is possible.
config BUSYBOX_CONFIG_TRUNCATE
bool "truncate"
default BUSYBOX_DEFAULT_TRUNCATE
help
truncate truncates files to a given size. If a file does
not exist, it is created unless told otherwise.
config BUSYBOX_CONFIG_UNLINK
bool "unlink"
default BUSYBOX_DEFAULT_UNLINK
help
unlink deletes a file by calling unlink()
config BUSYBOX_CONFIG_BASE64
bool "base64"
default BUSYBOX_DEFAULT_BASE64
help
Base64 encode and decode
config BUSYBOX_CONFIG_WHO
bool "who"
default BUSYBOX_DEFAULT_WHO
depends on BUSYBOX_CONFIG_FEATURE_UTMP
help
who is used to show who is logged on.
config BUSYBOX_CONFIG_USERS
bool "users"
default BUSYBOX_DEFAULT_USERS
depends on BUSYBOX_CONFIG_FEATURE_UTMP
help
Print users currently logged on.
config BUSYBOX_CONFIG_CAL
bool "cal"
default BUSYBOX_DEFAULT_CAL
help
cal is used to display a monthly calendar.
config BUSYBOX_CONFIG_CATV
bool "catv"
default BUSYBOX_DEFAULT_CATV
help
Display nonprinting characters as escape sequences (like some
implementations' cat -v option).
config BUSYBOX_CONFIG_CHGRP
bool "chgrp"
default BUSYBOX_DEFAULT_CHGRP
help
chgrp is used to change the group ownership of files.
config BUSYBOX_CONFIG_CHMOD
bool "chmod"
default BUSYBOX_DEFAULT_CHMOD
help
chmod is used to change the access permission of files.
config BUSYBOX_CONFIG_CHOWN
bool "chown"
default BUSYBOX_DEFAULT_CHOWN
help
chown is used to change the user and/or group ownership
of files.
config BUSYBOX_CONFIG_FEATURE_CHOWN_LONG_OPTIONS
bool "Enable long options"
default BUSYBOX_DEFAULT_FEATURE_CHOWN_LONG_OPTIONS
depends on BUSYBOX_CONFIG_CHOWN && BUSYBOX_CONFIG_LONG_OPTS
help
Enable use of long options
config BUSYBOX_CONFIG_CHROOT
bool "chroot"
default BUSYBOX_DEFAULT_CHROOT
help
chroot is used to change the root directory and run a command.
The default command is `/bin/sh'.
config BUSYBOX_CONFIG_CKSUM
bool "cksum"
default BUSYBOX_DEFAULT_CKSUM
help
cksum is used to calculate the CRC32 checksum of a file.
config BUSYBOX_CONFIG_COMM
bool "comm"
default BUSYBOX_DEFAULT_COMM
help
comm is used to compare two files line by line and return
a three-column output.
config BUSYBOX_CONFIG_CP
bool "cp"
default BUSYBOX_DEFAULT_CP
help
cp is used to copy files and directories.
config BUSYBOX_CONFIG_FEATURE_CP_LONG_OPTIONS
bool "Enable long options for cp"
default BUSYBOX_DEFAULT_FEATURE_CP_LONG_OPTIONS
depends on BUSYBOX_CONFIG_CP && BUSYBOX_CONFIG_LONG_OPTS
help
Enable long options for cp.
Also add support for --parents option.
config BUSYBOX_CONFIG_CUT
bool "cut"
default BUSYBOX_DEFAULT_CUT
help
cut is used to print selected parts of lines from
each file to stdout.
config BUSYBOX_CONFIG_DF
bool "df"
default BUSYBOX_DEFAULT_DF
@ -344,29 +189,25 @@ config BUSYBOX_CONFIG_FEATURE_DF_FANCY
-a Show all filesystems
-i Inodes
-B <SIZE> Blocksize
config BUSYBOX_CONFIG_DIRNAME
bool "dirname"
default BUSYBOX_DEFAULT_DIRNAME
help
dirname is used to strip a non-directory suffix from
a file name.
config BUSYBOX_CONFIG_DOS2UNIX
bool "dos2unix/unix2dos"
bool "dos2unix"
default BUSYBOX_DEFAULT_DOS2UNIX
help
dos2unix is used to convert a text file from DOS format to
UNIX format, and vice versa.
config BUSYBOX_CONFIG_UNIX2DOS
bool
bool "unix2dos"
default BUSYBOX_DEFAULT_UNIX2DOS
depends on BUSYBOX_CONFIG_DOS2UNIX
help
unix2dos is used to convert a text file from UNIX format to
DOS format, and vice versa.
config BUSYBOX_CONFIG_DU
bool "du (default blocksize of 512 bytes)"
default BUSYBOX_DEFAULT_DU
@ -380,7 +221,6 @@ config BUSYBOX_CONFIG_FEATURE_DU_DEFAULT_BLOCKSIZE_1K
depends on BUSYBOX_CONFIG_DU
help
Use a blocksize of (1K) instead of the default 512b.
config BUSYBOX_CONFIG_ECHO
bool "echo (basic SuSv3 version taking no options)"
default BUSYBOX_DEFAULT_ECHO
@ -394,7 +234,6 @@ config BUSYBOX_CONFIG_FEATURE_FANCY_ECHO
depends on BUSYBOX_CONFIG_ECHO || BUSYBOX_CONFIG_ASH_BUILTIN_ECHO || BUSYBOX_CONFIG_HUSH
help
This adds options (-n and -e) to echo.
config BUSYBOX_CONFIG_ENV
bool "env"
default BUSYBOX_DEFAULT_ENV
@ -409,7 +248,6 @@ config BUSYBOX_CONFIG_FEATURE_ENV_LONG_OPTIONS
depends on BUSYBOX_CONFIG_ENV && BUSYBOX_CONFIG_LONG_OPTS
help
Support long options for the env applet.
config BUSYBOX_CONFIG_EXPAND
bool "expand"
default BUSYBOX_DEFAULT_EXPAND
@ -423,6 +261,18 @@ config BUSYBOX_CONFIG_FEATURE_EXPAND_LONG_OPTIONS
help
Support long options for the expand applet.
config BUSYBOX_CONFIG_UNEXPAND
bool "unexpand"
default BUSYBOX_DEFAULT_UNEXPAND
help
By default, convert only leading sequences of blanks to tabs.
config BUSYBOX_CONFIG_FEATURE_UNEXPAND_LONG_OPTIONS
bool "Enable long options"
default BUSYBOX_DEFAULT_FEATURE_UNEXPAND_LONG_OPTIONS
depends on BUSYBOX_CONFIG_UNEXPAND && BUSYBOX_CONFIG_LONG_OPTS
help
Support long options for the unexpand applet.
config BUSYBOX_CONFIG_EXPR
bool "expr"
default BUSYBOX_DEFAULT_EXPR
@ -438,25 +288,21 @@ config BUSYBOX_CONFIG_EXPR_MATH_SUPPORT_64
Enable 64-bit math support in the expr applet. This will make
the applet slightly larger, but will allow computation with very
large numbers.
config BUSYBOX_CONFIG_FALSE
bool "false"
default BUSYBOX_DEFAULT_FALSE
help
false returns an exit code of FALSE (1).
config BUSYBOX_CONFIG_FOLD
bool "fold"
default BUSYBOX_DEFAULT_FOLD
help
Wrap text to fit a specific width.
config BUSYBOX_CONFIG_FSYNC
bool "fsync"
default BUSYBOX_DEFAULT_FSYNC
help
fsync is used to flush file-related cached blocks to disk.
config BUSYBOX_CONFIG_HEAD
bool "head"
default BUSYBOX_DEFAULT_HEAD
@ -469,8 +315,24 @@ config BUSYBOX_CONFIG_FEATURE_FANCY_HEAD
default BUSYBOX_DEFAULT_FEATURE_FANCY_HEAD
depends on BUSYBOX_CONFIG_HEAD
help
This enables the head options (-c, -q, and -v).
This enables the head options (-c, -q, and -v).
config BUSYBOX_CONFIG_HOSTID
bool "hostid"
default BUSYBOX_DEFAULT_HOSTID
help
hostid prints the numeric identifier (in hexadecimal) for
the current host.
config BUSYBOX_CONFIG_ID
bool "id"
default BUSYBOX_DEFAULT_ID
help
id displays the current user and group ID names.
config BUSYBOX_CONFIG_GROUPS
bool "groups"
default BUSYBOX_DEFAULT_GROUPS
help
Print the group names associated with current user id.
config BUSYBOX_CONFIG_INSTALL
bool "install"
default BUSYBOX_DEFAULT_INSTALL
@ -483,25 +345,16 @@ config BUSYBOX_CONFIG_FEATURE_INSTALL_LONG_OPTIONS
depends on BUSYBOX_CONFIG_INSTALL && BUSYBOX_CONFIG_LONG_OPTS
help
Support long options for the install applet.
####config LENGTH
#### bool "length"
#### default y
#### help
#### length is used to print out the length of a specified string.
config BUSYBOX_CONFIG_LN
bool "ln"
default BUSYBOX_DEFAULT_LN
help
ln is used to create hard or soft links between files.
config BUSYBOX_CONFIG_LOGNAME
bool "logname"
default BUSYBOX_DEFAULT_LOGNAME
help
logname is used to print the current user's login name.
config BUSYBOX_CONFIG_LS
bool "ls"
default BUSYBOX_DEFAULT_LS
@ -567,13 +420,48 @@ config BUSYBOX_CONFIG_FEATURE_LS_COLOR_IS_DEFAULT
This is not recommended, since the colors are not
configurable, and the output may not be legible on
many output screens.
config BUSYBOX_CONFIG_MD5SUM
bool "md5sum"
default BUSYBOX_DEFAULT_MD5SUM
help
md5sum is used to print or check MD5 checksums.
config BUSYBOX_CONFIG_SHA1SUM
bool "sha1sum"
default BUSYBOX_DEFAULT_SHA1SUM
help
Compute and check SHA1 message digest
config BUSYBOX_CONFIG_SHA256SUM
bool "sha256sum"
default BUSYBOX_DEFAULT_SHA256SUM
help
Compute and check SHA256 message digest
config BUSYBOX_CONFIG_SHA512SUM
bool "sha512sum"
default BUSYBOX_DEFAULT_SHA512SUM
help
Compute and check SHA512 message digest
config BUSYBOX_CONFIG_SHA3SUM
bool "sha3sum"
default BUSYBOX_DEFAULT_SHA3SUM
help
Compute and check SHA3 message digest
comment "Common options for md5sum, sha1sum, sha256sum, sha512sum, sha3sum"
depends on BUSYBOX_CONFIG_MD5SUM || BUSYBOX_CONFIG_SHA1SUM || BUSYBOX_CONFIG_SHA256SUM || BUSYBOX_CONFIG_SHA512SUM || BUSYBOX_CONFIG_SHA3SUM
config BUSYBOX_CONFIG_FEATURE_MD5_SHA1_SUM_CHECK
bool "Enable -c, -s and -w options"
default BUSYBOX_DEFAULT_FEATURE_MD5_SHA1_SUM_CHECK
depends on BUSYBOX_CONFIG_MD5SUM || BUSYBOX_CONFIG_SHA1SUM || BUSYBOX_CONFIG_SHA256SUM || BUSYBOX_CONFIG_SHA512SUM || BUSYBOX_CONFIG_SHA3SUM
help
Enabling the -c options allows files to be checked
against pre-calculated hash values.
-s and -w are useful options when verifying checksums.
config BUSYBOX_CONFIG_MKDIR
bool "mkdir"
default BUSYBOX_DEFAULT_MKDIR
@ -586,21 +474,18 @@ config BUSYBOX_CONFIG_FEATURE_MKDIR_LONG_OPTIONS
depends on BUSYBOX_CONFIG_MKDIR && BUSYBOX_CONFIG_LONG_OPTS
help
Support long options for the mkdir applet.
config BUSYBOX_CONFIG_MKFIFO
bool "mkfifo"
default BUSYBOX_DEFAULT_MKFIFO
help
mkfifo is used to create FIFOs (named pipes).
The `mknod' program can also create FIFOs.
The 'mknod' program can also create FIFOs.
config BUSYBOX_CONFIG_MKNOD
bool "mknod"
default BUSYBOX_DEFAULT_MKNOD
help
mknod is used to create FIFOs or block/character special
files with the specified names.
config BUSYBOX_CONFIG_MV
bool "mv"
default BUSYBOX_DEFAULT_MV
@ -613,44 +498,37 @@ config BUSYBOX_CONFIG_FEATURE_MV_LONG_OPTIONS
depends on BUSYBOX_CONFIG_MV && BUSYBOX_CONFIG_LONG_OPTS
help
Support long options for the mv applet.
config BUSYBOX_CONFIG_NICE
bool "nice"
default BUSYBOX_DEFAULT_NICE
help
nice runs a program with modified scheduling priority.
config BUSYBOX_CONFIG_NOHUP
bool "nohup"
default BUSYBOX_DEFAULT_NOHUP
help
run a command immune to hangups, with output to a non-tty.
config BUSYBOX_CONFIG_OD
bool "od"
default BUSYBOX_DEFAULT_OD
help
od is used to dump binary files in octal and other formats.
config BUSYBOX_CONFIG_PRINTENV
bool "printenv"
default BUSYBOX_DEFAULT_PRINTENV
help
printenv is used to print all or part of environment.
config BUSYBOX_CONFIG_PRINTF
bool "printf"
default BUSYBOX_DEFAULT_PRINTF
help
printf is used to format and print specified strings.
It's similar to `echo' except it has more options.
config BUSYBOX_CONFIG_PWD
bool "pwd"
default BUSYBOX_DEFAULT_PWD
help
pwd is used to print the current directory.
config BUSYBOX_CONFIG_READLINK
bool "readlink"
default BUSYBOX_DEFAULT_READLINK
@ -664,20 +542,17 @@ config BUSYBOX_CONFIG_FEATURE_READLINK_FOLLOW
depends on BUSYBOX_CONFIG_READLINK
help
Enable the readlink option (-f).
config BUSYBOX_CONFIG_REALPATH
bool "realpath"
default BUSYBOX_DEFAULT_REALPATH
help
Return the canonicalized absolute pathname.
This isn't provided by GNU shellutils, but where else does it belong.
config BUSYBOX_CONFIG_RM
bool "rm"
default BUSYBOX_DEFAULT_RM
help
rm is used to remove files or directories.
config BUSYBOX_CONFIG_RMDIR
bool "rmdir"
default BUSYBOX_DEFAULT_RMDIR
@ -691,37 +566,16 @@ config BUSYBOX_CONFIG_FEATURE_RMDIR_LONG_OPTIONS
help
Support long options for the rmdir applet, including
--ignore-fail-on-non-empty for compatibility with GNU rmdir.
config BUSYBOX_CONFIG_SEQ
bool "seq"
default BUSYBOX_DEFAULT_SEQ
help
print a sequence of numbers
config BUSYBOX_CONFIG_SHA1SUM
bool "sha1sum"
default BUSYBOX_DEFAULT_SHA1SUM
help
Compute and check SHA1 message digest
config BUSYBOX_CONFIG_SHA256SUM
bool "sha256sum"
default BUSYBOX_DEFAULT_SHA256SUM
help
Compute and check SHA256 message digest
config BUSYBOX_CONFIG_SHA512SUM
bool "sha512sum"
default BUSYBOX_DEFAULT_SHA512SUM
help
Compute and check SHA512 message digest
config BUSYBOX_CONFIG_SHA3SUM
bool "sha3sum"
default BUSYBOX_DEFAULT_SHA3SUM
config BUSYBOX_CONFIG_SHUF
bool "shuf"
default BUSYBOX_DEFAULT_SHUF
help
Compute and check SHA3 (512-bit) message digest
Generate random permutations
config BUSYBOX_CONFIG_SLEEP
bool "sleep"
default BUSYBOX_DEFAULT_SLEEP
@ -749,7 +603,6 @@ config BUSYBOX_CONFIG_FEATURE_FLOAT_SLEEP
depends on BUSYBOX_CONFIG_FEATURE_FANCY_SLEEP
help
Allow for fractional numeric parameters.
config BUSYBOX_CONFIG_SORT
bool "sort"
default BUSYBOX_DEFAULT_SORT
@ -767,7 +620,6 @@ config BUSYBOX_CONFIG_FEATURE_SORT_BIG
The SuSv3 sort standard is available at:
http://www.opengroup.org/onlinepubs/007904975/utilities/sort.html
config BUSYBOX_CONFIG_SPLIT
bool "split"
default BUSYBOX_DEFAULT_SPLIT
@ -782,25 +634,56 @@ config BUSYBOX_CONFIG_FEATURE_SPLIT_FANCY
Add support for features not required by SUSv3.
Supports additional suffixes 'b' for 512 bytes,
'g' for 1GiB for the -b option.
config BUSYBOX_CONFIG_STAT
bool "stat"
default BUSYBOX_DEFAULT_STAT
help
display file or filesystem status.
config BUSYBOX_CONFIG_FEATURE_STAT_FORMAT
bool "Enable custom formats (-c)"
default BUSYBOX_DEFAULT_FEATURE_STAT_FORMAT
depends on BUSYBOX_CONFIG_STAT
help
Without this, stat will not support the '-c format' option where
users can pass a custom format string for output. This adds about
7k to a nonstatic build on amd64.
config BUSYBOX_CONFIG_FEATURE_STAT_FILESYSTEM
bool "Enable display of filesystem status (-f)"
default BUSYBOX_DEFAULT_FEATURE_STAT_FILESYSTEM
depends on BUSYBOX_CONFIG_STAT
select BUSYBOX_CONFIG_PLATFORM_LINUX # statfs()
help
Without this, stat will not support the '-f' option to display
information about filesystem status.
config BUSYBOX_CONFIG_STTY
bool "stty"
default BUSYBOX_DEFAULT_STTY
help
stty is used to change and print terminal line settings.
config BUSYBOX_CONFIG_SUM
bool "sum"
default BUSYBOX_DEFAULT_SUM
help
checksum and count the blocks in a file
config BUSYBOX_CONFIG_SYNC
bool "sync"
default BUSYBOX_DEFAULT_SYNC
help
sync is used to flush filesystem buffers.
config BUSYBOX_CONFIG_FEATURE_SYNC_FANCY
bool "Enable -d and -f flags (requires syncfs(2) in libc)"
default BUSYBOX_DEFAULT_FEATURE_SYNC_FANCY
depends on BUSYBOX_CONFIG_SYNC
help
sync -d FILE... executes fdatasync() on each FILE.
sync -f FILE... executes syncfs() on each FILE.
config BUSYBOX_CONFIG_TAC
bool "tac"
default BUSYBOX_DEFAULT_TAC
help
tac is used to concatenate and print files in reverse.
config BUSYBOX_CONFIG_TAIL
bool "tail"
default BUSYBOX_DEFAULT_TAIL
@ -820,7 +703,6 @@ config BUSYBOX_CONFIG_FEATURE_FANCY_TAIL
-s SEC Wait SEC seconds between reads with -f
-v Always output headers giving file names
-F Same as -f, but keep retrying
config BUSYBOX_CONFIG_TEE
bool "tee"
default BUSYBOX_DEFAULT_TEE
@ -834,20 +716,95 @@ config BUSYBOX_CONFIG_FEATURE_TEE_USE_BLOCK_IO
depends on BUSYBOX_CONFIG_TEE
help
Enable this option for a faster tee, at expense of size.
config BUSYBOX_CONFIG_TEST
bool "test"
default BUSYBOX_DEFAULT_TEST
help
test is used to check file types and compare values,
returning an appropriate exit code. The bash shell
has test built in, ash can build it in optionally.
config BUSYBOX_CONFIG_TEST1
bool "test as ["
default BUSYBOX_DEFAULT_TEST1
help
Provide test command in the "[ EXPR ]" form
config BUSYBOX_CONFIG_TEST2
bool "test as [["
default BUSYBOX_DEFAULT_TEST2
help
Provide test command in the "[[ EXPR ]]" form
config BUSYBOX_CONFIG_FEATURE_TEST_64
bool "Extend test to 64 bit"
default BUSYBOX_DEFAULT_FEATURE_TEST_64
depends on BUSYBOX_CONFIG_TEST || BUSYBOX_CONFIG_TEST1 || BUSYBOX_CONFIG_TEST2 || BUSYBOX_CONFIG_ASH_BUILTIN_TEST || BUSYBOX_CONFIG_HUSH
help
Enable 64-bit support in test.
config BUSYBOX_CONFIG_TOUCH
bool "touch"
default BUSYBOX_DEFAULT_TOUCH
help
touch is used to create or change the access and/or
modification timestamp of specified files.
config BUSYBOX_CONFIG_FEATURE_TOUCH_NODEREF
bool "Add support for -h"
default BUSYBOX_DEFAULT_FEATURE_TOUCH_NODEREF
depends on BUSYBOX_CONFIG_TOUCH
help
Enable touch to have the -h option.
This requires libc support for lutimes() function.
config BUSYBOX_CONFIG_FEATURE_TOUCH_SUSV3
bool "Add support for SUSV3 features (-d -t -r)"
default BUSYBOX_DEFAULT_FEATURE_TOUCH_SUSV3
depends on BUSYBOX_CONFIG_TOUCH
help
Enable touch to use a reference file or a given date/time argument.
config BUSYBOX_CONFIG_TR
bool "tr"
default BUSYBOX_DEFAULT_TR
help
tr is used to squeeze, and/or delete characters from standard
input, writing to standard output.
config BUSYBOX_CONFIG_FEATURE_TR_CLASSES
bool "Enable character classes (such as [:upper:])"
default BUSYBOX_DEFAULT_FEATURE_TR_CLASSES
depends on BUSYBOX_CONFIG_TR
help
Enable character classes, enabling commands such as:
tr [:upper:] [:lower:] to convert input into lowercase.
config BUSYBOX_CONFIG_FEATURE_TR_EQUIV
bool "Enable equivalence classes"
default BUSYBOX_DEFAULT_FEATURE_TR_EQUIV
depends on BUSYBOX_CONFIG_TR
help
Enable equivalence classes, which essentially add the enclosed
character to the current set. For instance, tr [=a=] xyz would
replace all instances of 'a' with 'xyz'. This option is mainly
useful for cases when no other way of expressing a character
is possible.
config BUSYBOX_CONFIG_TRUE
bool "true"
default BUSYBOX_DEFAULT_TRUE
help
true returns an exit code of TRUE (0).
config BUSYBOX_CONFIG_TRUNCATE
bool "truncate"
default BUSYBOX_DEFAULT_TRUNCATE
help
truncate truncates files to a given size. If a file does
not exist, it is created unless told otherwise.
config BUSYBOX_CONFIG_TTY
bool "tty"
default BUSYBOX_DEFAULT_TTY
help
tty is used to print the name of the current terminal to
standard output.
config BUSYBOX_CONFIG_UNAME
bool "uname"
default BUSYBOX_DEFAULT_UNAME
@ -861,44 +818,36 @@ config BUSYBOX_CONFIG_UNAME_OSNAME
help
Sets the operating system name reported by uname -o. The
default BUSYBOX_DEFAULT_UNAME_OSNAME "GNU/Linux".
config BUSYBOX_CONFIG_UNEXPAND
bool "unexpand"
default BUSYBOX_DEFAULT_UNEXPAND
help
By default, convert only leading sequences of blanks to tabs.
config BUSYBOX_CONFIG_FEATURE_UNEXPAND_LONG_OPTIONS
bool "Enable long options"
default BUSYBOX_DEFAULT_FEATURE_UNEXPAND_LONG_OPTIONS
depends on BUSYBOX_CONFIG_UNEXPAND && BUSYBOX_CONFIG_LONG_OPTS
help
Support long options for the unexpand applet.
config BUSYBOX_CONFIG_UNIQ
bool "uniq"
default BUSYBOX_DEFAULT_UNIQ
help
uniq is used to remove duplicate lines from a sorted file.
config BUSYBOX_CONFIG_UNLINK
bool "unlink"
default BUSYBOX_DEFAULT_UNLINK
help
unlink deletes a file by calling unlink()
config BUSYBOX_CONFIG_USLEEP
bool "usleep"
default BUSYBOX_DEFAULT_USLEEP
help
usleep is used to pause for a specified number of microseconds.
config BUSYBOX_CONFIG_UUDECODE
bool "uudecode"
default BUSYBOX_DEFAULT_UUDECODE
help
uudecode is used to decode a uuencoded file.
config BUSYBOX_CONFIG_BASE64
bool "base64"
default BUSYBOX_DEFAULT_BASE64
help
Base64 encode and decode
config BUSYBOX_CONFIG_UUENCODE
bool "uuencode"
default BUSYBOX_DEFAULT_UUENCODE
help
uuencode is used to uuencode a file.
config BUSYBOX_CONFIG_WC
bool "wc"
default BUSYBOX_DEFAULT_WC
@ -912,14 +861,25 @@ config BUSYBOX_CONFIG_FEATURE_WC_LARGE
depends on BUSYBOX_CONFIG_WC
help
Use "unsigned long long" in wc for counter variables.
config BUSYBOX_CONFIG_WHO
bool "who"
default BUSYBOX_DEFAULT_WHO
depends on BUSYBOX_CONFIG_FEATURE_UTMP
help
who is used to show who is logged on.
config BUSYBOX_CONFIG_USERS
bool "users"
default BUSYBOX_DEFAULT_USERS
depends on BUSYBOX_CONFIG_FEATURE_UTMP
help
Print users currently logged on.
config BUSYBOX_CONFIG_WHOAMI
bool "whoami"
default BUSYBOX_DEFAULT_WHOAMI
help
whoami is used to print the username of the current
user id (same as id -un).
config BUSYBOX_CONFIG_YES
bool "yes"
default BUSYBOX_DEFAULT_YES
@ -971,17 +931,4 @@ config BUSYBOX_CONFIG_FEATURE_HUMAN_READABLE
help
Allow df, du, and ls to have human readable output.
comment "Common options for md5sum, sha1sum, sha256sum, sha512sum, sha3sum"
depends on BUSYBOX_CONFIG_MD5SUM || BUSYBOX_CONFIG_SHA1SUM || BUSYBOX_CONFIG_SHA256SUM || BUSYBOX_CONFIG_SHA512SUM || BUSYBOX_CONFIG_SHA3SUM
config BUSYBOX_CONFIG_FEATURE_MD5_SHA1_SUM_CHECK
bool "Enable -c, -s and -w options"
default BUSYBOX_DEFAULT_FEATURE_MD5_SHA1_SUM_CHECK
depends on BUSYBOX_CONFIG_MD5SUM || BUSYBOX_CONFIG_SHA1SUM || BUSYBOX_CONFIG_SHA256SUM || BUSYBOX_CONFIG_SHA512SUM || BUSYBOX_CONFIG_SHA3SUM
help
Enabling the -c options allows files to be checked
against pre-calculated hash values.
-s and -w are useful options when verifying checksums.
endmenu

@ -194,28 +194,22 @@ config BUSYBOX_CONFIG_GREP
help
grep is used to search files for a specified pattern.
config BUSYBOX_CONFIG_FEATURE_GREP_EGREP_ALIAS
bool "Enable extended regular expressions (egrep & grep -E)"
default BUSYBOX_DEFAULT_FEATURE_GREP_EGREP_ALIAS
depends on BUSYBOX_CONFIG_GREP
config BUSYBOX_CONFIG_EGREP
bool "egrep"
default BUSYBOX_DEFAULT_EGREP
help
Enabled support for extended regular expressions. Extended
regular expressions allow for alternation (foo|bar), grouping,
and various repetition operators.
Alias to "grep -E"
config BUSYBOX_CONFIG_FEATURE_GREP_FGREP_ALIAS
bool "Alias fgrep to grep -F"
default BUSYBOX_DEFAULT_FEATURE_GREP_FGREP_ALIAS
depends on BUSYBOX_CONFIG_GREP
config BUSYBOX_CONFIG_FGREP
bool "fgrep"
default BUSYBOX_DEFAULT_FGREP
help
fgrep sees the search pattern as a normal string rather than
regular expressions.
grep -F always works, this just creates the fgrep alias.
Alias to "grep -F"
config BUSYBOX_CONFIG_FEATURE_GREP_CONTEXT
bool "Enable before and after context flags (-A, -B and -C)"
default BUSYBOX_DEFAULT_FEATURE_GREP_CONTEXT
depends on BUSYBOX_CONFIG_GREP
depends on BUSYBOX_CONFIG_GREP || BUSYBOX_CONFIG_EGREP
help
Print the specified number of leading (-B) and/or trailing (-A)
context surrounding our matching lines.

@ -45,15 +45,27 @@ config BUSYBOX_CONFIG_FEATURE_BOOTCHARTD_CONFIG_FILE
Enable reading and parsing of $PWD/bootchartd.conf
and /etc/bootchartd.conf files.
config BUSYBOX_CONFIG_HALT
bool "poweroff, halt, and reboot"
bool "halt"
default BUSYBOX_DEFAULT_HALT
help
Stop all processes and either halt, reboot, or power off the system.
Stop all processes and halt the system.
config BUSYBOX_CONFIG_POWEROFF
bool "poweroff"
default BUSYBOX_DEFAULT_POWEROFF
help
Stop all processes and power off the system.
config BUSYBOX_CONFIG_REBOOT
bool "reboot"
default BUSYBOX_DEFAULT_REBOOT
help
Stop all processes and reboot the system.
config BUSYBOX_CONFIG_FEATURE_CALL_TELINIT
bool "Call telinit on shutdown and reboot"
default BUSYBOX_DEFAULT_FEATURE_CALL_TELINIT
depends on BUSYBOX_CONFIG_HALT && !BUSYBOX_CONFIG_INIT
depends on (BUSYBOX_CONFIG_HALT || BUSYBOX_CONFIG_POWEROFF || BUSYBOX_CONFIG_REBOOT) && !BUSYBOX_CONFIG_INIT
help
Call an external program (normally telinit) to facilitate
a switch to a proper runlevel.
@ -143,7 +155,7 @@ config BUSYBOX_CONFIG_FEATURE_EXTRA_QUIET
config BUSYBOX_CONFIG_FEATURE_INIT_COREDUMPS
bool "Support dumping core for child processes (debugging only)"
default BUSYBOX_DEFAULT_FEATURE_INIT_COREDUMPS
default BUSYBOX_DEFAULT_FEATURE_INIT_COREDUMPS # not Y because this is a debug option
depends on BUSYBOX_CONFIG_INIT || BUSYBOX_CONFIG_LINUXRC
help
If this option is enabled and the file /.init_enable_core

@ -45,6 +45,30 @@ config BUSYBOX_CONFIG_FEATURE_RTMINMAX
Support RTMIN[+n] and RTMAX[-n] signal names
in kill, killall etc. This costs ~250 bytes.
choice
prompt "Buffer allocation policy"
default BUSYBOX_CONFIG_FEATURE_BUFFERS_GO_ON_STACK
help
There are 3 ways BusyBox can handle buffer allocations:
- Use malloc. This costs code size for the call to xmalloc.
- Put them on stack. For some very small machines with limited stack
space, this can be deadly. For most folks, this works just fine.
- Put them in BSS. This works beautifully for computers with a real
MMU (and OS support), but wastes runtime RAM for uCLinux. This
behavior was the only one available for BusyBox versions 0.48 and
earlier.
config BUSYBOX_CONFIG_FEATURE_BUFFERS_USE_MALLOC
bool "Allocate with Malloc"
config BUSYBOX_CONFIG_FEATURE_BUFFERS_GO_ON_STACK
bool "Allocate on the Stack"
config BUSYBOX_CONFIG_FEATURE_BUFFERS_GO_IN_BSS
bool "Allocate in the .bss section"
endchoice
config BUSYBOX_CONFIG_PASSWORD_MINLEN
int "Minimum password length"
default BUSYBOX_DEFAULT_PASSWORD_MINLEN
@ -191,6 +215,131 @@ config BUSYBOX_CONFIG_FEATURE_EDITING_ASK_TERMINAL
correctly, or want to save on code size (about 400 bytes),
then do not turn this option on.
config BUSYBOX_CONFIG_LOCALE_SUPPORT
bool "Enable locale support (system needs locale for this to work)"
default BUSYBOX_DEFAULT_LOCALE_SUPPORT
help
Enable this if your system has locale support and you would like
busybox to support locale settings.
config BUSYBOX_CONFIG_UNICODE_SUPPORT
bool "Support Unicode"
default BUSYBOX_DEFAULT_UNICODE_SUPPORT
help
This makes various applets aware that one byte is not
one character on screen.
Busybox aims to eventually work correctly with Unicode displays.
Any older encodings are not guaranteed to work.
Probably by the time when busybox will be fully Unicode-clean,
other encodings will be mainly of historic interest.
config BUSYBOX_CONFIG_UNICODE_USING_LOCALE
bool "Use libc routines for Unicode (else uses internal ones)"
default BUSYBOX_DEFAULT_UNICODE_USING_LOCALE
depends on BUSYBOX_CONFIG_UNICODE_SUPPORT && BUSYBOX_CONFIG_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_CONFIG_FEATURE_CHECK_UNICODE_IN_ENV
bool "Check $LC_ALL, $LC_CTYPE and $LANG environment variables"
default BUSYBOX_DEFAULT_FEATURE_CHECK_UNICODE_IN_ENV
depends on BUSYBOX_CONFIG_UNICODE_SUPPORT && !BUSYBOX_CONFIG_UNICODE_USING_LOCALE
help
With this option on, Unicode support is activated
only if locale-related variables have the value of the form
"xxxx.utf8"
Otherwise, Unicode support will be always enabled and active.
config BUSYBOX_CONFIG_SUBST_WCHAR
int "Character code to substitute unprintable characters with"
depends on BUSYBOX_CONFIG_UNICODE_SUPPORT
default BUSYBOX_DEFAULT_SUBST_WCHAR
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_CONFIG_LAST_SUPPORTED_WCHAR
int "Range of supported Unicode characters"
depends on BUSYBOX_CONFIG_UNICODE_SUPPORT
default BUSYBOX_DEFAULT_LAST_SUPPORTED_WCHAR
help
Any character with Unicode value bigger than this is assumed
to be non-printable on output device. Many applets replace
such characters with substitution character.
The idea is that many valid printable Unicode chars
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_CONFIG_UNICODE_COMBINING_WCHARS
bool "Allow zero-width Unicode characters on output"
default BUSYBOX_DEFAULT_UNICODE_COMBINING_WCHARS
depends on BUSYBOX_CONFIG_UNICODE_SUPPORT
help
With this option off, any Unicode char with width of 0
is substituted on output.
config BUSYBOX_CONFIG_UNICODE_WIDE_WCHARS
bool "Allow wide Unicode characters on output"
default BUSYBOX_DEFAULT_UNICODE_WIDE_WCHARS
depends on BUSYBOX_CONFIG_UNICODE_SUPPORT
help
With this option off, any Unicode char with width > 1
is substituted on output.
config BUSYBOX_CONFIG_UNICODE_BIDI_SUPPORT
bool "Bidirectional character-aware line input"
default BUSYBOX_DEFAULT_UNICODE_BIDI_SUPPORT
depends on BUSYBOX_CONFIG_UNICODE_SUPPORT && !BUSYBOX_CONFIG_UNICODE_USING_LOCALE
help
With this option on, right-to-left Unicode characters
are treated differently on input (e.g. cursor movement).
config BUSYBOX_CONFIG_UNICODE_NEUTRAL_TABLE
bool "In bidi input, support non-ASCII neutral chars too"
default BUSYBOX_DEFAULT_UNICODE_NEUTRAL_TABLE
depends on BUSYBOX_CONFIG_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_CONFIG_UNICODE_PRESERVE_BROKEN
bool "Make it possible to enter sequences of chars which are not Unicode"
default BUSYBOX_DEFAULT_UNICODE_PRESERVE_BROKEN
depends on BUSYBOX_CONFIG_UNICODE_SUPPORT
help
With this option on, on line-editing input (such as used by shells)
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_CONFIG_FEATURE_NON_POSIX_CP
bool "Non-POSIX, but safer, copying to special nodes"
default BUSYBOX_DEFAULT_FEATURE_NON_POSIX_CP
@ -215,6 +364,19 @@ config BUSYBOX_CONFIG_FEATURE_VERBOSE_CP_MESSAGE
cp: cannot stat '/vmlinuz/file': Not a directory
This will cost you ~60 bytes.
config BUSYBOX_CONFIG_FEATURE_USE_SENDFILE
bool "Use sendfile system call"
default BUSYBOX_DEFAULT_FEATURE_USE_SENDFILE
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
When enabled, busybox will use the kernel sendfile() function
instead of read/write loops to copy data between file descriptors
(for example, cp command does this a lot).
If sendfile() doesn't work, copying code falls back to read/write
loop. sendfile() was originally implemented for faster I/O
from files to sockets, but since Linux 2.6.33 it was extended
to work for many more file types.
config BUSYBOX_CONFIG_FEATURE_COPYBUF_KB
int "Copy buffer size, in kilobytes"
range 1 1024

@ -1,20 +1,11 @@
# DO NOT EDIT. This file is generated from Config.src
menu "Mail Utilities"
config BUSYBOX_CONFIG_MAKEMIME
bool "makemime"
default BUSYBOX_DEFAULT_MAKEMIME
help
Create MIME-formatted messages.
config BUSYBOX_CONFIG_FEATURE_MIME_CHARSET
string "Default charset"
default BUSYBOX_DEFAULT_FEATURE_MIME_CHARSET
depends on BUSYBOX_CONFIG_MAKEMIME || BUSYBOX_CONFIG_REFORMIME || BUSYBOX_CONFIG_SENDMAIL
help
Default charset of the message.
config BUSYBOX_CONFIG_POPMAILDIR
bool "popmaildir"
default BUSYBOX_DEFAULT_POPMAILDIR
@ -31,7 +22,6 @@ config BUSYBOX_CONFIG_FEATURE_POPMAILDIR_DELIVERY
of the message before actual delivery (-F "prog [args...]").
Allow to use a custom program for message actual delivery
(-M "prog [args...]").
config BUSYBOX_CONFIG_REFORMIME
bool "reformime"
default BUSYBOX_DEFAULT_REFORMIME
@ -45,11 +35,17 @@ config BUSYBOX_CONFIG_FEATURE_REFORMIME_COMPAT
help
Accept (for compatibility only) and ignore options
other than -x and -X.
config BUSYBOX_CONFIG_SENDMAIL
bool "sendmail"
default BUSYBOX_DEFAULT_SENDMAIL
help
Barebones sendmail.
config BUSYBOX_CONFIG_FEATURE_MIME_CHARSET
string "Default charset"
default BUSYBOX_DEFAULT_FEATURE_MIME_CHARSET
depends on BUSYBOX_CONFIG_MAKEMIME || BUSYBOX_CONFIG_REFORMIME || BUSYBOX_CONFIG_SENDMAIL
help
Default charset of the message.
endmenu

@ -6,259 +6,6 @@
menu "Miscellaneous Utilities"
config BUSYBOX_CONFIG_CONSPY
bool "conspy"
default BUSYBOX_DEFAULT_CONSPY
select BUSYBOX_CONFIG_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_CONFIG_CROND
bool "crond"
default BUSYBOX_DEFAULT_CROND
select BUSYBOX_CONFIG_FEATURE_SYSLOG
help
Crond is a background daemon that parses individual crontab
files and executes commands on behalf of the users in question.
This is a port of dcron from slackware. It uses files of the
format /var/spool/cron/crontabs/<username> files, for example:
$ cat /var/spool/cron/crontabs/root
# Run daily cron jobs at 4:40 every day:
40 4 * * * /etc/cron/daily > /dev/null 2>&1
config BUSYBOX_CONFIG_FEATURE_CROND_D
bool "Support option -d to redirect output to stderr"
depends on BUSYBOX_CONFIG_CROND
default BUSYBOX_DEFAULT_FEATURE_CROND_D
help
-d N sets loglevel (0:most verbose) and directs all output to stderr.
config BUSYBOX_CONFIG_FEATURE_CROND_CALL_SENDMAIL
bool "Report command output via email (using sendmail)"
default BUSYBOX_DEFAULT_FEATURE_CROND_CALL_SENDMAIL
depends on BUSYBOX_CONFIG_CROND
help
Command output will be sent to corresponding user via email.
config BUSYBOX_CONFIG_FEATURE_CROND_DIR
string "crond spool directory"
default BUSYBOX_DEFAULT_FEATURE_CROND_DIR
depends on BUSYBOX_CONFIG_CROND || BUSYBOX_CONFIG_CRONTAB
help
Location of crond spool.
config BUSYBOX_CONFIG_I2CGET
bool "i2cget"
default BUSYBOX_DEFAULT_I2CGET
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
Read from I2C/SMBus chip registers.
config BUSYBOX_CONFIG_I2CSET
bool "i2cset"
default BUSYBOX_DEFAULT_I2CSET
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
Set I2C registers.
config BUSYBOX_CONFIG_I2CDUMP
bool "i2cdump"
default BUSYBOX_DEFAULT_I2CDUMP
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
Examine I2C registers.
config BUSYBOX_CONFIG_I2CDETECT
bool "i2cdetect"
default BUSYBOX_DEFAULT_I2CDETECT
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
Detect I2C chips.
config BUSYBOX_CONFIG_LESS
bool "less"
default BUSYBOX_DEFAULT_LESS
help
'less' is a pager, meaning that it displays text files. It possesses
a wide array of features, and is an improvement over 'more'.
config BUSYBOX_CONFIG_FEATURE_LESS_MAXLINES
int "Max number of input lines less will try to eat"
default BUSYBOX_DEFAULT_FEATURE_LESS_MAXLINES
depends on BUSYBOX_CONFIG_LESS
config BUSYBOX_CONFIG_FEATURE_LESS_BRACKETS
bool "Enable bracket searching"
default BUSYBOX_DEFAULT_FEATURE_LESS_BRACKETS
depends on BUSYBOX_CONFIG_LESS
help
This option adds the capability to search for matching left and right
brackets, facilitating programming.
config BUSYBOX_CONFIG_FEATURE_LESS_FLAGS
bool "Enable -m/-M"
default BUSYBOX_DEFAULT_FEATURE_LESS_FLAGS
depends on BUSYBOX_CONFIG_LESS
help
The -M/-m flag enables a more sophisticated status line.
config BUSYBOX_CONFIG_FEATURE_LESS_TRUNCATE
bool "Enable -S"
default BUSYBOX_DEFAULT_FEATURE_LESS_TRUNCATE
depends on BUSYBOX_CONFIG_LESS
help
The -S flag causes long lines to be truncated rather than
wrapped.
config BUSYBOX_CONFIG_FEATURE_LESS_MARKS
bool "Enable marks"
default BUSYBOX_DEFAULT_FEATURE_LESS_MARKS
depends on BUSYBOX_CONFIG_LESS
help
Marks enable positions in a file to be stored for easy reference.
config BUSYBOX_CONFIG_FEATURE_LESS_REGEXP
bool "Enable regular expressions"
default BUSYBOX_DEFAULT_FEATURE_LESS_REGEXP
depends on BUSYBOX_CONFIG_LESS
help
Enable regular expressions, allowing complex file searches.
config BUSYBOX_CONFIG_FEATURE_LESS_WINCH
bool "Enable automatic resizing on window size changes"
default BUSYBOX_DEFAULT_FEATURE_LESS_WINCH
depends on BUSYBOX_CONFIG_LESS
help
Makes less track window size changes.
config BUSYBOX_CONFIG_FEATURE_LESS_ASK_TERMINAL
bool "Use 'tell me cursor position' ESC sequence to measure window"
default BUSYBOX_DEFAULT_FEATURE_LESS_ASK_TERMINAL
depends on BUSYBOX_CONFIG_FEATURE_LESS_WINCH
help
Makes less track window size changes.
If terminal size can't be retrieved and $LINES/$COLUMNS are not set,
this option makes less perform a last-ditch effort to find it:
position cursor to 999,999 and ask terminal to report real
cursor position using "ESC [ 6 n" escape sequence, then read stdin.
This is not clean but helps a lot on serial lines and such.
config BUSYBOX_CONFIG_FEATURE_LESS_DASHCMD
bool "Enable flag changes ('-' command)"
default BUSYBOX_DEFAULT_FEATURE_LESS_DASHCMD
depends on BUSYBOX_CONFIG_LESS
help
This enables the ability to change command-line flags within
less itself ('-' keyboard command).
config BUSYBOX_CONFIG_FEATURE_LESS_LINENUMS
bool "Enable dynamic switching of line numbers"
default BUSYBOX_DEFAULT_FEATURE_LESS_LINENUMS
depends on BUSYBOX_CONFIG_FEATURE_LESS_DASHCMD
help
Enables "-N" command.
config BUSYBOX_CONFIG_NANDWRITE
bool "nandwrite"
default BUSYBOX_DEFAULT_NANDWRITE
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
Write to the specified MTD device, with bad blocks awareness
config BUSYBOX_CONFIG_NANDDUMP
bool "nanddump"
default BUSYBOX_DEFAULT_NANDDUMP
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
Dump the content of raw NAND chip
config BUSYBOX_CONFIG_RFKILL
bool "rfkill"
default BUSYBOX_DEFAULT_RFKILL # doesn't build on Ubuntu 9.04
select BUSYBOX_CONFIG_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
config BUSYBOX_CONFIG_SETSERIAL
bool "setserial"
default BUSYBOX_DEFAULT_SETSERIAL
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
Retrieve or set Linux serial port.
config BUSYBOX_CONFIG_TASKSET
bool "taskset"
default BUSYBOX_DEFAULT_TASKSET # doesn't build on some non-x86 targets (m68k)
help
Retrieve or set a processes's CPU affinity.
This requires sched_{g,s}etaffinity support in your libc.
config BUSYBOX_CONFIG_FEATURE_TASKSET_FANCY
bool "Fancy output"
default BUSYBOX_DEFAULT_FEATURE_TASKSET_FANCY
depends on BUSYBOX_CONFIG_TASKSET
help
Add code for fancy output. This merely silences a compiler-warning
and adds about 135 Bytes. May be needed for machines with alot
of CPUs.
config BUSYBOX_CONFIG_UBIATTACH
bool "ubiattach"
default BUSYBOX_DEFAULT_UBIATTACH
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
Attach MTD device to an UBI device.
config BUSYBOX_CONFIG_UBIDETACH
bool "ubidetach"
default BUSYBOX_DEFAULT_UBIDETACH
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
Detach MTD device from an UBI device.
config BUSYBOX_CONFIG_UBIMKVOL
bool "ubimkvol"
default BUSYBOX_DEFAULT_UBIMKVOL
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
Create a UBI volume.
config BUSYBOX_CONFIG_UBIRMVOL
bool "ubirmvol"
default BUSYBOX_DEFAULT_UBIRMVOL
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
Delete a UBI volume.
config BUSYBOX_CONFIG_UBIRSVOL
bool "ubirsvol"
default BUSYBOX_DEFAULT_UBIRSVOL
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
Resize a UBI volume.
config BUSYBOX_CONFIG_UBIUPDATEVOL
bool "ubiupdatevol"
default BUSYBOX_DEFAULT_UBIUPDATEVOL
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
Update a UBI volume.
config BUSYBOX_CONFIG_UBIRENAME
bool "ubirename"
default BUSYBOX_DEFAULT_UBIRENAME
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
Utility to rename UBI volumes
config BUSYBOX_CONFIG_WALL
bool "wall"
default BUSYBOX_DEFAULT_WALL
depends on BUSYBOX_CONFIG_FEATURE_UTMP
help
Write a message to all users that are logged in.
config BUSYBOX_CONFIG_ADJTIMEX
bool "adjtimex"
default BUSYBOX_DEFAULT_ADJTIMEX
@ -266,7 +13,6 @@ config BUSYBOX_CONFIG_ADJTIMEX
help
Adjtimex reads and optionally sets adjustment parameters for
the Linux clock adjustment algorithm.
config BUSYBOX_CONFIG_BBCONFIG
bool "bbconfig"
default BUSYBOX_DEFAULT_BBCONFIG
@ -287,7 +33,6 @@ config BUSYBOX_CONFIG_FEATURE_COMPRESS_BBCONFIG
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_CONFIG_BEEP
bool "beep"
default BUSYBOX_DEFAULT_BEEP
@ -310,7 +55,6 @@ config BUSYBOX_CONFIG_FEATURE_BEEP_LENGTH_MS
depends on BUSYBOX_CONFIG_BEEP
help
Length in ms for default beep.
config BUSYBOX_CONFIG_CHAT
bool "chat"
default BUSYBOX_DEFAULT_CHAT
@ -377,14 +121,54 @@ config BUSYBOX_CONFIG_FEATURE_CHAT_CLR_ABORT
default BUSYBOX_DEFAULT_FEATURE_CHAT_CLR_ABORT
help
Support CLR_ABORT directive.
config BUSYBOX_CONFIG_CHRT
bool "chrt"
default BUSYBOX_DEFAULT_CHRT
help
manipulate real-time attributes of a process.
This requires sched_{g,s}etparam support in your libc.
config BUSYBOX_CONFIG_CONSPY
bool "conspy"
default BUSYBOX_DEFAULT_CONSPY
select BUSYBOX_CONFIG_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_CONFIG_CROND
bool "crond"
default BUSYBOX_DEFAULT_CROND
select BUSYBOX_CONFIG_FEATURE_SYSLOG
help
Crond is a background daemon that parses individual crontab
files and executes commands on behalf of the users in question.
This is a port of dcron from slackware. It uses files of the
format /var/spool/cron/crontabs/<username> files, for example:
$ cat /var/spool/cron/crontabs/root
# Run daily cron jobs at 4:40 every day:
40 4 * * * /etc/cron/daily > /dev/null 2>&1
config BUSYBOX_CONFIG_FEATURE_CROND_D
bool "Support option -d to redirect output to stderr"
depends on BUSYBOX_CONFIG_CROND
default BUSYBOX_DEFAULT_FEATURE_CROND_D
help
-d N sets loglevel (0:most verbose) and directs all output to stderr.
config BUSYBOX_CONFIG_FEATURE_CROND_CALL_SENDMAIL
bool "Report command output via email (using sendmail)"
default BUSYBOX_DEFAULT_FEATURE_CROND_CALL_SENDMAIL
depends on BUSYBOX_CONFIG_CROND
help
Command output will be sent to corresponding user via email.
config BUSYBOX_CONFIG_FEATURE_CROND_DIR
string "crond spool directory"
default BUSYBOX_DEFAULT_FEATURE_CROND_DIR
depends on BUSYBOX_CONFIG_CROND || BUSYBOX_CONFIG_CRONTAB
help
Location of crond spool.
config BUSYBOX_CONFIG_CRONTAB
bool "crontab"
default BUSYBOX_DEFAULT_CRONTAB
@ -393,7 +177,6 @@ config BUSYBOX_CONFIG_CRONTAB
the superuser may specify a different user and/or crontab directory.
Note that Busybox binary must be setuid root for this applet to
work properly.
config BUSYBOX_CONFIG_DC
bool "dc"
default BUSYBOX_DEFAULT_DC
@ -408,7 +191,6 @@ config BUSYBOX_CONFIG_FEATURE_DC_LIBM
help
Enable power and exp functions.
NOTE: This will require libm to be present for linking.
config BUSYBOX_CONFIG_DEVFSD
bool "devfsd (obsolete)"
default BUSYBOX_DEFAULT_DEVFSD
@ -465,14 +247,12 @@ config BUSYBOX_CONFIG_FEATURE_DEVFS
tells busybox to look for names like /dev/loop/0 instead of
/dev/loop0. If your /dev directory has normal names instead of
devfs names, you don't want this.
config BUSYBOX_CONFIG_DEVMEM
bool "devmem"
default BUSYBOX_DEFAULT_DEVMEM
help
devmem is a small program that reads and writes from physical
memory using /dev/mem.
config BUSYBOX_CONFIG_EJECT
bool "eject"
default BUSYBOX_DEFAULT_EJECT
@ -487,7 +267,6 @@ config BUSYBOX_CONFIG_FEATURE_EJECT_SCSI
help
Add the -s option to eject, this allows to eject SCSI-Devices and
usb-storage devices.
config BUSYBOX_CONFIG_FBSPLASH
bool "fbsplash"
default BUSYBOX_DEFAULT_FBSPLASH
@ -509,65 +288,31 @@ config BUSYBOX_CONFIG_FBSPLASH
- commands for fifo:
"NN" (ASCII decimal number) - percentage to show on progress bar
"exit" - well you guessed it
config BUSYBOX_CONFIG_FLASHCP
bool "flashcp"
default BUSYBOX_DEFAULT_FLASHCP # doesn't build on Ubuntu 8.04
help
The flashcp binary, inspired by mtd-utils as of git head 5eceb74f7.
This utility is used to copy images into a MTD device.
config BUSYBOX_CONFIG_FLASH_LOCK
bool "flash_lock"
default BUSYBOX_DEFAULT_FLASH_LOCK # doesn't build on Ubuntu 8.04
help
The flash_lock binary from mtd-utils as of git head 5ec0c10d0. This
utility locks part or all of the flash device.
config BUSYBOX_CONFIG_FLASH_UNLOCK
bool "flash_unlock"
default BUSYBOX_DEFAULT_FLASH_UNLOCK # doesn't build on Ubuntu 8.04
help
The flash_unlock binary from mtd-utils as of git head 5ec0c10d0. This
utility unlocks part or all of the flash device.
config BUSYBOX_CONFIG_FLASH_ERASEALL
bool "flash_eraseall"
default BUSYBOX_DEFAULT_FLASH_ERASEALL # doesn't build on Ubuntu 8.04
help
The flash_eraseall binary from mtd-utils as of git head c4c6a59eb.
This utility is used to erase the whole MTD device.
config BUSYBOX_CONFIG_IONICE
bool "ionice"
default BUSYBOX_DEFAULT_IONICE
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
Set/set program io scheduling class and priority
Requires kernel >= 2.6.13
config BUSYBOX_CONFIG_INOTIFYD
bool "inotifyd"
default BUSYBOX_DEFAULT_INOTIFYD # doesn't build on Knoppix 5
help
Simple inotify daemon. Reports filesystem changes. Requires
kernel >= 2.6.13
config BUSYBOX_CONFIG_LAST
bool "last"
default BUSYBOX_DEFAULT_LAST
depends on BUSYBOX_CONFIG_FEATURE_WTMP
help
'last' displays a list of the last users that logged into the system.
config BUSYBOX_CONFIG_FEATURE_LAST_FANCY
bool "Turn on output of extra information"
default BUSYBOX_DEFAULT_FEATURE_LAST_FANCY
depends on BUSYBOX_CONFIG_LAST
config BUSYBOX_CONFIG_FLASH_LOCK
bool "flash_lock"
default BUSYBOX_DEFAULT_FLASH_LOCK # doesn't build on Ubuntu 8.04
help
'last' displays detailed information about the last users that
logged into the system (mimics sysvinit last). +900 bytes.
The flash_lock binary from mtd-utils as of git head 5ec0c10d0. This
utility locks part or all of the flash device.
config BUSYBOX_CONFIG_FLASH_UNLOCK
bool "flash_unlock"
default BUSYBOX_DEFAULT_FLASH_UNLOCK # doesn't build on Ubuntu 8.04
help
The flash_unlock binary from mtd-utils as of git head 5ec0c10d0. This
utility unlocks part or all of the flash device.
config BUSYBOX_CONFIG_FLASHCP
bool "flashcp"
default BUSYBOX_DEFAULT_FLASHCP # doesn't build on Ubuntu 8.04
help
The flashcp binary, inspired by mtd-utils as of git head 5eceb74f7.
This utility is used to copy images into a MTD device.
config BUSYBOX_CONFIG_HDPARM
bool "hdparm"
default BUSYBOX_DEFAULT_HDPARM
@ -626,13 +371,149 @@ config BUSYBOX_CONFIG_FEATURE_HDPARM_HDIO_GETSET_DMA
depends on BUSYBOX_CONFIG_HDPARM
help
Enables the 'hdparm -d' option to get/set using_dma flag.
config BUSYBOX_CONFIG_I2CGET
bool "i2cget"
default BUSYBOX_DEFAULT_I2CGET
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
Read from I2C/SMBus chip registers.
config BUSYBOX_CONFIG_I2CSET
bool "i2cset"
default BUSYBOX_DEFAULT_I2CSET
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
Set I2C registers.
config BUSYBOX_CONFIG_I2CDUMP
bool "i2cdump"
default BUSYBOX_DEFAULT_I2CDUMP
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
Examine I2C registers.
config BUSYBOX_CONFIG_I2CDETECT
bool "i2cdetect"
default BUSYBOX_DEFAULT_I2CDETECT
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
Detect I2C chips.
config BUSYBOX_CONFIG_INOTIFYD
bool "inotifyd"
default BUSYBOX_DEFAULT_INOTIFYD # doesn't build on Knoppix 5
help
Simple inotify daemon. Reports filesystem changes. Requires
kernel >= 2.6.13
config BUSYBOX_CONFIG_IONICE
bool "ionice"
default BUSYBOX_DEFAULT_IONICE
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
Set/set program io scheduling class and priority
Requires kernel >= 2.6.13
config BUSYBOX_CONFIG_LAST
bool "last"
default BUSYBOX_DEFAULT_LAST
depends on BUSYBOX_CONFIG_FEATURE_WTMP
help
'last' displays a list of the last users that logged into the system.
config BUSYBOX_CONFIG_FEATURE_LAST_FANCY
bool "Turn on output of extra information"
default BUSYBOX_DEFAULT_FEATURE_LAST_FANCY
depends on BUSYBOX_CONFIG_LAST
help
'last' displays detailed information about the last users that
logged into the system (mimics sysvinit last). +900 bytes.
config BUSYBOX_CONFIG_LESS
bool "less"
default BUSYBOX_DEFAULT_LESS
help
'less' is a pager, meaning that it displays text files. It possesses
a wide array of features, and is an improvement over 'more'.
config BUSYBOX_CONFIG_FEATURE_LESS_MAXLINES
int "Max number of input lines less will try to eat"
default BUSYBOX_DEFAULT_FEATURE_LESS_MAXLINES
depends on BUSYBOX_CONFIG_LESS
config BUSYBOX_CONFIG_FEATURE_LESS_BRACKETS
bool "Enable bracket searching"
default BUSYBOX_DEFAULT_FEATURE_LESS_BRACKETS
depends on BUSYBOX_CONFIG_LESS
help
This option adds the capability to search for matching left and right
brackets, facilitating programming.
config BUSYBOX_CONFIG_FEATURE_LESS_FLAGS
bool "Enable -m/-M"
default BUSYBOX_DEFAULT_FEATURE_LESS_FLAGS
depends on BUSYBOX_CONFIG_LESS
help
The -M/-m flag enables a more sophisticated status line.
config BUSYBOX_CONFIG_FEATURE_LESS_TRUNCATE
bool "Enable -S"
default BUSYBOX_DEFAULT_FEATURE_LESS_TRUNCATE
depends on BUSYBOX_CONFIG_LESS
help
The -S flag causes long lines to be truncated rather than
wrapped.
config BUSYBOX_CONFIG_FEATURE_LESS_MARKS
bool "Enable marks"
default BUSYBOX_DEFAULT_FEATURE_LESS_MARKS
depends on BUSYBOX_CONFIG_LESS
help
Marks enable positions in a file to be stored for easy reference.
config BUSYBOX_CONFIG_FEATURE_LESS_REGEXP
bool "Enable regular expressions"
default BUSYBOX_DEFAULT_FEATURE_LESS_REGEXP
depends on BUSYBOX_CONFIG_LESS
help
Enable regular expressions, allowing complex file searches.
config BUSYBOX_CONFIG_FEATURE_LESS_WINCH
bool "Enable automatic resizing on window size changes"
default BUSYBOX_DEFAULT_FEATURE_LESS_WINCH
depends on BUSYBOX_CONFIG_LESS
help
Makes less track window size changes.
config BUSYBOX_CONFIG_FEATURE_LESS_ASK_TERMINAL
bool "Use 'tell me cursor position' ESC sequence to measure window"
default BUSYBOX_DEFAULT_FEATURE_LESS_ASK_TERMINAL
depends on BUSYBOX_CONFIG_FEATURE_LESS_WINCH
help
Makes less track window size changes.
If terminal size can't be retrieved and $LINES/$COLUMNS are not set,
this option makes less perform a last-ditch effort to find it:
position cursor to 999,999 and ask terminal to report real
cursor position using "ESC [ 6 n" escape sequence, then read stdin.
This is not clean but helps a lot on serial lines and such.
config BUSYBOX_CONFIG_FEATURE_LESS_DASHCMD
bool "Enable flag changes ('-' command)"
default BUSYBOX_DEFAULT_FEATURE_LESS_DASHCMD
depends on BUSYBOX_CONFIG_LESS
help
This enables the ability to change command-line flags within
less itself ('-' keyboard command).
config BUSYBOX_CONFIG_FEATURE_LESS_LINENUMS
bool "Enable dynamic switching of line numbers"
default BUSYBOX_DEFAULT_FEATURE_LESS_LINENUMS
depends on BUSYBOX_CONFIG_FEATURE_LESS_DASHCMD
help
Enables "-N" command.
config BUSYBOX_CONFIG_LOCK
bool "lock"
default BUSYBOX_DEFAULT_LOCK
help
Small utility for using locks in scripts
config BUSYBOX_CONFIG_MAKEDEVS
bool "makedevs"
default BUSYBOX_DEFAULT_MAKEDEVS
@ -664,25 +545,21 @@ config BUSYBOX_CONFIG_FEATURE_MAKEDEVS_TABLE
bool "table"
endchoice
config BUSYBOX_CONFIG_MAN
bool "man"
default BUSYBOX_DEFAULT_MAN
help
Format and display manual pages.
config BUSYBOX_CONFIG_MICROCOM
bool "microcom"
default BUSYBOX_DEFAULT_MICROCOM
help
The poor man's minicom utility for chatting with serial port devices.
config BUSYBOX_CONFIG_MOUNTPOINT
bool "mountpoint"
default BUSYBOX_DEFAULT_MOUNTPOINT
help
mountpoint checks if the directory is a mountpoint.
config BUSYBOX_CONFIG_MT
bool "mt"
default BUSYBOX_DEFAULT_MT
@ -690,7 +567,19 @@ config BUSYBOX_CONFIG_MT
mt is used to control tape devices. You can use the mt utility
to advance or rewind a tape past a specified number of archive
files on the tape.
config BUSYBOX_CONFIG_NANDWRITE
bool "nandwrite"
default BUSYBOX_DEFAULT_NANDWRITE
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
Write to the specified MTD device, with bad blocks awareness
config BUSYBOX_CONFIG_NANDDUMP
bool "nanddump"
default BUSYBOX_DEFAULT_NANDDUMP
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
Dump the content of raw NAND chip
config BUSYBOX_CONFIG_RAIDAUTORUN
bool "raidautorun"
default BUSYBOX_DEFAULT_RAIDAUTORUN
@ -698,7 +587,6 @@ config BUSYBOX_CONFIG_RAIDAUTORUN
help
raidautorun tells the kernel md driver to
search and start RAID arrays.
config BUSYBOX_CONFIG_READAHEAD
bool "readahead"
default BUSYBOX_DEFAULT_READAHEAD
@ -716,6 +604,17 @@ config BUSYBOX_CONFIG_READAHEAD
As readahead(2) blocks until each file has been read, it is best to
run this applet as a background job.
config BUSYBOX_CONFIG_RFKILL
bool "rfkill"
default BUSYBOX_DEFAULT_RFKILL # doesn't build on Ubuntu 9.04
select BUSYBOX_CONFIG_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
config BUSYBOX_CONFIG_RUNLEVEL
bool "runlevel"
@ -726,27 +625,44 @@ config BUSYBOX_CONFIG_RUNLEVEL
This applet uses utmp but does not rely on busybox supporing
utmp on purpose. It is used by e.g. emdebian via /etc/init.d/rc.
config BUSYBOX_CONFIG_RX
bool "rx"
default BUSYBOX_DEFAULT_RX
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
Receive files using the Xmodem protocol.
config BUSYBOX_CONFIG_SETSERIAL
bool "setserial"
default BUSYBOX_DEFAULT_SETSERIAL
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
Retrieve or set Linux serial port.
config BUSYBOX_CONFIG_SETSID
bool "setsid"
default BUSYBOX_DEFAULT_SETSID
help
setsid runs a program in a new session
config BUSYBOX_CONFIG_STRINGS
bool "strings"
default BUSYBOX_DEFAULT_STRINGS
help
strings prints the printable character sequences for each file
specified.
config BUSYBOX_CONFIG_TASKSET
bool "taskset"
default BUSYBOX_DEFAULT_TASKSET # doesn't build on some non-x86 targets (m68k)
help
Retrieve or set a processes's CPU affinity.
This requires sched_{g,s}etaffinity support in your libc.
config BUSYBOX_CONFIG_FEATURE_TASKSET_FANCY
bool "Fancy output"
default BUSYBOX_DEFAULT_FEATURE_TASKSET_FANCY
depends on BUSYBOX_CONFIG_TASKSET
help
Add code for fancy output. This merely silences a compiler-warning
and adds about 135 Bytes. May be needed for machines with alot
of CPUs.
config BUSYBOX_CONFIG_TIME
bool "time"
default BUSYBOX_DEFAULT_TIME
@ -754,14 +670,12 @@ config BUSYBOX_CONFIG_TIME
The time command runs the specified program with the given arguments.
When the command finishes, time writes a message to standard output
giving timing statistics about this program run.
config BUSYBOX_CONFIG_TIMEOUT
bool "timeout"
default BUSYBOX_DEFAULT_TIMEOUT
help
Runs a program and watches it. If it does not terminate in
specified number of seconds, it is sent a signal.
config BUSYBOX_CONFIG_TTYSIZE
bool "ttysize"
default BUSYBOX_DEFAULT_TTYSIZE
@ -770,13 +684,64 @@ config BUSYBOX_CONFIG_TTYSIZE
only height, or both, in any order. It also does not complain on
error, but returns default 80x24.
Usage in shell scripts: width=`ttysize w`.
config BUSYBOX_CONFIG_UBIATTACH
bool "ubiattach"
default BUSYBOX_DEFAULT_UBIATTACH
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
Attach MTD device to an UBI device.
config BUSYBOX_CONFIG_UBIDETACH
bool "ubidetach"
default BUSYBOX_DEFAULT_UBIDETACH
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
Detach MTD device from an UBI device.
config BUSYBOX_CONFIG_UBIMKVOL
bool "ubimkvol"
default BUSYBOX_DEFAULT_UBIMKVOL
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
Create a UBI volume.
config BUSYBOX_CONFIG_UBIRMVOL
bool "ubirmvol"
default BUSYBOX_DEFAULT_UBIRMVOL
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
Delete a UBI volume.
config BUSYBOX_CONFIG_UBIRSVOL
bool "ubirsvol"
default BUSYBOX_DEFAULT_UBIRSVOL
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
Resize a UBI volume.
config BUSYBOX_CONFIG_UBIUPDATEVOL
bool "ubiupdatevol"
default BUSYBOX_DEFAULT_UBIUPDATEVOL
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
Update a UBI volume.
config BUSYBOX_CONFIG_UBIRENAME
bool "ubirename"
default BUSYBOX_DEFAULT_UBIRENAME
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
Utility to rename UBI volumes
config BUSYBOX_CONFIG_VOLNAME
bool "volname"
default BUSYBOX_DEFAULT_VOLNAME
help
Prints a CD-ROM volume name.
config BUSYBOX_CONFIG_WALL
bool "wall"
default BUSYBOX_DEFAULT_WALL
depends on BUSYBOX_CONFIG_FEATURE_UTMP
help
Write a message to all users that are logged in.
config BUSYBOX_CONFIG_WATCHDOG
bool "watchdog"
default BUSYBOX_DEFAULT_WATCHDOG

@ -6,13 +6,6 @@
menu "Linux Module Utilities"
config BUSYBOX_CONFIG_MODINFO
bool "modinfo"
default BUSYBOX_DEFAULT_MODINFO
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
Show information about a Linux Kernel module
config BUSYBOX_CONFIG_MODPROBE_SMALL
bool "Simplified modutils"
default BUSYBOX_DEFAULT_MODPROBE_SMALL
@ -44,41 +37,23 @@ config BUSYBOX_CONFIG_MODPROBE_SMALL
- rmmod is an alias to modprobe -r
- depmod generates modules.dep.bb
config BUSYBOX_CONFIG_FEATURE_MODPROBE_SMALL_OPTIONS_ON_CMDLINE
bool "Accept module options on modprobe command line"
default BUSYBOX_DEFAULT_FEATURE_MODPROBE_SMALL_OPTIONS_ON_CMDLINE
depends on BUSYBOX_CONFIG_MODPROBE_SMALL
config BUSYBOX_CONFIG_DEPMOD
bool "depmod"
default BUSYBOX_DEFAULT_DEPMOD
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
Allow insmod and modprobe take module options from command line.
config BUSYBOX_CONFIG_FEATURE_MODPROBE_SMALL_CHECK_ALREADY_LOADED
bool "Skip loading of already loaded modules"
default BUSYBOX_DEFAULT_FEATURE_MODPROBE_SMALL_CHECK_ALREADY_LOADED
depends on BUSYBOX_CONFIG_MODPROBE_SMALL
help
Check if the module is already loaded.
depmod generates modules.dep (and potentially modules.alias
and modules.symbols) that contain dependency information
for modprobe.
config BUSYBOX_CONFIG_INSMOD
bool "insmod"
default BUSYBOX_DEFAULT_INSMOD
depends on !BUSYBOX_CONFIG_MODPROBE_SMALL
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
insmod is used to load specified modules in the running kernel.
config BUSYBOX_CONFIG_RMMOD
bool "rmmod"
default BUSYBOX_DEFAULT_RMMOD
depends on !BUSYBOX_CONFIG_MODPROBE_SMALL
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
rmmod is used to unload specified modules from the kernel.
config BUSYBOX_CONFIG_LSMOD
bool "lsmod"
default BUSYBOX_DEFAULT_LSMOD
depends on !BUSYBOX_CONFIG_MODPROBE_SMALL
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
lsmod is used to display a list of loaded modules.
@ -86,17 +61,35 @@ config BUSYBOX_CONFIG_LSMOD
config BUSYBOX_CONFIG_FEATURE_LSMOD_PRETTY_2_6_OUTPUT
bool "Pretty output"
default BUSYBOX_DEFAULT_FEATURE_LSMOD_PRETTY_2_6_OUTPUT
depends on BUSYBOX_CONFIG_LSMOD
depends on BUSYBOX_CONFIG_LSMOD && !BUSYBOX_CONFIG_MODPROBE_SMALL
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
This option makes output format of lsmod adjusted to
the format of module-init-tools for Linux kernel 2.6.
Increases size somewhat.
config BUSYBOX_CONFIG_MODINFO
bool "modinfo"
default BUSYBOX_DEFAULT_MODINFO
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
Show information about a Linux Kernel module
config BUSYBOX_CONFIG_FEATURE_MODPROBE_SMALL_OPTIONS_ON_CMDLINE
bool "Accept module options on modprobe command line"
default BUSYBOX_DEFAULT_FEATURE_MODPROBE_SMALL_OPTIONS_ON_CMDLINE
depends on BUSYBOX_CONFIG_MODPROBE_SMALL
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
Allow insmod and modprobe take module options from command line.
config BUSYBOX_CONFIG_FEATURE_MODPROBE_SMALL_CHECK_ALREADY_LOADED
bool "Skip loading of already loaded modules"
default BUSYBOX_DEFAULT_FEATURE_MODPROBE_SMALL_CHECK_ALREADY_LOADED
depends on BUSYBOX_CONFIG_MODPROBE_SMALL
help
Check if the module is already loaded.
config BUSYBOX_CONFIG_MODPROBE
bool "modprobe"
default BUSYBOX_DEFAULT_MODPROBE
depends on !BUSYBOX_CONFIG_MODPROBE_SMALL
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
Handle the loading of modules, and their dependencies on a high
@ -105,7 +98,7 @@ config BUSYBOX_CONFIG_MODPROBE
config BUSYBOX_CONFIG_FEATURE_MODPROBE_BLACKLIST
bool "Blacklist support"
default BUSYBOX_DEFAULT_FEATURE_MODPROBE_BLACKLIST
depends on BUSYBOX_CONFIG_MODPROBE
depends on BUSYBOX_CONFIG_MODPROBE && !BUSYBOX_CONFIG_MODPROBE_SMALL
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
Say 'y' here to enable support for the 'blacklist' command in
@ -113,16 +106,12 @@ config BUSYBOX_CONFIG_FEATURE_MODPROBE_BLACKLIST
blacklisted modules. This is useful if you want to prevent your
hardware autodetection scripts to load modules like evdev, frame
buffer drivers etc.
config BUSYBOX_CONFIG_DEPMOD
bool "depmod"
default BUSYBOX_DEFAULT_DEPMOD
depends on !BUSYBOX_CONFIG_MODPROBE_SMALL
config BUSYBOX_CONFIG_RMMOD
bool "rmmod"
default BUSYBOX_DEFAULT_RMMOD
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
depmod generates modules.dep (and potentially modules.alias
and modules.symbols) that contain dependency information
for modprobe.
rmmod is used to unload specified modules from the kernel.
comment "Options common to multiple modutils"

@ -6,183 +6,6 @@
menu "Networking Utilities"
config BUSYBOX_CONFIG_NAMEIF
bool "nameif"
default BUSYBOX_DEFAULT_NAMEIF
select BUSYBOX_CONFIG_PLATFORM_LINUX
select BUSYBOX_CONFIG_FEATURE_SYSLOG
help
nameif is used to rename network interface by its MAC address.
Renamed interfaces MUST be in the down state.
It is possible to use a file (default: /etc/mactab)
with list of new interface names and MACs.
Maximum interface name length: IFNAMSIZ = 16
File fields are separated by space or tab.
File format:
# Comment
new_interface_name XX:XX:XX:XX:XX:XX
config BUSYBOX_CONFIG_FEATURE_NAMEIF_EXTENDED
bool "Extended nameif"
default BUSYBOX_DEFAULT_FEATURE_NAMEIF_EXTENDED
depends on BUSYBOX_CONFIG_NAMEIF
help
This extends the nameif syntax to support the bus_info, driver,
phyaddr selectors. The syntax is compatible to the normal nameif.
File format:
new_interface_name driver=asix bus=usb-0000:00:08.2-3
new_interface_name bus=usb-0000:00:08.2-3 00:80:C8:38:91:B5
new_interface_name phy_address=2 00:80:C8:38:91:B5
new_interface_name mac=00:80:C8:38:91:B5
new_interface_name 00:80:C8:38:91:B5
config BUSYBOX_CONFIG_NBDCLIENT
bool "nbd-client"
default BUSYBOX_DEFAULT_NBDCLIENT
help
Network block device client
config BUSYBOX_CONFIG_NC
bool "nc"
default BUSYBOX_DEFAULT_NC
help
A simple Unix utility which reads and writes data across network
connections.
config BUSYBOX_CONFIG_NC_SERVER
bool "Netcat server options (-l)"
default BUSYBOX_DEFAULT_NC_SERVER
depends on BUSYBOX_CONFIG_NC
help
Allow netcat to act as a server.
config BUSYBOX_CONFIG_NC_EXTRA
bool "Netcat extensions (-eiw and -f FILE)"
default BUSYBOX_DEFAULT_NC_EXTRA
depends on BUSYBOX_CONFIG_NC
help
Add -e (support for executing the rest of the command line after
making or receiving a successful connection), -i (delay interval for
lines sent), -w (timeout for initial connection).
config BUSYBOX_CONFIG_NC_110_COMPAT
bool "Netcat 1.10 compatibility (+2.5k)"
default BUSYBOX_DEFAULT_NC_110_COMPAT # off specially for Rob
depends on BUSYBOX_CONFIG_NC
help
This option makes nc closely follow original nc-1.10.
The code is about 2.5k bigger. It enables
-s ADDR, -n, -u, -v, -o FILE, -z options, but loses
busybox-specific extensions: -f FILE.
config BUSYBOX_CONFIG_PING
bool "ping"
default BUSYBOX_DEFAULT_PING
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
ping uses the ICMP protocol's mandatory ECHO_REQUEST datagram to
elicit an ICMP ECHO_RESPONSE from a host or gateway.
config BUSYBOX_CONFIG_PING6
bool "ping6"
default BUSYBOX_DEFAULT_PING6
depends on BUSYBOX_CONFIG_FEATURE_IPV6 && BUSYBOX_CONFIG_PING
help
This will give you a ping that can talk IPv6.
config BUSYBOX_CONFIG_FEATURE_FANCY_PING
bool "Enable fancy ping output"
default BUSYBOX_DEFAULT_FEATURE_FANCY_PING
depends on BUSYBOX_CONFIG_PING
help
Make the output from the ping applet include statistics, and at the
same time provide full support for ICMP packets.
config BUSYBOX_CONFIG_WGET
bool "wget"
default BUSYBOX_DEFAULT_WGET
help
wget is a utility for non-interactive download of files from HTTP
and FTP servers.
config BUSYBOX_CONFIG_FEATURE_WGET_STATUSBAR
bool "Enable a nifty process meter (+2k)"
default BUSYBOX_DEFAULT_FEATURE_WGET_STATUSBAR
depends on BUSYBOX_CONFIG_WGET
help
Enable the transfer progress bar for wget transfers.
config BUSYBOX_CONFIG_FEATURE_WGET_AUTHENTICATION
bool "Enable HTTP authentication"
default BUSYBOX_DEFAULT_FEATURE_WGET_AUTHENTICATION
depends on BUSYBOX_CONFIG_WGET
help
Support authenticated HTTP transfers.
config BUSYBOX_CONFIG_FEATURE_WGET_LONG_OPTIONS
bool "Enable long options"
default BUSYBOX_DEFAULT_FEATURE_WGET_LONG_OPTIONS
depends on BUSYBOX_CONFIG_WGET && BUSYBOX_CONFIG_LONG_OPTS
help
Support long options for the wget applet.
config BUSYBOX_CONFIG_FEATURE_WGET_TIMEOUT
bool "Enable timeout option -T SEC"
default BUSYBOX_DEFAULT_FEATURE_WGET_TIMEOUT
depends on BUSYBOX_CONFIG_WGET
help
Supports network read and connect timeouts for wget,
so that wget will give up and timeout, through the -T
command line option.
Currently only connect and network data read timeout are
supported (i.e., timeout is not applied to the DNS query). When
FEATURE_WGET_LONG_OPTIONS is also enabled, the --timeout option
will work in addition to -T.
config BUSYBOX_CONFIG_FEATURE_WGET_OPENSSL
bool "Try to connect to HTTPS using openssl"
default BUSYBOX_DEFAULT_FEATURE_WGET_OPENSSL
depends on BUSYBOX_CONFIG_WGET
help
Choose how wget establishes SSL connection for https:// URLs.
Busybox itself contains no SSL code. wget will spawn
a helper program to talk over HTTPS.
OpenSSL has a simple SSL client for debug purposes.
If you select "openssl" helper, wget will effectively call
"openssl s_client -quiet -connect IP:443 2>/dev/null"
and pipe its data through it.
Note inconvenient API: host resolution is done twice,
and there is no guarantee openssl's idea of IPv6 address
format is the same as ours.
Another problem is that s_client prints debug information
to stderr, and it needs to be suppressed. This means
all error messages get suppressed too.
openssl is also a big binary, often dynamically linked
against ~15 libraries.
config BUSYBOX_CONFIG_FEATURE_WGET_SSL_HELPER
bool "Try to connect to HTTPS using ssl_helper"
default BUSYBOX_DEFAULT_FEATURE_WGET_SSL_HELPER
depends on BUSYBOX_CONFIG_WGET
help
Choose how wget establishes SSL connection for https:// URLs.
Busybox itself contains no SSL code. wget will spawn
a helper program to talk over HTTPS.
ssl_helper is a tool which can be built statically
from busybox sources against a small embedded SSL library.
Please see networking/ssl_helper/README.
It does not require double host resolution and emits
error messages to stderr.
Precompiled static binary may be available at
http://busybox.net/downloads/binaries/
config BUSYBOX_CONFIG_WHOIS
bool "whois"
default BUSYBOX_DEFAULT_WHOIS
help
whois is a client for the whois directory service
config BUSYBOX_CONFIG_FEATURE_IPV6
bool "Enable IPv6 support"
default BUSYBOX_DEFAULT_FEATURE_IPV6
@ -230,7 +53,6 @@ config BUSYBOX_CONFIG_ARP
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
Manipulate the system ARP cache.
config BUSYBOX_CONFIG_ARPING
bool "arping"
default BUSYBOX_DEFAULT_ARPING
@ -264,37 +86,26 @@ config BUSYBOX_CONFIG_FEATURE_BRCTL_SHOW
help
Add support for option which prints the current config:
show
config BUSYBOX_CONFIG_DNSD
bool "dnsd"
default BUSYBOX_DEFAULT_DNSD
help
Small and static DNS server daemon.
config BUSYBOX_CONFIG_ETHER_WAKE
bool "ether-wake"
default BUSYBOX_DEFAULT_ETHER_WAKE
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
Send a magic packet to wake up sleeping machines.
config BUSYBOX_CONFIG_FAKEIDENTD
bool "fakeidentd"
default BUSYBOX_DEFAULT_FAKEIDENTD
select BUSYBOX_CONFIG_FEATURE_SYSLOG
help
fakeidentd listens on the ident port and returns a predefined
fake value on any query.
config BUSYBOX_CONFIG_FTPD
bool "ftpd"
default BUSYBOX_DEFAULT_FTPD
help
simple FTP daemon. You have to run it via inetd.
config BUSYBOX_CONFIG_FEATURE_FTP_WRITE
config BUSYBOX_CONFIG_FEATURE_FTPD_WRITE
bool "Enable upload commands"
default BUSYBOX_DEFAULT_FEATURE_FTP_WRITE
default BUSYBOX_DEFAULT_FEATURE_FTPD_WRITE
depends on BUSYBOX_CONFIG_FTPD
help
Enable all kinds of FTP upload commands (-w option)
@ -310,13 +121,12 @@ config BUSYBOX_CONFIG_FEATURE_FTPD_ACCEPT_BROKEN_LIST
it increases the code size by ~40 bytes.
Most other ftp servers seem to behave similar to this.
config BUSYBOX_CONFIG_FEATURE_FTP_AUTHENTICATION
config BUSYBOX_CONFIG_FEATURE_FTPD_AUTHENTICATION
bool "Enable authentication"
default BUSYBOX_DEFAULT_FEATURE_FTP_AUTHENTICATION
default BUSYBOX_DEFAULT_FEATURE_FTPD_AUTHENTICATION
depends on BUSYBOX_CONFIG_FTPD
help
Enable basic system login as seen in telnet etc.
config BUSYBOX_CONFIG_FTPGET
bool "ftpget"
default BUSYBOX_DEFAULT_FTPGET
@ -335,13 +145,17 @@ config BUSYBOX_CONFIG_FEATURE_FTPGETPUT_LONG_OPTIONS
depends on BUSYBOX_CONFIG_LONG_OPTS && (BUSYBOX_CONFIG_FTPGET || BUSYBOX_CONFIG_FTPPUT)
help
Support long options for the ftpget/ftpput applet.
config BUSYBOX_CONFIG_HOSTNAME
bool "hostname"
default BUSYBOX_DEFAULT_HOSTNAME
help
Show or set the system's host name.
config BUSYBOX_CONFIG_DNSDOMAINNAME
bool "dnsdomainname"
default BUSYBOX_DEFAULT_DNSDOMAINNAME
help
Alias to "hostname -d".
config BUSYBOX_CONFIG_HTTPD
bool "httpd"
default BUSYBOX_DEFAULT_HTTPD
@ -460,7 +274,6 @@ config BUSYBOX_CONFIG_FEATURE_HTTPD_GZIP
help
Makes httpd send files using GZIP content encoding if the
client supports it and a pre-compressed <file>.gz exists.
config BUSYBOX_CONFIG_IFCONFIG
bool "ifconfig"
default BUSYBOX_DEFAULT_IFCONFIG
@ -508,7 +321,6 @@ config BUSYBOX_CONFIG_FEATURE_IFCONFIG_BROADCAST_PLUS
help
Setting this will make ifconfig attempt to find the broadcast
automatically if the value '+' is used.
config BUSYBOX_CONFIG_IFENSLAVE
bool "ifenslave"
default BUSYBOX_DEFAULT_IFENSLAVE
@ -516,20 +328,18 @@ config BUSYBOX_CONFIG_IFENSLAVE
help
Userspace application to bind several interfaces
to a logical interface (use with kernel bonding driver).
config BUSYBOX_CONFIG_IFPLUGD
bool "ifplugd"
default BUSYBOX_DEFAULT_IFPLUGD
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
Network interface plug detection daemon.
config BUSYBOX_CONFIG_IFUPDOWN
bool "ifupdown"
default BUSYBOX_DEFAULT_IFUPDOWN
config BUSYBOX_CONFIG_IFUP
bool "ifup"
default BUSYBOX_DEFAULT_IFUP
help
Activate or deactivate the specified interfaces. This applet makes
use of either "ifconfig" and "route" or the "ip" command to actually
Activate the specified interfaces. This applet makes use
of either "ifconfig" and "route" or the "ip" command to actually
configure network interfaces. Therefore, you will probably also want
to enable either IFCONFIG and ROUTE, or enable
FEATURE_IFUPDOWN_IP and the various IP options. Of
@ -540,10 +350,16 @@ config BUSYBOX_CONFIG_IFUPDOWN
"ifconfig", "route" and "run-parts" or the "ip" command, either
via busybox or via standalone utilities.
config BUSYBOX_CONFIG_IFDOWN
bool "ifdown"
default BUSYBOX_DEFAULT_IFDOWN
help
Deactivate the specified interfaces.
config BUSYBOX_CONFIG_IFUPDOWN_IFSTATE_PATH
string "Absolute path to ifstate file"
default BUSYBOX_DEFAULT_IFUPDOWN_IFSTATE_PATH
depends on BUSYBOX_CONFIG_IFUPDOWN
depends on BUSYBOX_CONFIG_IFUP || BUSYBOX_CONFIG_IFDOWN
help
ifupdown keeps state information in a file called ifstate.
Typically it is located in /var/run/ifstate, however
@ -552,69 +368,39 @@ config BUSYBOX_CONFIG_IFUPDOWN_IFSTATE_PATH
This config option defines location of ifstate.
config BUSYBOX_CONFIG_FEATURE_IFUPDOWN_IP
bool "Use ip applet"
bool "Use ip tool (else ifconfig/route is used)"
default BUSYBOX_DEFAULT_FEATURE_IFUPDOWN_IP
depends on BUSYBOX_CONFIG_IFUPDOWN
depends on BUSYBOX_CONFIG_IFUP || BUSYBOX_CONFIG_IFDOWN
help
Use the iproute "ip" command to implement "ifup" and "ifdown", rather
than the default of using the older 'ifconfig' and 'route' utilities.
config BUSYBOX_CONFIG_FEATURE_IFUPDOWN_IP_BUILTIN
bool "Use busybox ip applet"
default BUSYBOX_DEFAULT_FEATURE_IFUPDOWN_IP_BUILTIN
depends on BUSYBOX_CONFIG_FEATURE_IFUPDOWN_IP
select BUSYBOX_CONFIG_PLATFORM_LINUX
select BUSYBOX_CONFIG_IP
select BUSYBOX_CONFIG_FEATURE_IP_ADDRESS
select BUSYBOX_CONFIG_FEATURE_IP_LINK
select BUSYBOX_CONFIG_FEATURE_IP_ROUTE
help
Use the busybox iproute "ip" applet to implement "ifupdown".
than the default of using the older "ifconfig" and "route" utilities.
If left disabled, you must install the full-blown iproute2
utility or the "ifup" and "ifdown" applets will not work.
config BUSYBOX_CONFIG_FEATURE_IFUPDOWN_IFCONFIG_BUILTIN
bool "Use busybox ifconfig and route applets"
default BUSYBOX_DEFAULT_FEATURE_IFUPDOWN_IFCONFIG_BUILTIN
depends on BUSYBOX_CONFIG_IFUPDOWN && !BUSYBOX_CONFIG_FEATURE_IFUPDOWN_IP
select BUSYBOX_CONFIG_IFCONFIG
select BUSYBOX_CONFIG_ROUTE
help
Use the busybox iproute "ifconfig" and "route" applets to
implement the "ifup" and "ifdown" utilities.
If Y: you must install either the full-blown iproute2 package
or enable "ip" applet in Busybox, or the "ifup" and "ifdown" applets
will not work.
If left disabled, you must install the full-blown ifconfig
and route utilities, or the "ifup" and "ifdown" applets will not
work.
If N: you must install either the full-blown ifconfig and route
utilities, or enable these applets in Busybox.
config BUSYBOX_CONFIG_FEATURE_IFUPDOWN_IPV4
bool "Support for IPv4"
default BUSYBOX_DEFAULT_FEATURE_IFUPDOWN_IPV4
depends on BUSYBOX_CONFIG_IFUPDOWN
depends on BUSYBOX_CONFIG_IFUP || BUSYBOX_CONFIG_IFDOWN
help
If you want ifup/ifdown to talk IPv4, leave this on.
config BUSYBOX_CONFIG_FEATURE_IFUPDOWN_IPV6
bool "Support for IPv6"
default BUSYBOX_DEFAULT_FEATURE_IFUPDOWN_IPV6
depends on BUSYBOX_CONFIG_IFUPDOWN && BUSYBOX_CONFIG_FEATURE_IPV6
depends on (BUSYBOX_CONFIG_IFUP || BUSYBOX_CONFIG_IFDOWN) && BUSYBOX_CONFIG_FEATURE_IPV6
help
If you need support for IPv6, turn this option on.
### UNUSED
###config FEATURE_IFUPDOWN_IPX
### bool "Support for IPX"
### default y
### depends on IFUPDOWN
### help
### If this option is selected you can use busybox to work with IPX
### networks.
config BUSYBOX_CONFIG_FEATURE_IFUPDOWN_MAPPING
bool "Enable mapping support"
default BUSYBOX_DEFAULT_FEATURE_IFUPDOWN_MAPPING
depends on BUSYBOX_CONFIG_IFUPDOWN
depends on BUSYBOX_CONFIG_IFUP || BUSYBOX_CONFIG_IFDOWN
help
This enables support for the "mapping" stanza, unless you have
a weird network setup you don't need it.
@ -622,13 +408,12 @@ config BUSYBOX_CONFIG_FEATURE_IFUPDOWN_MAPPING
config BUSYBOX_CONFIG_FEATURE_IFUPDOWN_EXTERNAL_DHCP
bool "Support for external dhcp clients"
default BUSYBOX_DEFAULT_FEATURE_IFUPDOWN_EXTERNAL_DHCP
depends on BUSYBOX_CONFIG_IFUPDOWN
depends on BUSYBOX_CONFIG_IFUP || BUSYBOX_CONFIG_IFDOWN
help
This enables support for the external dhcp clients. Clients are
tried in the following order: dhcpcd, dhclient, pump and udhcpc.
Otherwise, if udhcpc applet is enabled, it is used.
Otherwise, ifup/ifdown will have no support for DHCP.
config BUSYBOX_CONFIG_INETD
bool "inetd"
default BUSYBOX_DEFAULT_INETD
@ -678,7 +463,6 @@ config BUSYBOX_CONFIG_FEATURE_INETD_RPC
select BUSYBOX_CONFIG_FEATURE_HAVE_RPC
help
Support Sun-RPC based services
config BUSYBOX_CONFIG_IP
bool "ip"
default BUSYBOX_DEFAULT_IP
@ -688,24 +472,72 @@ config BUSYBOX_CONFIG_IP
utility. You generally don't need "ip" to use busybox with
TCP/IP.
config BUSYBOX_CONFIG_IPADDR
bool "ipaddr"
default BUSYBOX_DEFAULT_IPADDR
select BUSYBOX_CONFIG_FEATURE_IP_ADDRESS
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
Support short form of ip addr: ipaddr
config BUSYBOX_CONFIG_IPLINK
bool "iplink"
default BUSYBOX_DEFAULT_IPLINK
select BUSYBOX_CONFIG_FEATURE_IP_LINK
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
Support short form of ip link: iplink
config BUSYBOX_CONFIG_IPROUTE
bool "iproute"
default BUSYBOX_DEFAULT_IPROUTE
select BUSYBOX_CONFIG_FEATURE_IP_ROUTE
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
Support short form of ip route: iproute
config BUSYBOX_CONFIG_IPTUNNEL
bool "iptunnel"
default BUSYBOX_DEFAULT_IPTUNNEL
select BUSYBOX_CONFIG_FEATURE_IP_TUNNEL
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
Support short form of ip tunnel: iptunnel
config BUSYBOX_CONFIG_IPRULE
bool "iprule"
default BUSYBOX_DEFAULT_IPRULE
select BUSYBOX_CONFIG_FEATURE_IP_RULE
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
Support short form of ip rule: iprule
config BUSYBOX_CONFIG_IPNEIGH
bool "ipneigh"
default BUSYBOX_DEFAULT_IPNEIGH
select BUSYBOX_CONFIG_FEATURE_IP_NEIGH
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
Support short form of ip neigh: ipneigh
config BUSYBOX_CONFIG_FEATURE_IP_ADDRESS
bool "ip address"
default BUSYBOX_DEFAULT_FEATURE_IP_ADDRESS
depends on BUSYBOX_CONFIG_IP
depends on BUSYBOX_CONFIG_IP || BUSYBOX_CONFIG_IPADDR
help
Address manipulation support for the "ip" applet.
config BUSYBOX_CONFIG_FEATURE_IP_LINK
bool "ip link"
default BUSYBOX_DEFAULT_FEATURE_IP_LINK
depends on BUSYBOX_CONFIG_IP
depends on BUSYBOX_CONFIG_IP || BUSYBOX_CONFIG_IPLINK
help
Configure network devices with "ip".
config BUSYBOX_CONFIG_FEATURE_IP_ROUTE
bool "ip route"
default BUSYBOX_DEFAULT_FEATURE_IP_ROUTE
depends on BUSYBOX_CONFIG_IP
depends on BUSYBOX_CONFIG_IP || BUSYBOX_CONFIG_IPROUTE
help
Add support for routing table management to "ip".
@ -719,80 +551,33 @@ config BUSYBOX_CONFIG_FEATURE_IP_ROUTE_DIR
config BUSYBOX_CONFIG_FEATURE_IP_TUNNEL
bool "ip tunnel"
default BUSYBOX_DEFAULT_FEATURE_IP_TUNNEL
depends on BUSYBOX_CONFIG_IP
depends on BUSYBOX_CONFIG_IP || BUSYBOX_CONFIG_IPTUNNEL
help
Add support for tunneling commands to "ip".
config BUSYBOX_CONFIG_FEATURE_IP_RULE
bool "ip rule"
default BUSYBOX_DEFAULT_FEATURE_IP_RULE
depends on BUSYBOX_CONFIG_IP
depends on BUSYBOX_CONFIG_IP || BUSYBOX_CONFIG_IPRULE
help
Add support for rule commands to "ip".
config BUSYBOX_CONFIG_FEATURE_IP_NEIGH
bool "ip neighbor"
default BUSYBOX_DEFAULT_FEATURE_IP_NEIGH
depends on BUSYBOX_CONFIG_IP
depends on BUSYBOX_CONFIG_IP || BUSYBOX_CONFIG_IPNEIGH
help
Add support for neighbor commands to "ip".
config BUSYBOX_CONFIG_FEATURE_IP_SHORT_FORMS
bool "Support short forms of ip commands"
default BUSYBOX_DEFAULT_FEATURE_IP_SHORT_FORMS
depends on BUSYBOX_CONFIG_IP
help
Also support short-form of ip <OBJECT> commands:
ip addr -> ipaddr
ip link -> iplink
ip route -> iproute
ip tunnel -> iptunnel
ip rule -> iprule
ip neigh -> ipneigh
Say N unless you desparately need the short form of the ip
object commands.
config BUSYBOX_CONFIG_FEATURE_IP_RARE_PROTOCOLS
bool "Support displaying rarely used link types"
default BUSYBOX_DEFAULT_FEATURE_IP_RARE_PROTOCOLS
depends on BUSYBOX_CONFIG_IP
depends on BUSYBOX_CONFIG_IP || BUSYBOX_CONFIG_IPADDR || BUSYBOX_CONFIG_IPLINK || BUSYBOX_CONFIG_IPROUTE || BUSYBOX_CONFIG_IPTUNNEL || BUSYBOX_CONFIG_IPRULE || BUSYBOX_CONFIG_IPNEIGH
help
If you are not going to use links of type "frad", "econet",
"bif" etc, you probably don't need to enable this.
Ethernet, wireless, infrared, ppp/slip, ip tunnelling
link types are supported without this option selected.
config BUSYBOX_CONFIG_IPADDR
bool
default BUSYBOX_DEFAULT_IPADDR
depends on BUSYBOX_CONFIG_FEATURE_IP_SHORT_FORMS && BUSYBOX_CONFIG_FEATURE_IP_ADDRESS
config BUSYBOX_CONFIG_IPLINK
bool
default BUSYBOX_DEFAULT_IPLINK
depends on BUSYBOX_CONFIG_FEATURE_IP_SHORT_FORMS && BUSYBOX_CONFIG_FEATURE_IP_LINK
config BUSYBOX_CONFIG_IPROUTE
bool
default BUSYBOX_DEFAULT_IPROUTE
depends on BUSYBOX_CONFIG_FEATURE_IP_SHORT_FORMS && BUSYBOX_CONFIG_FEATURE_IP_ROUTE
config BUSYBOX_CONFIG_IPTUNNEL
bool
default BUSYBOX_DEFAULT_IPTUNNEL
depends on BUSYBOX_CONFIG_FEATURE_IP_SHORT_FORMS && BUSYBOX_CONFIG_FEATURE_IP_TUNNEL
config BUSYBOX_CONFIG_IPRULE
bool
default BUSYBOX_DEFAULT_IPRULE
depends on BUSYBOX_CONFIG_FEATURE_IP_SHORT_FORMS && BUSYBOX_CONFIG_FEATURE_IP_RULE
config BUSYBOX_CONFIG_IPNEIGH
bool
default BUSYBOX_DEFAULT_IPNEIGH
depends on BUSYBOX_CONFIG_FEATURE_IP_SHORT_FORMS && BUSYBOX_CONFIG_FEATURE_IP_NEIGH
config BUSYBOX_CONFIG_IPCALC
bool "ipcalc"
default BUSYBOX_DEFAULT_IPCALC
@ -814,13 +599,84 @@ config BUSYBOX_CONFIG_FEATURE_IPCALC_LONG_OPTIONS
depends on BUSYBOX_CONFIG_IPCALC && BUSYBOX_CONFIG_LONG_OPTS
help
Support long options for the ipcalc applet.
config BUSYBOX_CONFIG_FAKEIDENTD
bool "fakeidentd"
default BUSYBOX_DEFAULT_FAKEIDENTD
select BUSYBOX_CONFIG_FEATURE_SYSLOG
help
fakeidentd listens on the ident port and returns a predefined
fake value on any query.
config BUSYBOX_CONFIG_NAMEIF
bool "nameif"
default BUSYBOX_DEFAULT_NAMEIF
select BUSYBOX_CONFIG_PLATFORM_LINUX
select BUSYBOX_CONFIG_FEATURE_SYSLOG
help
nameif is used to rename network interface by its MAC address.
Renamed interfaces MUST be in the down state.
It is possible to use a file (default: /etc/mactab)
with list of new interface names and MACs.
Maximum interface name length: IFNAMSIZ = 16
File fields are separated by space or tab.
File format:
# Comment
new_interface_name XX:XX:XX:XX:XX:XX
config BUSYBOX_CONFIG_FEATURE_NAMEIF_EXTENDED
bool "Extended nameif"
default BUSYBOX_DEFAULT_FEATURE_NAMEIF_EXTENDED
depends on BUSYBOX_CONFIG_NAMEIF
help
This extends the nameif syntax to support the bus_info, driver,
phyaddr selectors. The syntax is compatible to the normal nameif.
File format:
new_interface_name driver=asix bus=usb-0000:00:08.2-3
new_interface_name bus=usb-0000:00:08.2-3 00:80:C8:38:91:B5
new_interface_name phy_address=2 00:80:C8:38:91:B5
new_interface_name mac=00:80:C8:38:91:B5
new_interface_name 00:80:C8:38:91:B5
config BUSYBOX_CONFIG_NBDCLIENT
bool "nbd-client"
default BUSYBOX_DEFAULT_NBDCLIENT
help
Network block device client
config BUSYBOX_CONFIG_NC
bool "nc"
default BUSYBOX_DEFAULT_NC
help
A simple Unix utility which reads and writes data across network
connections.
config BUSYBOX_CONFIG_NC_SERVER
bool "Netcat server options (-l)"
default BUSYBOX_DEFAULT_NC_SERVER
depends on BUSYBOX_CONFIG_NC
help
Allow netcat to act as a server.
config BUSYBOX_CONFIG_NC_EXTRA
bool "Netcat extensions (-eiw and -f FILE)"
default BUSYBOX_DEFAULT_NC_EXTRA
depends on BUSYBOX_CONFIG_NC
help
Add -e (support for executing the rest of the command line after
making or receiving a successful connection), -i (delay interval for
lines sent), -w (timeout for initial connection).
config BUSYBOX_CONFIG_NC_110_COMPAT
bool "Netcat 1.10 compatibility (+2.5k)"
default BUSYBOX_DEFAULT_NC_110_COMPAT # off specially for Rob
depends on BUSYBOX_CONFIG_NC
help
This option makes nc closely follow original nc-1.10.
The code is about 2.5k bigger. It enables
-s ADDR, -n, -u, -v, -o FILE, -z options, but loses
busybox-specific extensions: -f FILE.
config BUSYBOX_CONFIG_NETMSG
bool "netmsg"
default BUSYBOX_DEFAULT_NETMSG
help
simple program for sending udp broadcast messages
config BUSYBOX_CONFIG_NETSTAT
bool "netstat"
default BUSYBOX_DEFAULT_NETSTAT
@ -843,13 +699,11 @@ config BUSYBOX_CONFIG_FEATURE_NETSTAT_PRG
help
Add support for -p flag to print out PID and program name.
+700 bytes of code.
config BUSYBOX_CONFIG_NSLOOKUP
bool "nslookup"
default BUSYBOX_DEFAULT_NSLOOKUP
help
nslookup is a tool to query Internet name servers.
config BUSYBOX_CONFIG_NTPD
bool "ntpd"
default BUSYBOX_DEFAULT_NTPD
@ -872,20 +726,39 @@ config BUSYBOX_CONFIG_FEATURE_NTPD_CONF
help
Make ntpd look in /etc/ntp.conf for peers. Only "server address"
is supported.
config BUSYBOX_CONFIG_PING
bool "ping"
default BUSYBOX_DEFAULT_PING
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
ping uses the ICMP protocol's mandatory ECHO_REQUEST datagram to
elicit an ICMP ECHO_RESPONSE from a host or gateway.
config BUSYBOX_CONFIG_PING6
bool "ping6"
default BUSYBOX_DEFAULT_PING6
depends on BUSYBOX_CONFIG_FEATURE_IPV6
help
This will give you a ping that can talk IPv6.
config BUSYBOX_CONFIG_FEATURE_FANCY_PING
bool "Enable fancy ping output"
default BUSYBOX_DEFAULT_FEATURE_FANCY_PING
depends on BUSYBOX_CONFIG_PING || BUSYBOX_CONFIG_PING6
help
Make the output from the ping applet include statistics, and at the
same time provide full support for ICMP packets.
config BUSYBOX_CONFIG_PSCAN
bool "pscan"
default BUSYBOX_DEFAULT_PSCAN
help
Simple network port scanner.
config BUSYBOX_CONFIG_ROUTE
bool "route"
default BUSYBOX_DEFAULT_ROUTE
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
Route displays or manipulates the kernel's IP routing tables.
config BUSYBOX_CONFIG_SLATTACH
bool "slattach"
default BUSYBOX_DEFAULT_SLATTACH
@ -893,17 +766,6 @@ config BUSYBOX_CONFIG_SLATTACH
help
slattach is a small utility to attach network interfaces to serial
lines.
#config TC
# bool "tc"
# default y
# help
# show / manipulate traffic control settings
#
#config FEATURE_TC_INGRESS
# def_bool n
# depends on TC
config BUSYBOX_CONFIG_TCPSVD
bool "tcpsvd"
default BUSYBOX_DEFAULT_TCPSVD
@ -911,6 +773,12 @@ config BUSYBOX_CONFIG_TCPSVD
tcpsvd listens on a TCP port and runs a program for each new
connection.
config BUSYBOX_CONFIG_UDPSVD
bool "udpsvd"
default BUSYBOX_DEFAULT_UDPSVD
help
udpsvd listens on an UDP port and runs a program for each new
connection.
config BUSYBOX_CONFIG_TELNET
bool "telnet"
default BUSYBOX_DEFAULT_TELNET
@ -936,7 +804,6 @@ config BUSYBOX_CONFIG_FEATURE_TELNET_AUTOLOGIN
remote host you are connecting to. This is useful when you need to
log into a machine without telling the username (autologin). This
option enables `-a' and `-l USER' arguments.
config BUSYBOX_CONFIG_TELNETD
bool "telnetd"
default BUSYBOX_DEFAULT_TELNETD
@ -978,7 +845,6 @@ config BUSYBOX_CONFIG_TELNETD
with all that done, telnetd _should_ work....
config BUSYBOX_CONFIG_FEATURE_TELNETD_STANDALONE
bool "Support standalone telnetd (not inetd only)"
default BUSYBOX_DEFAULT_FEATURE_TELNETD_STANDALONE
@ -1006,7 +872,6 @@ config BUSYBOX_CONFIG_FEATURE_TELNETD_INETD_WAIT
This option is rarely used. "tcp nowait" is much more usual
way of running tcp services, including telnetd.
You most probably want to say N here.
config BUSYBOX_CONFIG_TFTP
bool "tftp"
default BUSYBOX_DEFAULT_TFTP
@ -1071,7 +936,6 @@ config BUSYBOX_CONFIG_TFTP_DEBUG
help
Make tftp[d] print debugging messages on stderr.
This is useful if you are diagnosing a bug in tftp[d].
config BUSYBOX_CONFIG_TRACEROUTE
bool "traceroute"
default BUSYBOX_DEFAULT_TRACEROUTE
@ -1082,33 +946,24 @@ config BUSYBOX_CONFIG_TRACEROUTE
config BUSYBOX_CONFIG_TRACEROUTE6
bool "traceroute6"
default BUSYBOX_DEFAULT_TRACEROUTE6
depends on BUSYBOX_CONFIG_FEATURE_IPV6 && BUSYBOX_CONFIG_TRACEROUTE
depends on BUSYBOX_CONFIG_FEATURE_IPV6
help
Utility to trace the route of IPv6 packets.
config BUSYBOX_CONFIG_FEATURE_TRACEROUTE_VERBOSE
bool "Enable verbose output"
default BUSYBOX_DEFAULT_FEATURE_TRACEROUTE_VERBOSE
depends on BUSYBOX_CONFIG_TRACEROUTE
depends on BUSYBOX_CONFIG_TRACEROUTE || BUSYBOX_CONFIG_TRACEROUTE6
help
Add some verbosity to traceroute. This includes among other things
hostnames and ICMP response types.
config BUSYBOX_CONFIG_FEATURE_TRACEROUTE_SOURCE_ROUTE
bool "Enable loose source route"
default BUSYBOX_DEFAULT_FEATURE_TRACEROUTE_SOURCE_ROUTE
depends on BUSYBOX_CONFIG_TRACEROUTE
help
Add option to specify a loose source route gateway
(8 maximum).
config BUSYBOX_CONFIG_FEATURE_TRACEROUTE_USE_ICMP
bool "Use ICMP instead of UDP"
bool "Enable -I option (use ICMP instead of UDP)"
default BUSYBOX_DEFAULT_FEATURE_TRACEROUTE_USE_ICMP
depends on BUSYBOX_CONFIG_TRACEROUTE
depends on BUSYBOX_CONFIG_TRACEROUTE || BUSYBOX_CONFIG_TRACEROUTE6
help
Add option -I to use ICMP ECHO instead of UDP datagrams.
config BUSYBOX_CONFIG_TUNCTL
bool "tunctl"
default BUSYBOX_DEFAULT_TUNCTL
@ -1123,32 +978,101 @@ config BUSYBOX_CONFIG_FEATURE_TUNCTL_UG
help
Allow to specify owner and group of newly created interface.
340 bytes of pure bloat. Say no here.
config BUSYBOX_CONFIG_VCONFIG
bool "vconfig"
default BUSYBOX_DEFAULT_VCONFIG
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
Creates, removes, and configures VLAN interfaces
config BUSYBOX_CONFIG_WGET
bool "wget"
default BUSYBOX_DEFAULT_WGET
help
wget is a utility for non-interactive download of files from HTTP
and FTP servers.
source udhcp/Config.in
config BUSYBOX_CONFIG_FEATURE_WGET_STATUSBAR
bool "Enable a nifty process meter (+2k)"
default BUSYBOX_DEFAULT_FEATURE_WGET_STATUSBAR
depends on BUSYBOX_CONFIG_WGET
help
Enable the transfer progress bar for wget transfers.
config BUSYBOX_CONFIG_IFUPDOWN_UDHCPC_CMD_OPTIONS
string "ifup udhcpc command line options"
default BUSYBOX_DEFAULT_IFUPDOWN_UDHCPC_CMD_OPTIONS
depends on BUSYBOX_CONFIG_IFUPDOWN && BUSYBOX_CONFIG_UDHCPC
config BUSYBOX_CONFIG_FEATURE_WGET_AUTHENTICATION
bool "Enable HTTP authentication"
default BUSYBOX_DEFAULT_FEATURE_WGET_AUTHENTICATION
depends on BUSYBOX_CONFIG_WGET
help
Command line options to pass to udhcpc from ifup.
Intended to alter options not available in /etc/network/interfaces.
(IE: --syslog --background etc...)
Support authenticated HTTP transfers.
config BUSYBOX_CONFIG_UDPSVD
bool "udpsvd"
default BUSYBOX_DEFAULT_UDPSVD
config BUSYBOX_CONFIG_FEATURE_WGET_LONG_OPTIONS
bool "Enable long options"
default BUSYBOX_DEFAULT_FEATURE_WGET_LONG_OPTIONS
depends on BUSYBOX_CONFIG_WGET && BUSYBOX_CONFIG_LONG_OPTS
help
udpsvd listens on an UDP port and runs a program for each new
connection.
Support long options for the wget applet.
config BUSYBOX_CONFIG_VCONFIG
bool "vconfig"
default BUSYBOX_DEFAULT_VCONFIG
select BUSYBOX_CONFIG_PLATFORM_LINUX
config BUSYBOX_CONFIG_FEATURE_WGET_TIMEOUT
bool "Enable timeout option -T SEC"
default BUSYBOX_DEFAULT_FEATURE_WGET_TIMEOUT
depends on BUSYBOX_CONFIG_WGET
help
Creates, removes, and configures VLAN interfaces
Supports network read and connect timeouts for wget,
so that wget will give up and timeout, through the -T
command line option.
Currently only connect and network data read timeout are
supported (i.e., timeout is not applied to the DNS query). When
FEATURE_WGET_LONG_OPTIONS is also enabled, the --timeout option
will work in addition to -T.
config BUSYBOX_CONFIG_FEATURE_WGET_OPENSSL
bool "Try to connect to HTTPS using openssl"
default BUSYBOX_DEFAULT_FEATURE_WGET_OPENSSL
depends on BUSYBOX_CONFIG_WGET
help
Choose how wget establishes SSL connection for https:// URLs.
Busybox itself contains no SSL code. wget will spawn
a helper program to talk over HTTPS.
OpenSSL has a simple SSL client for debug purposes.
If you select "openssl" helper, wget will effectively run:
"openssl s_client -quiet -connect hostname:443
-servername hostname 2>/dev/null" and pipe its data
through it. -servername is not used if hostname is numeric.
Note inconvenient API: host resolution is done twice,
and there is no guarantee openssl's idea of IPv6 address
format is the same as ours.
Another problem is that s_client prints debug information
to stderr, and it needs to be suppressed. This means
all error messages get suppressed too.
openssl is also a big binary, often dynamically linked
against ~15 libraries.
config BUSYBOX_CONFIG_FEATURE_WGET_SSL_HELPER
bool "Try to connect to HTTPS using ssl_helper"
default BUSYBOX_DEFAULT_FEATURE_WGET_SSL_HELPER
depends on BUSYBOX_CONFIG_WGET
help
Choose how wget establishes SSL connection for https:// URLs.
Busybox itself contains no SSL code. wget will spawn
a helper program to talk over HTTPS.
ssl_helper is a tool which can be built statically
from busybox sources against a small embedded SSL library.
Please see networking/ssl_helper/README.
It does not require double host resolution and emits
error messages to stderr.
Precompiled static binary may be available at
http://busybox.net/downloads/binaries/
config BUSYBOX_CONFIG_WHOIS
bool "whois"
default BUSYBOX_DEFAULT_WHOIS
help
whois is a client for the whois directory service
config BUSYBOX_CONFIG_ZCIP
bool "zcip"
default BUSYBOX_DEFAULT_ZCIP
@ -1162,4 +1086,15 @@ config BUSYBOX_CONFIG_ZCIP
See http://www.zeroconf.org for further details, and "zcip.script"
in the busybox examples.
source udhcp/Config.in
config BUSYBOX_CONFIG_IFUPDOWN_UDHCPC_CMD_OPTIONS
string "ifup udhcpc command line options"
default BUSYBOX_DEFAULT_IFUPDOWN_UDHCPC_CMD_OPTIONS
depends on BUSYBOX_CONFIG_IFUPDOWN && BUSYBOX_CONFIG_UDHCPC
help
Command line options to pass to udhcpc from ifup.
Intended to alter options not available in /etc/network/interfaces.
(IE: --syslog --background etc...)
endmenu

@ -22,7 +22,6 @@ config BUSYBOX_CONFIG_UDHCPD
config BUSYBOX_CONFIG_DHCPRELAY
bool "dhcprelay"
default BUSYBOX_DEFAULT_DHCPRELAY
depends on BUSYBOX_CONFIG_UDHCPD
help
dhcprelay listens for dhcp requests on one or more interfaces
and forwards these requests to a different interface or dhcp
@ -31,7 +30,6 @@ config BUSYBOX_CONFIG_DHCPRELAY
config BUSYBOX_CONFIG_DUMPLEASES
bool "Lease display utility (dumpleases)"
default BUSYBOX_DEFAULT_DUMPLEASES
depends on BUSYBOX_CONFIG_UDHCPD
help
dumpleases displays the leases written out by the udhcpd server.
Lease times are stored in the file by time remaining in lease, or

@ -6,122 +6,6 @@
menu "Process Utilities"
config BUSYBOX_CONFIG_IOSTAT
bool "iostat"
default BUSYBOX_DEFAULT_IOSTAT
help
Report CPU and I/O statistics
config BUSYBOX_CONFIG_LSOF
bool "lsof"
default BUSYBOX_DEFAULT_LSOF
help
Show open files in the format of:
PID <TAB> /path/to/executable <TAB> /path/to/opened/file
config BUSYBOX_CONFIG_MPSTAT
bool "mpstat"
default BUSYBOX_DEFAULT_MPSTAT
help
Per-processor statistics
config BUSYBOX_CONFIG_NMETER
bool "nmeter"
default BUSYBOX_DEFAULT_NMETER
help
Prints selected system stats continuously, one line per update.
config BUSYBOX_CONFIG_PMAP
bool "pmap"
default BUSYBOX_DEFAULT_PMAP
help
Display processes' memory mappings.
config BUSYBOX_CONFIG_POWERTOP
bool "powertop"
default BUSYBOX_DEFAULT_POWERTOP
help
Analyze power consumption on Intel-based laptops
config BUSYBOX_CONFIG_PSTREE
bool "pstree"
default BUSYBOX_DEFAULT_PSTREE
help
Display a tree of processes.
config BUSYBOX_CONFIG_PWDX
bool "pwdx"
default BUSYBOX_DEFAULT_PWDX
help
Report current working directory of a process
config BUSYBOX_CONFIG_SMEMCAP
bool "smemcap"
default BUSYBOX_DEFAULT_SMEMCAP
help
smemcap is a tool for capturing process data for smem,
a memory usage statistic tool.
config BUSYBOX_CONFIG_TOP
bool "top"
default BUSYBOX_DEFAULT_TOP
help
The top program provides a dynamic real-time view of a running
system.
config BUSYBOX_CONFIG_FEATURE_TOP_CPU_USAGE_PERCENTAGE
bool "Show CPU per-process usage percentage"
default BUSYBOX_DEFAULT_FEATURE_TOP_CPU_USAGE_PERCENTAGE
depends on BUSYBOX_CONFIG_TOP
help
Make top display CPU usage for each process.
This adds about 2k.
config BUSYBOX_CONFIG_FEATURE_TOP_CPU_GLOBAL_PERCENTS
bool "Show CPU global usage percentage"
default BUSYBOX_DEFAULT_FEATURE_TOP_CPU_GLOBAL_PERCENTS
depends on BUSYBOX_CONFIG_FEATURE_TOP_CPU_USAGE_PERCENTAGE
help
Makes top display "CPU: NN% usr NN% sys..." line.
This adds about 0.5k.
config BUSYBOX_CONFIG_FEATURE_TOP_SMP_CPU
bool "SMP CPU usage display ('c' key)"
default BUSYBOX_DEFAULT_FEATURE_TOP_SMP_CPU
depends on BUSYBOX_CONFIG_FEATURE_TOP_CPU_GLOBAL_PERCENTS
help
Allow 'c' key to switch between individual/cumulative CPU stats
This adds about 0.5k.
config BUSYBOX_CONFIG_FEATURE_TOP_DECIMALS
bool "Show 1/10th of a percent in CPU/mem statistics"
default BUSYBOX_DEFAULT_FEATURE_TOP_DECIMALS
depends on BUSYBOX_CONFIG_FEATURE_TOP_CPU_USAGE_PERCENTAGE
help
Show 1/10th of a percent in CPU/mem statistics.
This adds about 0.3k.
config BUSYBOX_CONFIG_FEATURE_TOP_SMP_PROCESS
bool "Show CPU process runs on ('j' field)"
default BUSYBOX_DEFAULT_FEATURE_TOP_SMP_PROCESS
depends on BUSYBOX_CONFIG_TOP
help
Show CPU where process was last found running on.
This is the 'j' field.
config BUSYBOX_CONFIG_FEATURE_TOPMEM
bool "Topmem command ('s' key)"
default BUSYBOX_DEFAULT_FEATURE_TOPMEM
depends on BUSYBOX_CONFIG_TOP
help
Enable 's' in top (gives lots of memory info).
config BUSYBOX_CONFIG_UPTIME
bool "uptime"
default BUSYBOX_DEFAULT_UPTIME
select BUSYBOX_CONFIG_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
on, and the system load averages for the past 1, 5, and 15 minutes.
config BUSYBOX_CONFIG_FEATURE_UPTIME_UTMP_SUPPORT
bool "Support for showing the number of users"
default BUSYBOX_DEFAULT_FEATURE_UPTIME_UTMP_SUPPORT
depends on BUSYBOX_CONFIG_UPTIME && BUSYBOX_CONFIG_FEATURE_UTMP
help
Makes uptime display the number of users currently logged on.
config BUSYBOX_CONFIG_FREE
bool "free"
default BUSYBOX_DEFAULT_FREE
@ -130,7 +14,6 @@ config BUSYBOX_CONFIG_FREE
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.
The shared memory column should be ignored; it is obsolete.
config BUSYBOX_CONFIG_FUSER
bool "fuser"
default BUSYBOX_DEFAULT_FUSER
@ -138,7 +21,11 @@ config BUSYBOX_CONFIG_FUSER
fuser lists all PIDs (Process IDs) that currently have a given
file open. fuser can also list all PIDs that have a given network
(TCP or UDP) port open.
config BUSYBOX_CONFIG_IOSTAT
bool "iostat"
default BUSYBOX_DEFAULT_IOSTAT
help
Report CPU and I/O statistics
config BUSYBOX_CONFIG_KILL
bool "kill"
default BUSYBOX_DEFAULT_KILL
@ -150,7 +37,6 @@ config BUSYBOX_CONFIG_KILL
config BUSYBOX_CONFIG_KILLALL
bool "killall"
default BUSYBOX_DEFAULT_KILLALL
depends on BUSYBOX_CONFIG_KILL
help
killall sends a signal to all processes running any of the
specified commands. If no signal name is specified, SIGTERM is
@ -159,14 +45,38 @@ config BUSYBOX_CONFIG_KILLALL
config BUSYBOX_CONFIG_KILLALL5
bool "killall5"
default BUSYBOX_DEFAULT_KILLALL5
depends on BUSYBOX_CONFIG_KILL
help
The SystemV killall command. killall5 sends a signal
to all processes except kernel threads and the processes
in its own session, so it won't kill the shell that is running
the script it was called from.
config BUSYBOX_CONFIG_LSOF
bool "lsof"
default BUSYBOX_DEFAULT_LSOF
help
Show open files in the format of:
PID <TAB> /path/to/executable <TAB> /path/to/opened/file
config BUSYBOX_CONFIG_MPSTAT
bool "mpstat"
default BUSYBOX_DEFAULT_MPSTAT
help
Per-processor statistics
config BUSYBOX_CONFIG_NMETER
bool "nmeter"
default BUSYBOX_DEFAULT_NMETER
help
Prints selected system stats continuously, one line per update.
config BUSYBOX_CONFIG_PGREP
bool "pgrep"
default BUSYBOX_DEFAULT_PGREP
help
Look for processes by name.
config BUSYBOX_CONFIG_PKILL
bool "pkill"
default BUSYBOX_DEFAULT_PKILL
help
Send signals to processes by name.
config BUSYBOX_CONFIG_PIDOF
bool "pidof"
default BUSYBOX_DEFAULT_PIDOF
@ -189,13 +99,16 @@ config BUSYBOX_CONFIG_FEATURE_PIDOF_OMIT
Support argument '-o' for omitting the given pids in output.
The special pid %PPID can be used to name the parent process
of the pidof, in other words the calling shell or shell script.
config BUSYBOX_CONFIG_PKILL
bool "pkill"
default BUSYBOX_DEFAULT_PKILL
config BUSYBOX_CONFIG_PMAP
bool "pmap"
default BUSYBOX_DEFAULT_PMAP
help
Display processes' memory mappings.
config BUSYBOX_CONFIG_POWERTOP
bool "powertop"
default BUSYBOX_DEFAULT_POWERTOP
help
Send signals to processes by name.
Analyze power consumption on Intel-based laptops
config BUSYBOX_CONFIG_PS
bool "ps"
default BUSYBOX_DEFAULT_PS
@ -241,28 +154,101 @@ config BUSYBOX_CONFIG_FEATURE_PS_UNUSUAL_SYSTEMS
help
Include support for measuring HZ on old kernels and non-ELF systems
(if you are on Linux 2.4.0+ and use ELF, you don't need this)
config BUSYBOX_CONFIG_PSTREE
bool "pstree"
default BUSYBOX_DEFAULT_PSTREE
help
Display a tree of processes.
config BUSYBOX_CONFIG_PWDX
bool "pwdx"
default BUSYBOX_DEFAULT_PWDX
help
Report current working directory of a process
config BUSYBOX_CONFIG_RENICE
bool "renice"
default BUSYBOX_DEFAULT_RENICE
help
Renice alters the scheduling priority of one or more running
processes.
config BUSYBOX_CONFIG_SMEMCAP
bool "smemcap"
default BUSYBOX_DEFAULT_SMEMCAP
help
smemcap is a tool for capturing process data for smem,
a memory usage statistic tool.
config BUSYBOX_CONFIG_BB_SYSCTL
bool "sysctl"
default BUSYBOX_DEFAULT_BB_SYSCTL
help
Configure kernel parameters at runtime.
config BUSYBOX_CONFIG_TOP
bool "top"
default BUSYBOX_DEFAULT_TOP
help
The top program provides a dynamic real-time view of a running
system.
config BUSYBOX_CONFIG_FEATURE_SHOW_THREADS
bool "Support for showing threads in ps/pstree/top"
default BUSYBOX_DEFAULT_FEATURE_SHOW_THREADS
depends on BUSYBOX_CONFIG_PS || BUSYBOX_CONFIG_TOP || BUSYBOX_CONFIG_PSTREE
config BUSYBOX_CONFIG_FEATURE_TOP_CPU_USAGE_PERCENTAGE
bool "Show CPU per-process usage percentage"
default BUSYBOX_DEFAULT_FEATURE_TOP_CPU_USAGE_PERCENTAGE
depends on BUSYBOX_CONFIG_TOP
help
Enables the ps -T option, showing of threads in pstree,
and 'h' command in top.
Make top display CPU usage for each process.
This adds about 2k.
config BUSYBOX_CONFIG_FEATURE_TOP_CPU_GLOBAL_PERCENTS
bool "Show CPU global usage percentage"
default BUSYBOX_DEFAULT_FEATURE_TOP_CPU_GLOBAL_PERCENTS
depends on BUSYBOX_CONFIG_FEATURE_TOP_CPU_USAGE_PERCENTAGE
help
Makes top display "CPU: NN% usr NN% sys..." line.
This adds about 0.5k.
config BUSYBOX_CONFIG_FEATURE_TOP_SMP_CPU
bool "SMP CPU usage display ('c' key)"
default BUSYBOX_DEFAULT_FEATURE_TOP_SMP_CPU
depends on BUSYBOX_CONFIG_FEATURE_TOP_CPU_GLOBAL_PERCENTS
help
Allow 'c' key to switch between individual/cumulative CPU stats
This adds about 0.5k.
config BUSYBOX_CONFIG_FEATURE_TOP_DECIMALS
bool "Show 1/10th of a percent in CPU/mem statistics"
default BUSYBOX_DEFAULT_FEATURE_TOP_DECIMALS
depends on BUSYBOX_CONFIG_FEATURE_TOP_CPU_USAGE_PERCENTAGE
help
Show 1/10th of a percent in CPU/mem statistics.
This adds about 0.3k.
config BUSYBOX_CONFIG_FEATURE_TOP_SMP_PROCESS
bool "Show CPU process runs on ('j' field)"
default BUSYBOX_DEFAULT_FEATURE_TOP_SMP_PROCESS
depends on BUSYBOX_CONFIG_TOP
help
Show CPU where process was last found running on.
This is the 'j' field.
config BUSYBOX_CONFIG_FEATURE_TOPMEM
bool "Topmem command ('s' key)"
default BUSYBOX_DEFAULT_FEATURE_TOPMEM
depends on BUSYBOX_CONFIG_TOP
help
Enable 's' in top (gives lots of memory info).
config BUSYBOX_CONFIG_UPTIME
bool "uptime"
default BUSYBOX_DEFAULT_UPTIME
select BUSYBOX_CONFIG_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
on, and the system load averages for the past 1, 5, and 15 minutes.
config BUSYBOX_CONFIG_FEATURE_UPTIME_UTMP_SUPPORT
bool "Support for showing the number of users"
default BUSYBOX_DEFAULT_FEATURE_UPTIME_UTMP_SUPPORT
depends on BUSYBOX_CONFIG_UPTIME && BUSYBOX_CONFIG_FEATURE_UTMP
help
Makes uptime display the number of users currently logged on.
config BUSYBOX_CONFIG_WATCH
bool "watch"
default BUSYBOX_DEFAULT_WATCH
@ -270,4 +256,12 @@ config BUSYBOX_CONFIG_WATCH
watch is used to execute a program periodically, showing
output to the screen.
config BUSYBOX_CONFIG_FEATURE_SHOW_THREADS
bool "Support for showing threads in ps/pstree/top"
default BUSYBOX_DEFAULT_FEATURE_SHOW_THREADS
depends on BUSYBOX_CONFIG_PS || BUSYBOX_CONFIG_TOP || BUSYBOX_CONFIG_PSTREE
help
Enables the ps -T option, showing of threads in pstree,
and 'h' command in top.
endmenu

@ -73,6 +73,13 @@ config BUSYBOX_CONFIG_SV_DEFAULT_SERVICE_DIR
help
Default directory for services.
Defaults to "/var/service"
config BUSYBOX_CONFIG_SVC
bool "svc"
default BUSYBOX_DEFAULT_SVC
help
svc controls the state of services monitored by the runsv supervisor.
It is comaptible with daemontools command with the same name.
config BUSYBOX_CONFIG_SVLOGD
bool "svlogd"
default BUSYBOX_DEFAULT_SVLOGD

@ -7,7 +7,6 @@
menu "SELinux Utilities"
depends on BUSYBOX_CONFIG_SELINUX
config BUSYBOX_CONFIG_CHCON
bool "chcon"
default BUSYBOX_DEFAULT_CHCON
@ -21,28 +20,24 @@ config BUSYBOX_CONFIG_FEATURE_CHCON_LONG_OPTIONS
depends on BUSYBOX_CONFIG_CHCON && BUSYBOX_CONFIG_LONG_OPTS
help
Support long options for the chcon applet.
config BUSYBOX_CONFIG_GETENFORCE
bool "getenforce"
default BUSYBOX_DEFAULT_GETENFORCE
depends on BUSYBOX_CONFIG_SELINUX
help
Enable support to get the current mode of SELinux.
config BUSYBOX_CONFIG_GETSEBOOL
bool "getsebool"
default BUSYBOX_DEFAULT_GETSEBOOL
depends on BUSYBOX_CONFIG_SELINUX
help
Enable support to get SELinux boolean values.
config BUSYBOX_CONFIG_LOAD_POLICY
bool "load_policy"
default BUSYBOX_DEFAULT_LOAD_POLICY
depends on BUSYBOX_CONFIG_SELINUX
help
Enable support to load SELinux policy.
config BUSYBOX_CONFIG_MATCHPATHCON
bool "matchpathcon"
default BUSYBOX_DEFAULT_MATCHPATHCON
@ -50,15 +45,6 @@ config BUSYBOX_CONFIG_MATCHPATHCON
help
Enable support to get default security context of the
specified path from the file contexts configuration.
config BUSYBOX_CONFIG_RESTORECON
bool "restorecon"
default BUSYBOX_DEFAULT_RESTORECON
depends on BUSYBOX_CONFIG_SELINUX
help
Enable support to relabel files. The feature is almost
the same as setfiles, but usage is a little different.
config BUSYBOX_CONFIG_RUNCON
bool "runcon"
default BUSYBOX_DEFAULT_RUNCON
@ -72,7 +58,6 @@ config BUSYBOX_CONFIG_FEATURE_RUNCON_LONG_OPTIONS
depends on BUSYBOX_CONFIG_RUNCON && BUSYBOX_CONFIG_LONG_OPTS
help
Support long options for the runcon applet.
config BUSYBOX_CONFIG_SELINUXENABLED
bool "selinuxenabled"
default BUSYBOX_DEFAULT_SELINUXENABLED
@ -80,14 +65,18 @@ config BUSYBOX_CONFIG_SELINUXENABLED
help
Enable support for this command to be used within shell scripts
to determine if selinux is enabled.
config BUSYBOX_CONFIG_SESTATUS
bool "sestatus"
default BUSYBOX_DEFAULT_SESTATUS
depends on BUSYBOX_CONFIG_SELINUX
help
Displays the status of SELinux.
config BUSYBOX_CONFIG_SETENFORCE
bool "setenforce"
default BUSYBOX_DEFAULT_SETENFORCE
depends on BUSYBOX_CONFIG_SELINUX
help
Enable support to modify the mode SELinux is running in.
config BUSYBOX_CONFIG_SETFILES
bool "setfiles"
default BUSYBOX_DEFAULT_SETFILES
@ -106,6 +95,13 @@ config BUSYBOX_CONFIG_FEATURE_SETFILES_CHECK_OPTION
Support "-c" option (check the validity of the contexts against
the specified binary policy) for setfiles. Requires libsepol.
config BUSYBOX_CONFIG_RESTORECON
bool "restorecon"
default BUSYBOX_DEFAULT_RESTORECON
depends on BUSYBOX_CONFIG_SELINUX
help
Enable support to relabel files. The feature is almost
the same as setfiles, but usage is a little different.
config BUSYBOX_CONFIG_SETSEBOOL
bool "setsebool"
default BUSYBOX_DEFAULT_SETSEBOOL
@ -114,11 +110,4 @@ config BUSYBOX_CONFIG_SETSEBOOL
Enable support for change boolean.
semanage and -P option is not supported yet.
config BUSYBOX_CONFIG_SESTATUS
bool "sestatus"
default BUSYBOX_DEFAULT_SESTATUS
depends on BUSYBOX_CONFIG_SELINUX
help
Displays the status of SELinux.
endmenu

@ -6,6 +6,57 @@
menu "Shells"
choice
prompt "Choose which shell is aliased to 'sh' name"
default BUSYBOX_CONFIG_SH_IS_ASH
help
Choose which shell you want to be executed by 'sh' alias.
The ash shell is the most bash compatible and full featured one.
# note: cannot use "select ASH" here, it breaks "make allnoconfig"
config BUSYBOX_CONFIG_SH_IS_ASH
depends on !BUSYBOX_CONFIG_NOMMU
bool "ash"
config BUSYBOX_CONFIG_SH_IS_HUSH
bool "hush"
config BUSYBOX_CONFIG_SH_IS_NONE
bool "none"
endchoice
choice
prompt "Choose which shell is aliased to 'bash' name"
default BUSYBOX_CONFIG_BASH_IS_NONE
help
Choose which shell you want to be executed by 'bash' alias.
The ash shell is the most bash compatible and full featured one.
Note that selecting this option does not switch on any bash
compatibility code. It merely makes it possible to install
/bin/bash (sym)link and run scripts which start with
#!/bin/bash line.
Many systems use it in scripts which use bash-specific features,
even simple ones like $RANDOM. Without this option, busybox
can't be used for running them because it won't recongnize
"bash" as a supported applet name.
config BUSYBOX_CONFIG_BASH_IS_ASH
depends on !BUSYBOX_CONFIG_NOMMU
bool "ash"
config BUSYBOX_CONFIG_BASH_IS_HUSH
bool "hush"
config BUSYBOX_CONFIG_BASH_IS_NONE
bool "none"
endchoice
config BUSYBOX_CONFIG_ASH
bool "ash"
default BUSYBOX_DEFAULT_ASH
@ -17,73 +68,109 @@ config BUSYBOX_CONFIG_ASH
shell (by Herbert Xu), which was created by porting the 'ash' shell
(written by Kenneth Almquist) from NetBSD.
config BUSYBOX_CONFIG_ASH_OPTIMIZE_FOR_SIZE
bool "Optimize for size instead of speed"
default BUSYBOX_DEFAULT_ASH_OPTIMIZE_FOR_SIZE
depends on BUSYBOX_CONFIG_ASH || BUSYBOX_CONFIG_SH_IS_ASH || BUSYBOX_CONFIG_BASH_IS_ASH
help
Compile ash for reduced size at the price of speed.
config BUSYBOX_CONFIG_ASH_INTERNAL_GLOB
bool "Use internal glob() implementation"
default BUSYBOX_DEFAULT_ASH_INTERNAL_GLOB # Y is bigger, but because of uclibc glob() bug, let Y be default for now
depends on BUSYBOX_CONFIG_ASH || BUSYBOX_CONFIG_SH_IS_ASH || BUSYBOX_CONFIG_BASH_IS_ASH
help
Do not use glob() function from libc, use internal implementation.
Use this if you are getting "glob.h: No such file or directory"
or similar build errors.
config BUSYBOX_CONFIG_ASH_RANDOM_SUPPORT
bool "Pseudorandom generator and $RANDOM variable"
default BUSYBOX_DEFAULT_ASH_RANDOM_SUPPORT
depends on BUSYBOX_CONFIG_ASH || BUSYBOX_CONFIG_SH_IS_ASH || BUSYBOX_CONFIG_BASH_IS_ASH
help
Enable pseudorandom generator and dynamic variable "$RANDOM".
Each read of "$RANDOM" will generate a new pseudorandom value.
You can reset the generator by using a specified start value.
After "unset RANDOM" the generator will switch off and this
variable will no longer have special treatment.
config BUSYBOX_CONFIG_ASH_EXPAND_PRMT
bool "Expand prompt string"
default BUSYBOX_DEFAULT_ASH_EXPAND_PRMT
depends on BUSYBOX_CONFIG_ASH || BUSYBOX_CONFIG_SH_IS_ASH || BUSYBOX_CONFIG_BASH_IS_ASH
help
"PS#" may contain volatile content, such as backquote commands.
This option recreates the prompt string from the environment
variable each time it is displayed.
config BUSYBOX_CONFIG_ASH_BASH_COMPAT
bool "bash-compatible extensions"
default BUSYBOX_DEFAULT_ASH_BASH_COMPAT
depends on BUSYBOX_CONFIG_ASH
depends on BUSYBOX_CONFIG_ASH || BUSYBOX_CONFIG_SH_IS_ASH || BUSYBOX_CONFIG_BASH_IS_ASH
help
Enable bash-compatible extensions.
config BUSYBOX_CONFIG_ASH_IDLE_TIMEOUT
bool "Idle timeout variable"
default BUSYBOX_DEFAULT_ASH_IDLE_TIMEOUT
depends on BUSYBOX_CONFIG_ASH
depends on BUSYBOX_CONFIG_ASH || BUSYBOX_CONFIG_SH_IS_ASH || BUSYBOX_CONFIG_BASH_IS_ASH
help
Enables bash-like auto-logout after $TMOUT seconds of idle time.
config BUSYBOX_CONFIG_ASH_JOB_CONTROL
bool "Job control"
default BUSYBOX_DEFAULT_ASH_JOB_CONTROL
depends on BUSYBOX_CONFIG_ASH
depends on BUSYBOX_CONFIG_ASH || BUSYBOX_CONFIG_SH_IS_ASH || BUSYBOX_CONFIG_BASH_IS_ASH
help
Enable job control in the ash shell.
config BUSYBOX_CONFIG_ASH_ALIAS
bool "Alias support"
default BUSYBOX_DEFAULT_ASH_ALIAS
depends on BUSYBOX_CONFIG_ASH
depends on BUSYBOX_CONFIG_ASH || BUSYBOX_CONFIG_SH_IS_ASH || BUSYBOX_CONFIG_BASH_IS_ASH
help
Enable alias support in the ash shell.
config BUSYBOX_CONFIG_ASH_GETOPTS
bool "Builtin getopt to parse positional parameters"
default BUSYBOX_DEFAULT_ASH_GETOPTS
depends on BUSYBOX_CONFIG_ASH
depends on BUSYBOX_CONFIG_ASH || BUSYBOX_CONFIG_SH_IS_ASH || BUSYBOX_CONFIG_BASH_IS_ASH
help
Enable support for getopts builtin in ash.
config BUSYBOX_CONFIG_ASH_BUILTIN_ECHO
bool "Builtin version of 'echo'"
default BUSYBOX_DEFAULT_ASH_BUILTIN_ECHO
depends on BUSYBOX_CONFIG_ASH
depends on BUSYBOX_CONFIG_ASH || BUSYBOX_CONFIG_SH_IS_ASH || BUSYBOX_CONFIG_BASH_IS_ASH
help
Enable support for echo builtin in ash.
config BUSYBOX_CONFIG_ASH_BUILTIN_PRINTF
bool "Builtin version of 'printf'"
default BUSYBOX_DEFAULT_ASH_BUILTIN_PRINTF
depends on BUSYBOX_CONFIG_ASH
depends on BUSYBOX_CONFIG_ASH || BUSYBOX_CONFIG_SH_IS_ASH || BUSYBOX_CONFIG_BASH_IS_ASH
help
Enable support for printf builtin in ash.
config BUSYBOX_CONFIG_ASH_BUILTIN_TEST
bool "Builtin version of 'test'"
default BUSYBOX_DEFAULT_ASH_BUILTIN_TEST
depends on BUSYBOX_CONFIG_ASH
depends on BUSYBOX_CONFIG_ASH || BUSYBOX_CONFIG_SH_IS_ASH || BUSYBOX_CONFIG_BASH_IS_ASH
help
Enable support for test builtin in ash.
config BUSYBOX_CONFIG_ASH_HELP
bool "help builtin"
default BUSYBOX_DEFAULT_ASH_HELP
depends on BUSYBOX_CONFIG_ASH
depends on BUSYBOX_CONFIG_ASH || BUSYBOX_CONFIG_SH_IS_ASH || BUSYBOX_CONFIG_BASH_IS_ASH
help
Enable help builtin in ash.
config BUSYBOX_CONFIG_ASH_CMDCMD
bool "'command' command to override shell builtins"
default BUSYBOX_DEFAULT_ASH_CMDCMD
depends on BUSYBOX_CONFIG_ASH
depends on BUSYBOX_CONFIG_ASH || BUSYBOX_CONFIG_SH_IS_ASH || BUSYBOX_CONFIG_BASH_IS_ASH
help
Enable support for the ash 'command' builtin, which allows
you to run the specified command with the specified arguments,
@ -92,37 +179,9 @@ config BUSYBOX_CONFIG_ASH_CMDCMD
config BUSYBOX_CONFIG_ASH_MAIL
bool "Check for new mail on interactive shells"
default BUSYBOX_DEFAULT_ASH_MAIL
depends on BUSYBOX_CONFIG_ASH
depends on BUSYBOX_CONFIG_ASH || BUSYBOX_CONFIG_SH_IS_ASH || BUSYBOX_CONFIG_BASH_IS_ASH
help
Enable "check for new mail" function in the ash shell.
config BUSYBOX_CONFIG_ASH_OPTIMIZE_FOR_SIZE
bool "Optimize for size instead of speed"
default BUSYBOX_DEFAULT_ASH_OPTIMIZE_FOR_SIZE
depends on BUSYBOX_CONFIG_ASH
help
Compile ash for reduced size at the price of speed.
config BUSYBOX_CONFIG_ASH_RANDOM_SUPPORT
bool "Pseudorandom generator and $RANDOM variable"
default BUSYBOX_DEFAULT_ASH_RANDOM_SUPPORT
depends on BUSYBOX_CONFIG_ASH
help
Enable pseudorandom generator and dynamic variable "$RANDOM".
Each read of "$RANDOM" will generate a new pseudorandom value.
You can reset the generator by using a specified start value.
After "unset RANDOM" the generator will switch off and this
variable will no longer have special treatment.
config BUSYBOX_CONFIG_ASH_EXPAND_PRMT
bool "Expand prompt string"
default BUSYBOX_DEFAULT_ASH_EXPAND_PRMT
depends on BUSYBOX_CONFIG_ASH
help
"PS#" may contain volatile content, such as backquote commands.
This option recreates the prompt string from the environment
variable each time it is displayed.
config BUSYBOX_CONFIG_CTTYHACK
bool "cttyhack"
default BUSYBOX_DEFAULT_CTTYHACK
@ -183,7 +242,7 @@ config BUSYBOX_CONFIG_HUSH
config BUSYBOX_CONFIG_HUSH_BASH_COMPAT
bool "bash-compatible extensions"
default BUSYBOX_DEFAULT_HUSH_BASH_COMPAT
depends on BUSYBOX_CONFIG_HUSH
depends on BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH
help
Enable bash-compatible extensions.
@ -197,14 +256,14 @@ config BUSYBOX_CONFIG_HUSH_BRACE_EXPANSION
config BUSYBOX_CONFIG_HUSH_HELP
bool "help builtin"
default BUSYBOX_DEFAULT_HUSH_HELP
depends on BUSYBOX_CONFIG_HUSH
depends on BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH
help
Enable help builtin in hush. Code size + ~1 kbyte.
config BUSYBOX_CONFIG_HUSH_INTERACTIVE
bool "Interactive mode"
default BUSYBOX_DEFAULT_HUSH_INTERACTIVE
depends on BUSYBOX_CONFIG_HUSH
depends on BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH
help
Enable interactive mode (prompt and command editing).
Without this, hush simply reads and executes commands
@ -232,35 +291,35 @@ config BUSYBOX_CONFIG_HUSH_JOB
config BUSYBOX_CONFIG_HUSH_TICK
bool "Process substitution"
default BUSYBOX_DEFAULT_HUSH_TICK
depends on BUSYBOX_CONFIG_HUSH
depends on BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH
help
Enable process substitution `command` and $(command) in hush.
config BUSYBOX_CONFIG_HUSH_IF
bool "Support if/then/elif/else/fi"
default BUSYBOX_DEFAULT_HUSH_IF
depends on BUSYBOX_CONFIG_HUSH
depends on BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH
help
Enable if/then/elif/else/fi in hush.
config BUSYBOX_CONFIG_HUSH_LOOPS
bool "Support for, while and until loops"
default BUSYBOX_DEFAULT_HUSH_LOOPS
depends on BUSYBOX_CONFIG_HUSH
depends on BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH
help
Enable for, while and until loops in hush.
config BUSYBOX_CONFIG_HUSH_CASE
bool "Support case ... esac statement"
default BUSYBOX_DEFAULT_HUSH_CASE
depends on BUSYBOX_CONFIG_HUSH
depends on BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH
help
Enable case ... esac statement in hush. +400 bytes.
config BUSYBOX_CONFIG_HUSH_FUNCTIONS
bool "Support funcname() { commands; } syntax"
default BUSYBOX_DEFAULT_HUSH_FUNCTIONS
depends on BUSYBOX_CONFIG_HUSH
depends on BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH
help
Enable support for shell functions in hush. +800 bytes.
@ -274,7 +333,7 @@ config BUSYBOX_CONFIG_HUSH_LOCAL
config BUSYBOX_CONFIG_HUSH_RANDOM_SUPPORT
bool "Pseudorandom generator and $RANDOM variable"
default BUSYBOX_DEFAULT_HUSH_RANDOM_SUPPORT
depends on BUSYBOX_CONFIG_HUSH
depends on BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH
help
Enable pseudorandom generator and dynamic variable "$RANDOM".
Each read of "$RANDOM" will generate a new pseudorandom value.
@ -282,14 +341,14 @@ config BUSYBOX_CONFIG_HUSH_RANDOM_SUPPORT
config BUSYBOX_CONFIG_HUSH_EXPORT_N
bool "Support 'export -n' option"
default BUSYBOX_DEFAULT_HUSH_EXPORT_N
depends on BUSYBOX_CONFIG_HUSH
depends on BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH
help
export -n unexports variables. It is a bash extension.
config BUSYBOX_CONFIG_HUSH_MODE_X
bool "Support 'hush -x' option and 'set -x' command"
default BUSYBOX_DEFAULT_HUSH_MODE_X
depends on BUSYBOX_CONFIG_HUSH
depends on BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH
help
This instructs hush to print commands before execution.
Adds ~300 bytes.
@ -302,72 +361,17 @@ config BUSYBOX_CONFIG_MSH
msh is deprecated and will be removed, please migrate to hush.
choice
prompt "Choose which shell is aliased to 'sh' name"
default BUSYBOX_CONFIG_FEATURE_SH_IS_ASH
help
Choose which shell you want to be executed by 'sh' alias.
The ash shell is the most bash compatible and full featured one.
# note: cannot use "select ASH" here, it breaks "make allnoconfig"
config BUSYBOX_CONFIG_FEATURE_SH_IS_ASH
depends on BUSYBOX_CONFIG_ASH
bool "ash"
depends on !BUSYBOX_CONFIG_NOMMU
config BUSYBOX_CONFIG_FEATURE_SH_IS_HUSH
depends on BUSYBOX_CONFIG_HUSH
bool "hush"
config BUSYBOX_CONFIG_FEATURE_SH_IS_NONE
bool "none"
endchoice
choice
prompt "Choose which shell is aliased to 'bash' name"
default BUSYBOX_CONFIG_FEATURE_BASH_IS_NONE
help
Choose which shell you want to be executed by 'bash' alias.
The ash shell is the most bash compatible and full featured one.
Note that selecting this option does not switch on any bash
compatibility code. It merely makes it possible to install
/bin/bash (sym)link and run scripts which start with
#!/bin/bash line.
Many systems use it in scripts which use bash-specific features,
even simple ones like $RANDOM. Without this option, busybox
can't be used for running them because it won't recongnize
"bash" as a supported applet name.
config BUSYBOX_CONFIG_FEATURE_BASH_IS_ASH
depends on BUSYBOX_CONFIG_ASH
bool "ash"
depends on !BUSYBOX_CONFIG_NOMMU
config BUSYBOX_CONFIG_FEATURE_BASH_IS_HUSH
depends on BUSYBOX_CONFIG_HUSH
bool "hush"
config BUSYBOX_CONFIG_FEATURE_BASH_IS_NONE
bool "none"
endchoice
config BUSYBOX_CONFIG_SH_MATH_SUPPORT
config BUSYBOX_CONFIG_FEATURE_SH_MATH
bool "POSIX math support"
default BUSYBOX_DEFAULT_SH_MATH_SUPPORT
depends on BUSYBOX_CONFIG_ASH || BUSYBOX_CONFIG_HUSH
default BUSYBOX_DEFAULT_FEATURE_SH_MATH
depends on BUSYBOX_CONFIG_ASH || BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_ASH || BUSYBOX_CONFIG_BASH_IS_ASH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH
help
Enable math support in the shell via $((...)) syntax.
config BUSYBOX_CONFIG_SH_MATH_SUPPORT_64
config BUSYBOX_CONFIG_FEATURE_SH_MATH_64
bool "Extend POSIX math support to 64 bit"
default BUSYBOX_DEFAULT_SH_MATH_SUPPORT_64
depends on BUSYBOX_CONFIG_SH_MATH_SUPPORT
default BUSYBOX_DEFAULT_FEATURE_SH_MATH_64
depends on BUSYBOX_CONFIG_FEATURE_SH_MATH
help
Enable 64-bit math support in the shell. This will make the shell
slightly larger, but will allow computation with very large numbers.
@ -376,14 +380,14 @@ config BUSYBOX_CONFIG_SH_MATH_SUPPORT_64
config BUSYBOX_CONFIG_FEATURE_SH_EXTRA_QUIET
bool "Hide message on interactive shell startup"
default BUSYBOX_DEFAULT_FEATURE_SH_EXTRA_QUIET
depends on BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_ASH
depends on BUSYBOX_CONFIG_ASH || BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_ASH || BUSYBOX_CONFIG_BASH_IS_ASH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH
help
Remove the busybox introduction when starting a shell.
config BUSYBOX_CONFIG_FEATURE_SH_STANDALONE
bool "Standalone shell"
default BUSYBOX_DEFAULT_FEATURE_SH_STANDALONE
depends on (BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_ASH) && BUSYBOX_CONFIG_FEATURE_PREFER_APPLETS
depends on BUSYBOX_CONFIG_ASH || BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_ASH || BUSYBOX_CONFIG_BASH_IS_ASH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH
help
This option causes busybox shells to use busybox applets
in preference to executables in the PATH whenever possible. For
@ -416,7 +420,7 @@ config BUSYBOX_CONFIG_FEATURE_SH_STANDALONE
config BUSYBOX_CONFIG_FEATURE_SH_NOFORK
bool "Run 'nofork' applets directly"
default BUSYBOX_DEFAULT_FEATURE_SH_NOFORK
depends on (BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_ASH) && BUSYBOX_CONFIG_FEATURE_PREFER_APPLETS
depends on BUSYBOX_CONFIG_ASH || BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_ASH || BUSYBOX_CONFIG_BASH_IS_ASH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH
help
This option causes busybox shells to not execute typical
fork/exec/wait sequence, but call <applet>_main directly,
@ -434,7 +438,7 @@ config BUSYBOX_CONFIG_FEATURE_SH_NOFORK
config BUSYBOX_CONFIG_FEATURE_SH_HISTFILESIZE
bool "Use $HISTFILESIZE"
default BUSYBOX_DEFAULT_FEATURE_SH_HISTFILESIZE
depends on BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_ASH
depends on BUSYBOX_CONFIG_ASH || BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_ASH || BUSYBOX_CONFIG_BASH_IS_ASH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH
help
This option makes busybox shells to use $HISTFILESIZE variable
to set shell history size. Note that its max value is capped

@ -47,7 +47,6 @@ config BUSYBOX_CONFIG_LOGGER
config BUSYBOX_CONFIG_LOGREAD
bool "logread"
default BUSYBOX_DEFAULT_LOGREAD
depends on BUSYBOX_CONFIG_FEATURE_IPC_SYSLOG
help
If you enabled Circular Buffer support, you almost
certainly want to enable this feature as well. This

@ -6,222 +6,6 @@
menu "Linux System Utilities"
config BUSYBOX_CONFIG_BLKDISCARD
bool "blkdiscard"
default BUSYBOX_DEFAULT_BLKDISCARD
help
blkdiscard discards sectors on a given device.
config BUSYBOX_CONFIG_BLOCKDEV
bool "blockdev"
default BUSYBOX_DEFAULT_BLOCKDEV
help
Performs some ioctls with block devices.
config BUSYBOX_CONFIG_FATATTR
bool "fatattr"
default BUSYBOX_DEFAULT_FATATTR
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
fatattr lists or changes the file attributes on a fat file system.
config BUSYBOX_CONFIG_FSTRIM
bool "fstrim"
default BUSYBOX_DEFAULT_FSTRIM
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
Discard unused blocks on a mounted filesystem.
config BUSYBOX_CONFIG_MDEV
bool "mdev"
default BUSYBOX_DEFAULT_MDEV
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
mdev is a mini-udev implementation for dynamically creating device
nodes in the /dev directory.
For more information, please see docs/mdev.txt
config BUSYBOX_CONFIG_FEATURE_MDEV_CONF
bool "Support /etc/mdev.conf"
default BUSYBOX_DEFAULT_FEATURE_MDEV_CONF
depends on BUSYBOX_CONFIG_MDEV
help
Add support for the mdev config file to control ownership and
permissions of the device nodes.
For more information, please see docs/mdev.txt
config BUSYBOX_CONFIG_FEATURE_MDEV_RENAME
bool "Support subdirs/symlinks"
default BUSYBOX_DEFAULT_FEATURE_MDEV_RENAME
depends on BUSYBOX_CONFIG_FEATURE_MDEV_CONF
help
Add support for renaming devices and creating symlinks.
For more information, please see docs/mdev.txt
config BUSYBOX_CONFIG_FEATURE_MDEV_RENAME_REGEXP
bool "Support regular expressions substitutions when renaming device"
default BUSYBOX_DEFAULT_FEATURE_MDEV_RENAME_REGEXP
depends on BUSYBOX_CONFIG_FEATURE_MDEV_RENAME
help
Add support for regular expressions substitutions when renaming
device.
config BUSYBOX_CONFIG_FEATURE_MDEV_EXEC
bool "Support command execution at device addition/removal"
default BUSYBOX_DEFAULT_FEATURE_MDEV_EXEC
depends on BUSYBOX_CONFIG_FEATURE_MDEV_CONF
help
This adds support for an optional field to /etc/mdev.conf for
executing commands when devices are created/removed.
For more information, please see docs/mdev.txt
config BUSYBOX_CONFIG_FEATURE_MDEV_LOAD_FIRMWARE
bool "Support loading of firmwares"
default BUSYBOX_DEFAULT_FEATURE_MDEV_LOAD_FIRMWARE
depends on BUSYBOX_CONFIG_MDEV
help
Some devices need to load firmware before they can be usable.
These devices will request userspace look up the files in
/lib/firmware/ and if it exists, send it to the kernel for
loading into the hardware.
config BUSYBOX_CONFIG_MOUNT
bool "mount"
default BUSYBOX_DEFAULT_MOUNT
select BUSYBOX_CONFIG_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
particular part of the tree. A filesystem can either live on a block
device, or it can be accessible over the network, as is the case with
NFS filesystems. Most people using BusyBox will also want to enable
the 'mount' utility.
config BUSYBOX_CONFIG_FEATURE_MOUNT_FAKE
bool "Support option -f"
default BUSYBOX_DEFAULT_FEATURE_MOUNT_FAKE
depends on BUSYBOX_CONFIG_MOUNT
help
Enable support for faking a file system mount.
config BUSYBOX_CONFIG_FEATURE_MOUNT_VERBOSE
bool "Support option -v"
default BUSYBOX_DEFAULT_FEATURE_MOUNT_VERBOSE
depends on BUSYBOX_CONFIG_MOUNT
help
Enable multi-level -v[vv...] verbose messages. Useful if you
debug mount problems and want to see what is exactly passed
to the kernel.
config BUSYBOX_CONFIG_FEATURE_MOUNT_HELPERS
bool "Support mount helpers"
default BUSYBOX_DEFAULT_FEATURE_MOUNT_HELPERS
depends on BUSYBOX_CONFIG_MOUNT
help
Enable mounting of virtual file systems via external helpers.
E.g. "mount obexfs#-b00.11.22.33.44.55 /mnt" will in effect call
"obexfs -b00.11.22.33.44.55 /mnt"
Also "mount -t sometype [-o opts] fs /mnt" will try
"sometype [-o opts] fs /mnt" if simple mount syscall fails.
The idea is to use such virtual filesystems in /etc/fstab.
config BUSYBOX_CONFIG_FEATURE_MOUNT_LABEL
bool "Support specifying devices by label or UUID"
default BUSYBOX_DEFAULT_FEATURE_MOUNT_LABEL
depends on BUSYBOX_CONFIG_MOUNT
select BUSYBOX_CONFIG_VOLUMEID
help
This allows for specifying a device by label or uuid, rather than by
name. This feature utilizes the same functionality as blkid/findfs.
This also enables label or uuid support for swapon.
config BUSYBOX_CONFIG_FEATURE_MOUNT_NFS
bool "Support mounting NFS file systems on Linux < 2.6.23"
default BUSYBOX_DEFAULT_FEATURE_MOUNT_NFS
depends on BUSYBOX_CONFIG_MOUNT
select BUSYBOX_CONFIG_FEATURE_HAVE_RPC
select BUSYBOX_CONFIG_FEATURE_SYSLOG
help
Enable mounting of NFS file systems on Linux kernels prior
to version 2.6.23. Note that in this case mounting of NFS
over IPv6 will not be possible.
Note that this option links in RPC support from libc,
which is rather large (~10 kbytes on uclibc).
config BUSYBOX_CONFIG_FEATURE_MOUNT_CIFS
bool "Support mounting CIFS/SMB file systems"
default BUSYBOX_DEFAULT_FEATURE_MOUNT_CIFS
depends on BUSYBOX_CONFIG_MOUNT
help
Enable support for samba mounts.
config BUSYBOX_CONFIG_FEATURE_MOUNT_FLAGS
depends on BUSYBOX_CONFIG_MOUNT
bool "Support lots of -o flags in mount"
default BUSYBOX_DEFAULT_FEATURE_MOUNT_FLAGS
help
Without this, mount only supports ro/rw/remount. With this, it
supports nosuid, suid, dev, nodev, exec, noexec, sync, async, atime,
noatime, diratime, nodiratime, loud, bind, move, shared, slave,
private, unbindable, rshared, rslave, rprivate, and runbindable.
config BUSYBOX_CONFIG_FEATURE_MOUNT_FSTAB
depends on BUSYBOX_CONFIG_MOUNT
bool "Support /etc/fstab and -a"
default BUSYBOX_DEFAULT_FEATURE_MOUNT_FSTAB
help
Support mount all and looking for files in /etc/fstab.
config BUSYBOX_CONFIG_FEATURE_MOUNT_OTHERTAB
depends on BUSYBOX_CONFIG_FEATURE_MOUNT_FSTAB
bool "Support -T <alt_fstab>"
default BUSYBOX_DEFAULT_FEATURE_MOUNT_OTHERTAB
help
Support mount -T (specifying an alternate fstab)
config BUSYBOX_CONFIG_NSENTER
bool "nsenter"
default BUSYBOX_DEFAULT_NSENTER
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
Run program with namespaces of other processes.
config BUSYBOX_CONFIG_FEATURE_NSENTER_LONG_OPTS
bool "Enable long options"
default BUSYBOX_DEFAULT_FEATURE_NSENTER_LONG_OPTS
depends on BUSYBOX_CONFIG_NSENTER && BUSYBOX_CONFIG_LONG_OPTS
help
Support long options for the nsenter applet. This makes
the busybox implementation more compatible with upstream.
config BUSYBOX_CONFIG_REV
bool "rev"
default BUSYBOX_DEFAULT_REV
help
Reverse lines of a file or files.
config BUSYBOX_CONFIG_SETARCH
bool "setarch"
default BUSYBOX_DEFAULT_SETARCH
select BUSYBOX_CONFIG_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
this util on a system that supports both 64bit and 32bit userland
(like amd64/x86, ppc64/ppc, sparc64/sparc, etc...).
config BUSYBOX_CONFIG_UEVENT
bool "uevent"
default BUSYBOX_DEFAULT_UEVENT
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
uevent is a netlink listener for kernel uevent notifications
sent via netlink. It is usually used for dynamic device creation.
config BUSYBOX_CONFIG_UNSHARE
bool "unshare"
default BUSYBOX_DEFAULT_UNSHARE
depends on BUSYBOX_CONFIG_LONG_OPTS && !BUSYBOX_CONFIG_NOMMU
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
Run program with some namespaces unshared from parent.
config BUSYBOX_CONFIG_ACPID
bool "acpid"
default BUSYBOX_DEFAULT_ACPID
@ -244,7 +28,11 @@ config BUSYBOX_CONFIG_FEATURE_ACPID_COMPAT
depends on BUSYBOX_CONFIG_ACPID
help
Accept and ignore compatibility options -g -m -s -S -v.
config BUSYBOX_CONFIG_BLKDISCARD
bool "blkdiscard"
default BUSYBOX_DEFAULT_BLKDISCARD
help
blkdiscard discards sectors on a given device.
config BUSYBOX_CONFIG_BLKID
bool "blkid"
default BUSYBOX_DEFAULT_BLKID
@ -261,7 +49,11 @@ config BUSYBOX_CONFIG_FEATURE_BLKID_TYPE
depends on BUSYBOX_CONFIG_BLKID
help
Show TYPE="filesystem type"
config BUSYBOX_CONFIG_BLOCKDEV
bool "blockdev"
default BUSYBOX_DEFAULT_BLOCKDEV
help
Performs some ioctls with block devices.
config BUSYBOX_CONFIG_DMESG
bool "dmesg"
default BUSYBOX_DEFAULT_DMESG
@ -295,7 +87,12 @@ config BUSYBOX_CONFIG_FEATURE_DMESG_PRETTY
<5>Linux version 2.6.17.4 .....
<6>BIOS-provided physical RAM map:
<6> BIOS-e820: 0000000000000000 - 000000000009f000 (usable)
config BUSYBOX_CONFIG_FATATTR
bool "fatattr"
default BUSYBOX_DEFAULT_FATATTR
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
fatattr lists or changes the file attributes on a fat file system.
config BUSYBOX_CONFIG_FBSET
bool "fbset"
default BUSYBOX_DEFAULT_FBSET
@ -324,27 +121,12 @@ config BUSYBOX_CONFIG_FEATURE_FBSET_READMODE
This option allows fbset to read the video mode database stored by
default BUSYBOX_DEFAULT_FEATURE_FBSET_READMODE /etc/fb.modes, which can be used to set frame buffer
device to pre-defined video modes.
config BUSYBOX_CONFIG_FDFLUSH
bool "fdflush"
default BUSYBOX_DEFAULT_FDFLUSH
select BUSYBOX_CONFIG_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
hardware disk-change switch has been actuated, which causes Linux to
forget anything it has cached from the previous media. If you have
such a slightly-broken drive, you will need to run fdflush every time
you change a disk. Most people have working hardware and can safely
leave this disabled.
config BUSYBOX_CONFIG_FDFORMAT
bool "fdformat"
default BUSYBOX_DEFAULT_FDFORMAT
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
fdformat is used to low-level format a floppy disk.
config BUSYBOX_CONFIG_FDISK
bool "fdisk"
default BUSYBOX_DEFAULT_FDISK
@ -421,7 +203,6 @@ config BUSYBOX_CONFIG_FEATURE_FDISK_ADVANCED
define arbitrary drive geometry, move the beginning of data in a
partition, and similarly evil things. Unless you have a very good
reason you would be wise to leave this disabled.
config BUSYBOX_CONFIG_FINDFS
bool "findfs"
default BUSYBOX_DEFAULT_FINDFS
@ -431,12 +212,23 @@ config BUSYBOX_CONFIG_FINDFS
Prints the name of a filesystem with given label or UUID.
WARNING:
With all submodules selected, it will add ~8k to busybox.
config BUSYBOX_CONFIG_FLOCK
bool "flock"
default BUSYBOX_DEFAULT_FLOCK
help
Manage locks from shell scripts
config BUSYBOX_CONFIG_FDFLUSH
bool "fdflush"
default BUSYBOX_DEFAULT_FDFLUSH
select BUSYBOX_CONFIG_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
hardware disk-change switch has been actuated, which causes Linux to
forget anything it has cached from the previous media. If you have
such a slightly-broken drive, you will need to run fdflush every time
you change a disk. Most people have working hardware and can safely
leave this disabled.
config BUSYBOX_CONFIG_FREERAMDISK
bool "freeramdisk"
@ -449,7 +241,6 @@ config BUSYBOX_CONFIG_FREERAMDISK
pivot_root, you may want to free the memory that is allocated to the
ramdisk. If you have no use for freeing memory from a ramdisk, leave
this disabled.
config BUSYBOX_CONFIG_FSCK_MINIX
bool "fsck_minix"
default BUSYBOX_DEFAULT_FSCK_MINIX
@ -460,47 +251,12 @@ config BUSYBOX_CONFIG_FSCK_MINIX
power goes off in the middle of a write. This utility allows you to
check for and attempt to repair any corruption that occurs to a minix
filesystem.
config BUSYBOX_CONFIG_MKFS_EXT2
bool "mkfs_ext2"
default BUSYBOX_DEFAULT_MKFS_EXT2
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
Utility to create EXT2 filesystems.
config BUSYBOX_CONFIG_MKFS_MINIX
bool "mkfs_minix"
default BUSYBOX_DEFAULT_MKFS_MINIX
select BUSYBOX_CONFIG_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
filesystems this utility will do the job for you.
config BUSYBOX_CONFIG_FEATURE_MINIX2
bool "Support Minix fs v2 (fsck_minix/mkfs_minix)"
default BUSYBOX_DEFAULT_FEATURE_MINIX2
depends on BUSYBOX_CONFIG_FSCK_MINIX || BUSYBOX_CONFIG_MKFS_MINIX
help
If you wish to be able to create version 2 minix filesystems, enable
this. If you enabled 'mkfs_minix' then you almost certainly want to
be using the version 2 filesystem support.
config BUSYBOX_CONFIG_MKFS_REISER
bool "mkfs_reiser"
default BUSYBOX_DEFAULT_MKFS_REISER
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
Utility to create ReiserFS filesystems.
Note: this applet needs a lot of testing and polishing.
config BUSYBOX_CONFIG_MKFS_VFAT
bool "mkfs_vfat"
default BUSYBOX_DEFAULT_MKFS_VFAT
config BUSYBOX_CONFIG_FSTRIM
bool "fstrim"
default BUSYBOX_DEFAULT_FSTRIM
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
Utility to create FAT32 filesystems.
help
Discard unused blocks on a mounted filesystem.
config BUSYBOX_CONFIG_GETOPT
bool "getopt"
default BUSYBOX_DEFAULT_GETOPT
@ -518,7 +274,6 @@ config BUSYBOX_CONFIG_FEATURE_GETOPT_LONG
depends on BUSYBOX_CONFIG_GETOPT
help
Enable support for long options (option -l).
config BUSYBOX_CONFIG_HEXDUMP
bool "hexdump"
default BUSYBOX_DEFAULT_HEXDUMP
@ -539,10 +294,8 @@ config BUSYBOX_CONFIG_FEATURE_HEXDUMP_REVERSE
config BUSYBOX_CONFIG_HD
bool "hd"
default BUSYBOX_DEFAULT_HD
depends on BUSYBOX_CONFIG_HEXDUMP
help
hd is an alias to hexdump -C.
config BUSYBOX_CONFIG_HWCLOCK
bool "hwclock"
default BUSYBOX_DEFAULT_HWCLOCK
@ -573,7 +326,6 @@ config BUSYBOX_CONFIG_FEATURE_HWCLOCK_ADJTIME_FHS
classic /etc/adjtime path.
pathname.com/fhs/pub/fhs-2.3.html#VARLIBHWCLOCKSTATEDIRECTORYFORHWCLO
config BUSYBOX_CONFIG_IPCRM
bool "ipcrm"
default BUSYBOX_DEFAULT_IPCRM
@ -581,7 +333,6 @@ config BUSYBOX_CONFIG_IPCRM
The ipcrm utility allows the removal of System V interprocess
communication (IPC) objects and the associated data structures
from the system.
config BUSYBOX_CONFIG_IPCS
bool "ipcs"
default BUSYBOX_DEFAULT_IPCS
@ -589,7 +340,6 @@ config BUSYBOX_CONFIG_IPCS
help
The ipcs utility is used to provide information on the currently
allocated System V interprocess (IPC) objects in the system.
config BUSYBOX_CONFIG_LOSETUP
bool "losetup"
default BUSYBOX_DEFAULT_LOSETUP
@ -598,7 +348,6 @@ config BUSYBOX_CONFIG_LOSETUP
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
version does not currently support enabling data encryption.
config BUSYBOX_CONFIG_LSPCI
bool "lspci"
default BUSYBOX_DEFAULT_LSPCI
@ -608,7 +357,6 @@ config BUSYBOX_CONFIG_LSPCI
system and devices connected to them.
This version uses sysfs (/sys/bus/pci/devices) only.
config BUSYBOX_CONFIG_LSUSB
bool "lsusb"
default BUSYBOX_DEFAULT_LSUSB
@ -618,7 +366,113 @@ config BUSYBOX_CONFIG_LSUSB
system and devices connected to them.
This version uses sysfs (/sys/bus/usb/devices) only.
config BUSYBOX_CONFIG_MDEV
bool "mdev"
default BUSYBOX_DEFAULT_MDEV
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
mdev is a mini-udev implementation for dynamically creating device
nodes in the /dev directory.
For more information, please see docs/mdev.txt
config BUSYBOX_CONFIG_FEATURE_MDEV_CONF
bool "Support /etc/mdev.conf"
default BUSYBOX_DEFAULT_FEATURE_MDEV_CONF
depends on BUSYBOX_CONFIG_MDEV
help
Add support for the mdev config file to control ownership and
permissions of the device nodes.
For more information, please see docs/mdev.txt
config BUSYBOX_CONFIG_FEATURE_MDEV_RENAME
bool "Support subdirs/symlinks"
default BUSYBOX_DEFAULT_FEATURE_MDEV_RENAME
depends on BUSYBOX_CONFIG_FEATURE_MDEV_CONF
help
Add support for renaming devices and creating symlinks.
For more information, please see docs/mdev.txt
config BUSYBOX_CONFIG_FEATURE_MDEV_RENAME_REGEXP
bool "Support regular expressions substitutions when renaming device"
default BUSYBOX_DEFAULT_FEATURE_MDEV_RENAME_REGEXP
depends on BUSYBOX_CONFIG_FEATURE_MDEV_RENAME
help
Add support for regular expressions substitutions when renaming
device.
config BUSYBOX_CONFIG_FEATURE_MDEV_EXEC
bool "Support command execution at device addition/removal"
default BUSYBOX_DEFAULT_FEATURE_MDEV_EXEC
depends on BUSYBOX_CONFIG_FEATURE_MDEV_CONF
help
This adds support for an optional field to /etc/mdev.conf for
executing commands when devices are created/removed.
For more information, please see docs/mdev.txt
config BUSYBOX_CONFIG_FEATURE_MDEV_LOAD_FIRMWARE
bool "Support loading of firmwares"
default BUSYBOX_DEFAULT_FEATURE_MDEV_LOAD_FIRMWARE
depends on BUSYBOX_CONFIG_MDEV
help
Some devices need to load firmware before they can be usable.
These devices will request userspace look up the files in
/lib/firmware/ and if it exists, send it to the kernel for
loading into the hardware.
config BUSYBOX_CONFIG_MKE2FS
bool "mke2fs"
default BUSYBOX_DEFAULT_MKE2FS
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
Utility to create EXT2 filesystems.
config BUSYBOX_CONFIG_MKFS_EXT2
bool "mkfs.ext2"
default BUSYBOX_DEFAULT_MKFS_EXT2
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
Alias to "mke2fs".
config BUSYBOX_CONFIG_MKFS_MINIX
bool "mkfs_minix"
default BUSYBOX_DEFAULT_MKFS_MINIX
select BUSYBOX_CONFIG_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
filesystems this utility will do the job for you.
config BUSYBOX_CONFIG_FEATURE_MINIX2
bool "Support Minix fs v2 (fsck_minix/mkfs_minix)"
default BUSYBOX_DEFAULT_FEATURE_MINIX2
depends on BUSYBOX_CONFIG_FSCK_MINIX || BUSYBOX_CONFIG_MKFS_MINIX
help
If you wish to be able to create version 2 minix filesystems, enable
this. If you enabled 'mkfs_minix' then you almost certainly want to
be using the version 2 filesystem support.
config BUSYBOX_CONFIG_MKFS_REISER
bool "mkfs_reiser"
default BUSYBOX_DEFAULT_MKFS_REISER
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
Utility to create ReiserFS filesystems.
Note: this applet needs a lot of testing and polishing.
config BUSYBOX_CONFIG_MKDOSFS
bool "mkdosfs"
default BUSYBOX_DEFAULT_MKDOSFS
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
Utility to create FAT32 filesystems.
config BUSYBOX_CONFIG_MKFS_VFAT
bool "mkfs.vfat"
default BUSYBOX_DEFAULT_MKFS_VFAT
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
Alias to "mkdosfs".
config BUSYBOX_CONFIG_MKSWAP
bool "mkswap"
default BUSYBOX_DEFAULT_MKSWAP
@ -638,7 +492,6 @@ config BUSYBOX_CONFIG_FEATURE_MKSWAP_UUID
depends on BUSYBOX_CONFIG_MKSWAP
help
Generate swap spaces with universally unique identifiers.
config BUSYBOX_CONFIG_MORE
bool "more"
default BUSYBOX_DEFAULT_MORE
@ -648,7 +501,114 @@ config BUSYBOX_CONFIG_MORE
the screen, and you are using anything faster than a 300 baud modem,
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_CONFIG_MOUNT
bool "mount"
default BUSYBOX_DEFAULT_MOUNT
select BUSYBOX_CONFIG_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
particular part of the tree. A filesystem can either live on a block
device, or it can be accessible over the network, as is the case with
NFS filesystems. Most people using BusyBox will also want to enable
the 'mount' utility.
config BUSYBOX_CONFIG_FEATURE_MOUNT_FAKE
bool "Support option -f"
default BUSYBOX_DEFAULT_FEATURE_MOUNT_FAKE
depends on BUSYBOX_CONFIG_MOUNT
help
Enable support for faking a file system mount.
config BUSYBOX_CONFIG_FEATURE_MOUNT_VERBOSE
bool "Support option -v"
default BUSYBOX_DEFAULT_FEATURE_MOUNT_VERBOSE
depends on BUSYBOX_CONFIG_MOUNT
help
Enable multi-level -v[vv...] verbose messages. Useful if you
debug mount problems and want to see what is exactly passed
to the kernel.
config BUSYBOX_CONFIG_FEATURE_MOUNT_HELPERS
bool "Support mount helpers"
default BUSYBOX_DEFAULT_FEATURE_MOUNT_HELPERS
depends on BUSYBOX_CONFIG_MOUNT
help
Enable mounting of virtual file systems via external helpers.
E.g. "mount obexfs#-b00.11.22.33.44.55 /mnt" will in effect call
"obexfs -b00.11.22.33.44.55 /mnt"
Also "mount -t sometype [-o opts] fs /mnt" will try
"sometype [-o opts] fs /mnt" if simple mount syscall fails.
The idea is to use such virtual filesystems in /etc/fstab.
config BUSYBOX_CONFIG_FEATURE_MOUNT_LABEL
bool "Support specifying devices by label or UUID"
default BUSYBOX_DEFAULT_FEATURE_MOUNT_LABEL
depends on BUSYBOX_CONFIG_MOUNT
select BUSYBOX_CONFIG_VOLUMEID
help
This allows for specifying a device by label or uuid, rather than by
name. This feature utilizes the same functionality as blkid/findfs.
This also enables label or uuid support for swapon.
config BUSYBOX_CONFIG_FEATURE_MOUNT_NFS
bool "Support mounting NFS file systems on Linux < 2.6.23"
default BUSYBOX_DEFAULT_FEATURE_MOUNT_NFS
depends on BUSYBOX_CONFIG_MOUNT
select BUSYBOX_CONFIG_FEATURE_HAVE_RPC
select BUSYBOX_CONFIG_FEATURE_SYSLOG
help
Enable mounting of NFS file systems on Linux kernels prior
to version 2.6.23. Note that in this case mounting of NFS
over IPv6 will not be possible.
Note that this option links in RPC support from libc,
which is rather large (~10 kbytes on uclibc).
config BUSYBOX_CONFIG_FEATURE_MOUNT_CIFS
bool "Support mounting CIFS/SMB file systems"
default BUSYBOX_DEFAULT_FEATURE_MOUNT_CIFS
depends on BUSYBOX_CONFIG_MOUNT
help
Enable support for samba mounts.
config BUSYBOX_CONFIG_FEATURE_MOUNT_FLAGS
depends on BUSYBOX_CONFIG_MOUNT
bool "Support lots of -o flags in mount"
default BUSYBOX_DEFAULT_FEATURE_MOUNT_FLAGS
help
Without this, mount only supports ro/rw/remount. With this, it
supports nosuid, suid, dev, nodev, exec, noexec, sync, async, atime,
noatime, diratime, nodiratime, loud, bind, move, shared, slave,
private, unbindable, rshared, rslave, rprivate, and runbindable.
config BUSYBOX_CONFIG_FEATURE_MOUNT_FSTAB
depends on BUSYBOX_CONFIG_MOUNT
bool "Support /etc/fstab and -a"
default BUSYBOX_DEFAULT_FEATURE_MOUNT_FSTAB
help
Support mount all and looking for files in /etc/fstab.
config BUSYBOX_CONFIG_FEATURE_MOUNT_OTHERTAB
depends on BUSYBOX_CONFIG_FEATURE_MOUNT_FSTAB
bool "Support -T <alt_fstab>"
default BUSYBOX_DEFAULT_FEATURE_MOUNT_OTHERTAB
help
Support mount -T (specifying an alternate fstab)
config BUSYBOX_CONFIG_NSENTER
bool "nsenter"
default BUSYBOX_DEFAULT_NSENTER
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
Run program with namespaces of other processes.
config BUSYBOX_CONFIG_FEATURE_NSENTER_LONG_OPTS
bool "Enable long options"
default BUSYBOX_DEFAULT_FEATURE_NSENTER_LONG_OPTS
depends on BUSYBOX_CONFIG_NSENTER && BUSYBOX_CONFIG_LONG_OPTS
help
Support long options for the nsenter applet. This makes
the busybox implementation more compatible with upstream.
config BUSYBOX_CONFIG_PIVOT_ROOT
bool "pivot_root"
default BUSYBOX_DEFAULT_PIVOT_ROOT
@ -661,7 +621,6 @@ config BUSYBOX_CONFIG_PIVOT_ROOT
Note: This is for initrd in linux 2.4. Under initramfs (introduced
in linux 2.6) use switch_root instead.
config BUSYBOX_CONFIG_RDATE
bool "rdate"
default BUSYBOX_DEFAULT_RDATE
@ -670,46 +629,68 @@ config BUSYBOX_CONFIG_RDATE
system clock with the date and time of a remote networked system using
the RFC868 protocol, which is built into the inetd daemon on most
systems.
config BUSYBOX_CONFIG_RDEV
bool "rdev"
default BUSYBOX_DEFAULT_RDEV
help
Print the device node associated with the filesystem mounted at '/'.
config BUSYBOX_CONFIG_READPROFILE
bool "readprofile"
default BUSYBOX_DEFAULT_READPROFILE
#select PLATFORM_LINUX
help
This allows you to parse /proc/profile for basic profiling.
config BUSYBOX_CONFIG_REV
bool "rev"
default BUSYBOX_DEFAULT_REV
help
Reverse lines of a file or files.
config BUSYBOX_CONFIG_RTCWAKE
bool "rtcwake"
default BUSYBOX_DEFAULT_RTCWAKE
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
Enter a system sleep state until specified wakeup time.
config BUSYBOX_CONFIG_SCRIPT
bool "script"
default BUSYBOX_DEFAULT_SCRIPT
help
The script makes typescript of terminal session.
config BUSYBOX_CONFIG_SCRIPTREPLAY
bool "scriptreplay"
default BUSYBOX_DEFAULT_SCRIPTREPLAY
help
This program replays a typescript, using timing information
given by script -t.
config BUSYBOX_CONFIG_SETARCH
bool "setarch"
default BUSYBOX_DEFAULT_SETARCH
select BUSYBOX_CONFIG_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
this util on a system that supports both 64bit and 32bit userland
(like amd64/x86, ppc64/ppc, sparc64/sparc, etc...).
config BUSYBOX_CONFIG_LINUX32
bool "linux32"
default BUSYBOX_DEFAULT_LINUX32
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
Alias to "setarch linux32".
config BUSYBOX_CONFIG_SWAPONOFF
bool "swaponoff"
default BUSYBOX_DEFAULT_SWAPONOFF
config BUSYBOX_CONFIG_LINUX64
bool "linux64"
default BUSYBOX_DEFAULT_LINUX64
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
Alias to "setarch linux64".
config BUSYBOX_CONFIG_SWAPON
bool "swapon"
default BUSYBOX_DEFAULT_SWAPON
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
This option enables both the 'swapon' and the 'swapoff' utilities.
This option enables the 'swapon' utility.
Once you have created some swap space using 'mkswap', you also need
to enable your swap space with the 'swapon' utility. The 'swapoff'
utility is used, typically at system shutdown, to disable any swap
@ -719,7 +700,7 @@ config BUSYBOX_CONFIG_SWAPONOFF
config BUSYBOX_CONFIG_FEATURE_SWAPON_DISCARD
bool "Support discard option -d"
default BUSYBOX_DEFAULT_FEATURE_SWAPON_DISCARD
depends on BUSYBOX_CONFIG_SWAPONOFF
depends on BUSYBOX_CONFIG_SWAPON
help
Enable support for discarding swap area blocks at swapon and/or as
the kernel frees them. This option enables both the -d option on
@ -728,10 +709,16 @@ config BUSYBOX_CONFIG_FEATURE_SWAPON_DISCARD
config BUSYBOX_CONFIG_FEATURE_SWAPON_PRI
bool "Support priority option -p"
default BUSYBOX_DEFAULT_FEATURE_SWAPON_PRI
depends on BUSYBOX_CONFIG_SWAPONOFF
depends on BUSYBOX_CONFIG_SWAPON
help
Enable support for setting swap device priority in swapon.
config BUSYBOX_CONFIG_SWAPOFF
bool "swapoff"
default BUSYBOX_DEFAULT_SWAPOFF
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
This option enables the 'swapoff' utility.
config BUSYBOX_CONFIG_SWITCH_ROOT
bool "switch_root"
default BUSYBOX_DEFAULT_SWITCH_ROOT
@ -751,7 +738,13 @@ config BUSYBOX_CONFIG_SWITCH_ROOT
* Because the Linux kernel uses rootfs internally as the starting
and ending point for searching through the kernel's doubly linked
list of active mount points. That's why.
config BUSYBOX_CONFIG_UEVENT
bool "uevent"
default BUSYBOX_DEFAULT_UEVENT
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
uevent is a netlink listener for kernel uevent notifications
sent via netlink. It is usually used for dynamic device creation.
config BUSYBOX_CONFIG_UMOUNT
bool "umount"
default BUSYBOX_DEFAULT_UMOUNT
@ -768,6 +761,13 @@ config BUSYBOX_CONFIG_FEATURE_UMOUNT_ALL
depends on BUSYBOX_CONFIG_UMOUNT
help
Support -a option to unmount all currently mounted filesystems.
config BUSYBOX_CONFIG_UNSHARE
bool "unshare"
default BUSYBOX_DEFAULT_UNSHARE
depends on BUSYBOX_CONFIG_LONG_OPTS && !BUSYBOX_CONFIG_NOMMU
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
Run program with some namespaces unshared from parent.
comment "Common options for mount/umount"
depends on BUSYBOX_CONFIG_MOUNT || BUSYBOX_CONFIG_UMOUNT

@ -189,6 +189,15 @@ config BUSYBOX_CONFIG_FEATURE_VOLUMEID_SYSV
TODO
config BUSYBOX_CONFIG_FEATURE_VOLUMEID_UBIFS
bool "UBIFS filesystem"
default BUSYBOX_DEFAULT_FEATURE_VOLUMEID_UBIFS
depends on BUSYBOX_CONFIG_VOLUMEID
help
UBIFS (Unsorted Block Image File System) is a file
system for use with raw flash memory media.
config BUSYBOX_CONFIG_FEATURE_VOLUMEID_UDF
bool "udf filesystem"
default BUSYBOX_DEFAULT_FEATURE_VOLUMEID_UDF

@ -1,37 +0,0 @@
From 7cef4817d6d6d61a1166ed7dfc13537b95c65970 Mon Sep 17 00:00:00 2001
From: Denys Vlasenko <vda.linux@googlemail.com>
Date: Thu, 15 Sep 2016 13:20:51 +0200
Subject: [PATCH] libbb:/send_to_from: do not require that "to" should have the
same AF. Closes 9146
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
---
libbb/udp_io.c | 10 ++++++++--
1 file changed, 8 insertions(+), 2 deletions(-)
--- a/libbb/udp_io.c
+++ b/libbb/udp_io.c
@@ -70,7 +70,13 @@ send_to_from(int fd, void *buf, size_t l
msg.msg_flags = flags;
cmsgptr = CMSG_FIRSTHDR(&msg);
- if (to->sa_family == AF_INET && from->sa_family == AF_INET) {
+ /*
+ * Users report that to->sa_family can be AF_INET6 too,
+ * if "to" was acquired by recv_from_to(). IOW: recv_from_to()
+ * was seen showing IPv6 "from" even when the destination
+ * of received packet (our local address) was IPv4.
+ */
+ if (/* to->sa_family == AF_INET && */ from->sa_family == AF_INET) {
struct in_pktinfo *pktptr;
cmsgptr->cmsg_level = IPPROTO_IP;
cmsgptr->cmsg_type = IP_PKTINFO;
@@ -86,7 +92,7 @@ send_to_from(int fd, void *buf, size_t l
pktptr->ipi_spec_dst = ((struct sockaddr_in*)from)->sin_addr;
}
# if ENABLE_FEATURE_IPV6 && defined(IPV6_PKTINFO)
- else if (to->sa_family == AF_INET6 && from->sa_family == AF_INET6) {
+ else if (/* to->sa_family == AF_INET6 && */ from->sa_family == AF_INET6) {
struct in6_pktinfo *pktptr;
cmsgptr->cmsg_level = IPPROTO_IPV6;
cmsgptr->cmsg_type = IPV6_PKTINFO;

@ -1,20 +0,0 @@
--- a/scripts/trylink
+++ b/scripts/trylink
@@ -46,7 +46,7 @@ try() {
}
check_cc() {
- local tempname="$(mktemp)"
+ local tempname="$(mktemp /tmp/tmp.XXXXXXXXXX)"
local r
echo "int main(int argc,char**argv){return argv?argc:0;}" >"$tempname".c
# Can use "-o /dev/null", but older gcc tend to *unlink it* on failure! :(
@@ -61,7 +61,7 @@ check_cc() {
}
check_libc_is_glibc() {
- local tempname="$(mktemp)"
+ local tempname="$(mktemp /tmp/tmp.XXXXXXXXXX)"
local r
echo "\
#include <stdlib.h>

@ -1,6 +1,6 @@
--- a/util-linux/mount.c
+++ b/util-linux/mount.c
@@ -237,9 +237,6 @@
@@ -245,9 +245,6 @@
#if ENABLE_FEATURE_MOUNT_NFS
/* This is just a warning of a common mistake. Possibly this should be a
* uclibc faq entry rather than in busybox... */

@ -1,6 +1,6 @@
--- a/networking/udhcp/dhcpc.c
+++ b/networking/udhcp/dhcpc.c
@@ -697,6 +697,7 @@ static int bcast_or_ucast(struct dhcp_pa
@@ -704,6 +704,7 @@ static int bcast_or_ucast(struct dhcp_pa
static NOINLINE int send_discover(uint32_t xid, uint32_t requested)
{
struct dhcp_packet packet;
@ -8,7 +8,7 @@
/* Fill in: op, htype, hlen, cookie, chaddr fields,
* random xid field (we override it below),
@@ -714,6 +715,7 @@ static NOINLINE int send_discover(uint32
@@ -721,6 +722,7 @@ static NOINLINE int send_discover(uint32
*/
add_client_options(&packet);

@ -1,6 +1,6 @@
--- a/networking/udhcp/dhcpc.c
+++ b/networking/udhcp/dhcpc.c
@@ -1422,6 +1422,12 @@ int udhcpc_main(int argc UNUSED_PARAM, c
@@ -1439,6 +1439,12 @@ int udhcpc_main(int argc UNUSED_PARAM, c
/* silence "uninitialized!" warning */
unsigned timestamp_before_wait = timestamp_before_wait;

@ -1,6 +1,6 @@
--- a/networking/udhcp/dhcpc.c
+++ b/networking/udhcp/dhcpc.c
@@ -1103,7 +1103,6 @@ static void perform_renew(void)
@@ -1110,7 +1110,6 @@ static void perform_renew(void)
state = RENEW_REQUESTED;
break;
case RENEW_REQUESTED: /* impatient are we? fine, square 1 */

@ -1,6 +1,6 @@
--- a/networking/telnetd.c
+++ b/networking/telnetd.c
@@ -333,6 +333,7 @@ make_new_session(
@@ -497,6 +497,7 @@ make_new_session(
/* Restore default signal handling ASAP */
bb_signals((1 << SIGCHLD) + (1 << SIGPIPE), SIG_DFL);

@ -1,6 +1,6 @@
--- a/coreutils/date.c
+++ b/coreutils/date.c
@@ -123,6 +123,7 @@
@@ -122,6 +122,7 @@
//usage: IF_FEATURE_DATE_ISOFMT(
//usage: "\n -D FMT Use FMT for -d TIME conversion"
//usage: )
@ -8,7 +8,7 @@
//usage: "\n"
//usage: "\nRecognized TIME formats:"
//usage: "\n hh:mm[:ss]"
@@ -139,9 +140,8 @@
@@ -138,9 +139,8 @@
#include "libbb.h"
#include "common_bufsiz.h"
@ -20,7 +20,7 @@
enum {
OPT_RFC2822 = (1 << 0), /* R */
@@ -149,8 +149,9 @@ enum {
@@ -148,8 +148,9 @@ enum {
OPT_UTC = (1 << 2), /* u */
OPT_DATE = (1 << 3), /* d */
OPT_REFERENCE = (1 << 4), /* r */
@ -32,7 +32,7 @@
};
static void maybe_set_utc(int opt)
@@ -168,12 +169,15 @@ static const char date_longopts[] ALIGN1
@@ -167,12 +168,15 @@ static const char date_longopts[] ALIGN1
/* "universal\0" No_argument "u" */
"date\0" Required_argument "d"
"reference\0" Required_argument "r"
@ -48,7 +48,7 @@
struct timespec ts;
struct tm tm_time;
char buf_fmt_dt2str[64];
@@ -188,7 +192,7 @@ int date_main(int argc UNUSED_PARAM, cha
@@ -187,7 +191,7 @@ int date_main(int argc UNUSED_PARAM, cha
opt_complementary = "d--s:s--d"
IF_FEATURE_DATE_ISOFMT(":R--I:I--R");
IF_LONG_OPTS(applet_long_options = date_longopts;)
@ -57,7 +57,7 @@
IF_FEATURE_DATE_ISOFMT("I::D:"),
&date_str, &date_str, &filename
IF_FEATURE_DATE_ISOFMT(, &isofmt_arg, &fmt_str2dt));
@@ -245,6 +249,31 @@ int date_main(int argc UNUSED_PARAM, cha
@@ -244,6 +248,31 @@ int date_main(int argc UNUSED_PARAM, cha
if (*argv)
bb_show_usage();

@ -1,100 +0,0 @@
From a843f09a4d4428cf11ca02307e60058251b05743 Mon Sep 17 00:00:00 2001
From: Hauke Mehrtens <hauke@hauke-m.de>
Date: Fri, 16 Sep 2016 21:52:03 +0200
Subject: [PATCH] libnetlink: fix alignment of netlink messages
An padding to align a message should not only be added between
different attributes of a netlink message, but also at the end of the
message to pad it to the correct size.
Without this patch the following command does not work and returns an
error code:
ip link add type nlmon
Without this ip from busybox sends this:
sendmsg(3, {msg_name={sa_family=AF_NETLINK, nl_pid=0, nl_groups=00000000}, msg_namelen=12, msg_iov=[{iov_base={{len=45, type=0x10 /* NLMSG_??? */, flags=NLM_F_REQUEST|NLM_F_ACK|0x600, seq=1474057401, pid=0}, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\20\0\22\0\t\0\1nlmon"}, iov_len=45}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 45
return value: 2
The normal ip utile from iproute2 sends this:
sendmsg(3, {msg_name={sa_family=AF_NETLINK, nl_pid=0, nl_groups=00000000}, msg_namelen=12, msg_iov=[{iov_base={{len=48, type=0x10 /* NLMSG_??? */, flags=NLM_F_REQUEST|NLM_F_ACK|0x600, seq=1473716938, pid=0}, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\20\0\22\0\t\0\1nlmon\0\0\0"}, iov_len=48}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 48
return value: 0
With this patch ip from busybox sends this:
sendmsg(3, {msg_name={sa_family=AF_NETLINK, nl_pid=0, nl_groups=00000000}, msg_namelen=12, msg_iov=[{iov_base={{len=48, type=0x10 /* NLMSG_??? */, flags=NLM_F_REQUEST|NLM_F_ACK|0x600, seq=1473716908, pid=0}, "\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\20\0\22\0\t\0\1nlmon\0\0\0"}, iov_len=48}], msg_iovlen=1, msg_controllen=0, msg_flags=0}, 0) = 48
return value: 0
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
---
networking/libiproute/libnetlink.c | 16 ++++++++--------
1 file changed, 8 insertions(+), 8 deletions(-)
--- a/networking/libiproute/libnetlink.c
+++ b/networking/libiproute/libnetlink.c
@@ -338,14 +338,14 @@ int FAST_FUNC addattr32(struct nlmsghdr
int len = RTA_LENGTH(4);
struct rtattr *rta;
- if ((int)(NLMSG_ALIGN(n->nlmsg_len) + len) > maxlen) {
+ if ((int)(NLMSG_ALIGN(n->nlmsg_len + len)) > maxlen) {
return -1;
}
rta = (struct rtattr*)(((char*)n) + NLMSG_ALIGN(n->nlmsg_len));
rta->rta_type = type;
rta->rta_len = len;
move_to_unaligned32(RTA_DATA(rta), data);
- n->nlmsg_len = NLMSG_ALIGN(n->nlmsg_len) + len;
+ n->nlmsg_len = NLMSG_ALIGN(n->nlmsg_len + len);
return 0;
}
@@ -354,14 +354,14 @@ int FAST_FUNC addattr_l(struct nlmsghdr
int len = RTA_LENGTH(alen);
struct rtattr *rta;
- if ((int)(NLMSG_ALIGN(n->nlmsg_len) + len) > maxlen) {
+ if ((int)(NLMSG_ALIGN(n->nlmsg_len + len)) > maxlen) {
return -1;
}
rta = (struct rtattr*)(((char*)n) + NLMSG_ALIGN(n->nlmsg_len));
rta->rta_type = type;
rta->rta_len = len;
memcpy(RTA_DATA(rta), data, alen);
- n->nlmsg_len = NLMSG_ALIGN(n->nlmsg_len) + len;
+ n->nlmsg_len = NLMSG_ALIGN(n->nlmsg_len + len);
return 0;
}
@@ -370,14 +370,14 @@ int FAST_FUNC rta_addattr32(struct rtatt
int len = RTA_LENGTH(4);
struct rtattr *subrta;
- if (RTA_ALIGN(rta->rta_len) + len > maxlen) {
+ if (RTA_ALIGN(rta->rta_len + len) > maxlen) {
return -1;
}
subrta = (struct rtattr*)(((char*)rta) + RTA_ALIGN(rta->rta_len));
subrta->rta_type = type;
subrta->rta_len = len;
move_to_unaligned32(RTA_DATA(subrta), data);
- rta->rta_len = NLMSG_ALIGN(rta->rta_len) + len;
+ rta->rta_len = NLMSG_ALIGN(rta->rta_len + len);
return 0;
}
@@ -386,14 +386,14 @@ int FAST_FUNC rta_addattr_l(struct rtatt
struct rtattr *subrta;
int len = RTA_LENGTH(alen);
- if (RTA_ALIGN(rta->rta_len) + len > maxlen) {
+ if (RTA_ALIGN(rta->rta_len + len) > maxlen) {
return -1;
}
subrta = (struct rtattr*)(((char*)rta) + RTA_ALIGN(rta->rta_len));
subrta->rta_type = type;
subrta->rta_len = len;
memcpy(RTA_DATA(subrta), data, alen);
- rta->rta_len = NLMSG_ALIGN(rta->rta_len) + len;
+ rta->rta_len = NLMSG_ALIGN(rta->rta_len + len);
return 0;
}

@ -1,486 +0,0 @@
From 485fcc89b99eae9cc7501eaff344b104e52ab7bf Mon Sep 17 00:00:00 2001
From: Jo-Philipp Wich <jo@mein.io>
Date: Mon, 26 Sep 2016 17:48:22 +0200
Subject: [PATCH] iproute: properly support high routing table IDs
The Linux kernel uses two distinct fields to denote the routing table ID in
use by network routes; the 8 bit `rtm_table` member of `struct rtmsg` and the
32 bit `RTA_TABLE` netlink attribute.
If a routing table ID is larger than 255, the `RT_TABLE` attribute must be used
and the `rtm_table` field has to be set to the special `RT_TABLE_UNSPEC` value.
This commit ...
- switches the *_n2a() and *_a2n() functions of rt_names.c to use dynamically
sized, name-sorted arrays instead of fixed arrays limited to 1024 slots in
order to support IDs up to 65535
- adds proper handling of high table IDs to iprule.c and iproute.c when
adding, removing and dumping ip rules and network routes
After this change, the Busybox ip applet fully supports IP rules with high ID
numbers, using the same logic as the full iproute2.
Signed-off-by: Jo-Philipp Wich <jo@mein.io>
---
networking/libiproute/iproute.c | 75 ++++++++------
networking/libiproute/iprule.c | 4 +-
networking/libiproute/rt_names.c | 204 +++++++++++++++++++++++----------------
3 files changed, 169 insertions(+), 114 deletions(-)
--- a/networking/libiproute/iproute.c
+++ b/networking/libiproute/iproute.c
@@ -66,6 +66,7 @@ static int FAST_FUNC print_route(const s
inet_prefix dst;
inet_prefix src;
int host_len = -1;
+ uint32_t rtable;
if (n->nlmsg_type != RTM_NEWROUTE && n->nlmsg_type != RTM_DELROUTE) {
fprintf(stderr, "Not a route: %08x %08x %08x\n",
@@ -83,34 +84,6 @@ static int FAST_FUNC print_route(const s
else if (r->rtm_family == AF_INET)
host_len = 32;
- if (r->rtm_family == AF_INET6) {
- if (G_filter.tb) {
- if (G_filter.tb < 0) {
- if (!(r->rtm_flags & RTM_F_CLONED)) {
- return 0;
- }
- } else {
- if (r->rtm_flags & RTM_F_CLONED) {
- return 0;
- }
- if (G_filter.tb == RT_TABLE_LOCAL) {
- if (r->rtm_type != RTN_LOCAL) {
- return 0;
- }
- } else if (G_filter.tb == RT_TABLE_MAIN) {
- if (r->rtm_type == RTN_LOCAL) {
- return 0;
- }
- } else {
- return 0;
- }
- }
- }
- } else {
- if (G_filter.tb > 0 && G_filter.tb != r->rtm_table) {
- return 0;
- }
- }
if (G_filter.rdst.family
&& (r->rtm_family != G_filter.rdst.family || G_filter.rdst.bitlen > r->rtm_dst_len)
) {
@@ -141,6 +114,37 @@ static int FAST_FUNC print_route(const s
memset(&dst, 0, sizeof(dst));
parse_rtattr(tb, RTA_MAX, RTM_RTA(r), len);
+ rtable = tb[RTA_TABLE] ? *(uint32_t*)RTA_DATA(tb[RTA_TABLE]) : r->rtm_table;
+
+ if (G_filter.tb) {
+ if (r->rtm_family == AF_INET6) {
+ if (G_filter.tb < 0) {
+ if (!(r->rtm_flags & RTM_F_CLONED)) {
+ return 0;
+ }
+ } else {
+ if (r->rtm_flags & RTM_F_CLONED) {
+ return 0;
+ }
+ if (G_filter.tb == RT_TABLE_LOCAL) {
+ if (r->rtm_type != RTN_LOCAL) {
+ return 0;
+ }
+ } else if (G_filter.tb == RT_TABLE_MAIN) {
+ if (r->rtm_type == RTN_LOCAL) {
+ return 0;
+ }
+ } else if (G_filter.tb != rtable) {
+ return 0;
+ }
+ }
+ } else {
+ if (G_filter.tb != rtable) {
+ return 0;
+ }
+ }
+ }
+
if (tb[RTA_SRC]) {
src.bitlen = r->rtm_src_len;
src.bytelen = (r->rtm_family == AF_INET6 ? 16 : 4);
@@ -349,7 +353,9 @@ IF_FEATURE_IP_RULE(ARG_table,)
smalluint ok = 0;
smalluint scope_ok = 0;
int arg;
-
+#if ENABLE_FEATURE_IP_RULE
+ uint32_t rtable = 0;
+#endif
memset(&req, 0, sizeof(req));
req.n.nlmsg_len = NLMSG_LENGTH(sizeof(struct rtmsg));
@@ -419,7 +425,7 @@ IF_FEATURE_IP_RULE(ARG_table,)
NEXT_ARG();
if (rtnl_rttable_a2n(&tid, *argv))
invarg_1_to_2(*argv, "table");
- req.r.rtm_table = tid;
+ rtable = tid;
#endif
} else if (arg == ARG_dev || arg == ARG_oif) {
NEXT_ARG();
@@ -475,6 +481,15 @@ IF_FEATURE_IP_RULE(ARG_table,)
}
}
+#if ENABLE_FEATURE_IP_RULE
+ if (rtable >= 256) {
+ addattr32(&req.n, sizeof(req), RTA_TABLE, rtable);
+ req.r.rtm_table = RT_TABLE_UNSPEC;
+ } else if (rtable > 0) {
+ req.r.rtm_table = rtable;
+ }
+#endif
+
if (mxrta->rta_len > RTA_LENGTH(0)) {
if (mxlock) {
rta_addattr32(mxrta, sizeof(mxbuf), RTAX_LOCK, mxlock);
--- a/networking/libiproute/iprule.c
+++ b/networking/libiproute/iprule.c
@@ -114,7 +114,9 @@ static int FAST_FUNC print_rule(const st
printf("iif %s ", (char*)RTA_DATA(tb[RTA_IIF]));
}
- if (r->rtm_table)
+ if (tb[RTA_TABLE])
+ printf("lookup %s ", rtnl_rttable_n2a(*(uint32_t*)RTA_DATA(tb[RTA_TABLE])));
+ else if (r->rtm_table)
printf("lookup %s ", rtnl_rttable_n2a(r->rtm_table));
if (tb[RTA_FLOW]) {
--- a/networking/libiproute/rt_names.c
+++ b/networking/libiproute/rt_names.c
@@ -11,21 +11,26 @@
#include "rt_names.h"
#define CONFDIR CONFIG_FEATURE_IP_ROUTE_DIR
+#define RT_TABLE_MAX 65535
+
+struct rtnl_tab_entry {
+ unsigned int id;
+ const char *name;
+};
typedef struct rtnl_tab_t {
- const char *cached_str;
- unsigned cached_result;
- /* upstream version switched to a hash table and removed
- * id < 256 limit. For now bbox bumps this array size from 256
- * to 1024. If you plan to change this to a hash table,
- * consider merging several hash tables we have (for example,
- * awk has resizable one!
- */
-#define RT_TABLE_MAX 1023
- const char *tab[RT_TABLE_MAX+1];
+ struct rtnl_tab_entry *tab;
+ size_t length;
} rtnl_tab_t;
-static void rtnl_tab_initialize(const char *file, const char **tab)
+static int tabcmp(const void *p1, const void *p2)
+{
+ const struct rtnl_tab_entry *e1 = p1;
+ const struct rtnl_tab_entry *e2 = p2;
+ return strcmp(e1->name, e2->name);
+}
+
+static void rtnl_tab_initialize(const char *file, rtnl_tab_t *tab)
{
char *token[2];
char fullname[sizeof(CONFDIR"/rt_dsfield") + 8];
@@ -40,34 +45,42 @@ static void rtnl_tab_initialize(const ch
file, parser->lineno);
break;
}
- tab[id] = xstrdup(token[1]);
+
+ tab->tab = xrealloc(tab->tab, (tab->length + 1) * sizeof(*tab->tab));
+ tab->tab[tab->length].id = id;
+ tab->tab[tab->length].name = xstrdup(token[1]);
+ tab->length++;
}
config_close(parser);
+ qsort(tab->tab, tab->length, sizeof(*tab->tab), tabcmp);
}
static int rtnl_a2n(rtnl_tab_t *tab, uint32_t *id, const char *arg, int base)
{
- unsigned i;
-
- if (tab->cached_str && strcmp(tab->cached_str, arg) == 0) {
- *id = tab->cached_result;
- return 0;
- }
+ int delta;
+ ssize_t l = 0;
+ ssize_t r = tab->length - 1;
+ ssize_t m;
+ uint32_t i;
+
+ while (l <= r) {
+ m = l + (r - l) / 2;
+ delta = strcmp(tab->tab[m].name, arg);
- for (i = 0; i <= RT_TABLE_MAX; i++) {
- if (tab->tab[i]
- && strcmp(tab->tab[i], arg) == 0
- ) {
- tab->cached_str = tab->tab[i];
- tab->cached_result = i;
- *id = i;
+ if (delta == 0) {
+ *id = tab->tab[m].id;
return 0;
+ } else if (delta < 0) {
+ l = m + 1;
+ } else {
+ r = m - 1;
}
}
i = bb_strtou(arg, NULL, base);
if (i > RT_TABLE_MAX)
return -1;
+
*id = i;
return 0;
}
@@ -77,40 +90,39 @@ static rtnl_tab_t *rtnl_rtprot_tab;
static void rtnl_rtprot_initialize(void)
{
- static const char *const init_tab[] = {
- "none",
- "redirect",
- "kernel",
- "boot",
- "static",
- NULL,
- NULL,
- NULL,
- "gated",
- "ra",
- "mrt",
- "zebra",
- "bird",
+ static const struct rtnl_tab_entry init_tab[] = {
+ { 0, "none" },
+ { 1, "redirect" },
+ { 2, "kernel" },
+ { 3, "boot" },
+ { 4, "static" },
+ { 8, "gated" },
+ { 9, "ra" },
+ { 10, "mrt" },
+ { 11, "zebra" },
+ { 12, "bird" }
};
if (rtnl_rtprot_tab)
return;
rtnl_rtprot_tab = xzalloc(sizeof(*rtnl_rtprot_tab));
+ rtnl_rtprot_tab->tab = xzalloc(sizeof(init_tab));
+ rtnl_rtprot_tab->length = sizeof(init_tab) / sizeof(init_tab[0]);
memcpy(rtnl_rtprot_tab->tab, init_tab, sizeof(init_tab));
- rtnl_tab_initialize("protos", rtnl_rtprot_tab->tab);
+ rtnl_tab_initialize("protos", rtnl_rtprot_tab);
}
#if 0 /* UNUSED */
const char* FAST_FUNC rtnl_rtprot_n2a(int id)
{
- if (id < 0 || id > RT_TABLE_MAX) {
- return itoa(id);
- }
+ size_t i;
rtnl_rtprot_initialize();
- if (rtnl_rtprot_tab->tab[id])
- return rtnl_rtprot_tab->tab[id];
+ for (i = 0; i < rtnl_rtprot_tab->length; i++)
+ if (rtnl_rtprot_tab->tab[i].id == id)
+ return rtnl_rtprot_tab->tab[i].name;
+
return itoa(id);
}
#endif
@@ -126,27 +138,33 @@ static rtnl_tab_t *rtnl_rtscope_tab;
static void rtnl_rtscope_initialize(void)
{
+ static const struct rtnl_tab_entry init_tab[] = {
+ { 0, "global" },
+ { 200, "site" },
+ { 253, "link" },
+ { 254, "host" },
+ { 255, "nowhere" }
+ };
+
if (rtnl_rtscope_tab)
return;
rtnl_rtscope_tab = xzalloc(sizeof(*rtnl_rtscope_tab));
- rtnl_rtscope_tab->tab[0] = "global";
- rtnl_rtscope_tab->tab[255] = "nowhere";
- rtnl_rtscope_tab->tab[254] = "host";
- rtnl_rtscope_tab->tab[253] = "link";
- rtnl_rtscope_tab->tab[200] = "site";
- rtnl_tab_initialize("scopes", rtnl_rtscope_tab->tab);
+ rtnl_rtscope_tab->tab = xzalloc(sizeof(init_tab));
+ rtnl_rtscope_tab->length = sizeof(init_tab) / sizeof(init_tab[0]);
+ memcpy(rtnl_rtscope_tab->tab, init_tab, sizeof(init_tab));
+ rtnl_tab_initialize("scopes", rtnl_rtscope_tab);
}
const char* FAST_FUNC rtnl_rtscope_n2a(int id)
{
- if (id < 0 || id > RT_TABLE_MAX) {
- return itoa(id);
- }
+ size_t i;
rtnl_rtscope_initialize();
- if (rtnl_rtscope_tab->tab[id])
- return rtnl_rtscope_tab->tab[id];
+ for (i = 0; i < rtnl_rtscope_tab->length; i++)
+ if (rtnl_rtscope_tab->tab[i].id == id)
+ return rtnl_rtscope_tab->tab[i].name;
+
return itoa(id);
}
@@ -161,10 +179,17 @@ static rtnl_tab_t *rtnl_rtrealm_tab;
static void rtnl_rtrealm_initialize(void)
{
- if (rtnl_rtrealm_tab) return;
+ static const struct rtnl_tab_entry init_tab[] = {
+ { 0, "unknown" }
+ };
+
+ if (rtnl_rtrealm_tab)
+ return;
rtnl_rtrealm_tab = xzalloc(sizeof(*rtnl_rtrealm_tab));
- rtnl_rtrealm_tab->tab[0] = "unknown";
- rtnl_tab_initialize("realms", rtnl_rtrealm_tab->tab);
+ rtnl_rtrealm_tab->tab = xzalloc(sizeof(init_tab));
+ rtnl_rtrealm_tab->length = sizeof(init_tab) / sizeof(init_tab[0]);
+ memcpy(rtnl_rtrealm_tab->tab, init_tab, sizeof(init_tab));
+ rtnl_tab_initialize("realms", rtnl_rtrealm_tab);
}
int FAST_FUNC rtnl_rtrealm_a2n(uint32_t *id, char *arg)
@@ -176,14 +201,14 @@ int FAST_FUNC rtnl_rtrealm_a2n(uint32_t
#if ENABLE_FEATURE_IP_RULE
const char* FAST_FUNC rtnl_rtrealm_n2a(int id)
{
- if (id < 0 || id > RT_TABLE_MAX) {
- return itoa(id);
- }
+ size_t i;
rtnl_rtrealm_initialize();
- if (rtnl_rtrealm_tab->tab[id])
- return rtnl_rtrealm_tab->tab[id];
+ for (i = 0; i < rtnl_rtrealm_tab->length; i++)
+ if (rtnl_rtrealm_tab->tab[i].id == id)
+ return rtnl_rtrealm_tab->tab[i].name;
+
return itoa(id);
}
#endif
@@ -193,22 +218,29 @@ static rtnl_tab_t *rtnl_rtdsfield_tab;
static void rtnl_rtdsfield_initialize(void)
{
- if (rtnl_rtdsfield_tab) return;
+ static const struct rtnl_tab_entry init_tab[] = {
+ { 0, "0" }
+ };
+
+ if (rtnl_rtdsfield_tab)
+ return;
rtnl_rtdsfield_tab = xzalloc(sizeof(*rtnl_rtdsfield_tab));
- rtnl_rtdsfield_tab->tab[0] = "0";
- rtnl_tab_initialize("dsfield", rtnl_rtdsfield_tab->tab);
+ rtnl_rtdsfield_tab->tab = xzalloc(sizeof(init_tab));
+ rtnl_rtdsfield_tab->length = sizeof(init_tab) / sizeof(init_tab[0]);
+ memcpy(rtnl_rtdsfield_tab->tab, init_tab, sizeof(init_tab));
+ rtnl_tab_initialize("dsfield", rtnl_rtdsfield_tab);
}
const char* FAST_FUNC rtnl_dsfield_n2a(int id)
{
- if (id < 0 || id > RT_TABLE_MAX) {
- return itoa(id);
- }
+ size_t i;
rtnl_rtdsfield_initialize();
- if (rtnl_rtdsfield_tab->tab[id])
- return rtnl_rtdsfield_tab->tab[id];
+ for (i = 0; i < rtnl_rtdsfield_tab->length; i++)
+ if (rtnl_rtdsfield_tab->tab[i].id == id)
+ return rtnl_rtdsfield_tab->tab[i].name;
+
return itoa(id);
}
@@ -224,27 +256,33 @@ static rtnl_tab_t *rtnl_rttable_tab;
static void rtnl_rttable_initialize(void)
{
+ static const struct rtnl_tab_entry tab_init[] = {
+ { 0, "unspec" },
+ { 253, "default" },
+ { 254, "main" },
+ { 255, "local" }
+ };
+
if (rtnl_rttable_tab)
return;
rtnl_rttable_tab = xzalloc(sizeof(*rtnl_rttable_tab));
- rtnl_rttable_tab->tab[0] = "unspec";
- rtnl_rttable_tab->tab[255] = "local";
- rtnl_rttable_tab->tab[254] = "main";
- rtnl_rttable_tab->tab[253] = "default";
- rtnl_tab_initialize("tables", rtnl_rttable_tab->tab);
+ rtnl_rttable_tab->tab = xzalloc(sizeof(tab_init));
+ rtnl_rttable_tab->length = sizeof(tab_init) / sizeof(tab_init[0]);
+ memcpy(rtnl_rttable_tab->tab, tab_init, sizeof(tab_init));
+ rtnl_tab_initialize("tables", rtnl_rttable_tab);
}
const char* FAST_FUNC rtnl_rttable_n2a(int id)
{
- if (id < 0 || id > RT_TABLE_MAX) {
- return itoa(id);
- }
+ size_t i;
rtnl_rttable_initialize();
- if (rtnl_rttable_tab->tab[id])
- return rtnl_rttable_tab->tab[id];
+ for (i = 0; i < rtnl_rttable_tab->length; i++)
+ if (rtnl_rttable_tab->tab[i].id == id)
+ return rtnl_rttable_tab->tab[i].name;
+
return itoa(id);
}
Loading…
Cancel
Save