diff options
Diffstat (limited to 'package/busybox/config')
26 files changed, 5817 insertions, 5587 deletions
| diff --git a/package/busybox/config/Config.in b/package/busybox/config/Config.in index 868f0b9ff..573c55f8c 100644 --- a/package/busybox/config/Config.in +++ b/package/busybox/config/Config.in @@ -1,485 +1,363 @@  #  # For a description of the syntax of this configuration file, -# see scripts/kbuild/config-language.txt. +# see docs/Kconfig-language.txt.  # -# mainmenu "BusyBox Configuration" +# mainmenu "Configuration"  config BUSYBOX_HAVE_DOT_CONFIG  	bool  	default y -menu "Busybox Settings" - -menu "General Configuration" +menu "Settings"  config BUSYBOX_DESKTOP -	bool "Enable options for full-blown desktop systems" -	default n +	bool "Enable compatibility for full-blown desktop systems (8kb)" +	default y  	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. +	Enable applet options and features which are not essential. +	Many applet options have dedicated config options to (de)select them +	under that applet; this options enables those options which have no +	individual config item for them. + +	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_EXTRA_COMPAT  	bool "Provide compatible behavior for rare corner cases (bigger code)"  	default n  	help -	  This option makes grep, sed etc handle rare corner cases -	  (embedded NUL bytes and such). This makes code bigger and uses -	  some GNU extensions in libc. You probably only need this option -	  if you plan to run busybox on desktop. +	This option makes grep, sed etc handle rare corner cases +	(embedded NUL bytes and such). This makes code bigger and uses +	some GNU extensions in libc. You probably only need this option +	if you plan to run busybox on desktop. -config BUSYBOX_INCLUDE_SUSv2 -	bool "Enable obsolete features removed before SUSv3" +config BUSYBOX_FEDORA_COMPAT +	bool "Building for Fedora distribution"  	default n  	help -	  This option will enable backwards compatibility with SuSv2, -	  specifically, old-style numeric options ('command -1 <file>') -	  will be supported in head, tail, and fold. (Note: should -	  affect renice too.) +	This option makes some tools behave like they do on Fedora. -config BUSYBOX_USE_PORTABLE_CODE -	bool "Avoid using GCC-specific code constructs" -	default n -	help -	  Use this option if you are trying to compile busybox with -	  compiler other than gcc. -	  If you do use gcc, this option may needlessly increase code size. +	At the time of this writing (2017-08) this only affects uname: +	normally, uname -p (processor) and uname -i (platform) +	are shown as "unknown", but with this option uname -p +	shows the same string as uname -m (machine type), +	and so does uname -i unless machine type is i486/i586/i686 - +	then uname -i shows "i386". -config BUSYBOX_INSTALL_NO_USR -        bool "Don't use /usr" -        default n -        help -          Disable use of /usr. busybox --install and "make install" -          will install applets only to /bin and /sbin, -          never to /usr/bin or /usr/sbin. - -config BUSYBOX_PLATFORM_LINUX -	bool "Enable Linux-specific applets and features" +config BUSYBOX_INCLUDE_SUSv2 +	bool "Enable obsolete features removed before SUSv3"  	default y  	help -	  For the most part, busybox requires only POSIX compatibility -	  from the target system, but some applets and features use -	  Linux-specific interfaces. - -	  Answering 'N' here will disable such applets and hide the -	  corresponding configuration options. +	This option will enable backwards compatibility with SuSv2, +	specifically, old-style numeric options ('command -1 <file>') +	will be supported in head, tail, and fold. (Note: should +	affect renice too.) -choice -	prompt "Buffer allocation policy" -	default FEATURE_BUFFERS_USE_MALLOC +config BUSYBOX_LONG_OPTS +	bool "Support --long-options" +	default y  	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_FEATURE_BUFFERS_USE_MALLOC -	bool "Allocate with Malloc" - -config BUSYBOX_FEATURE_BUFFERS_GO_ON_STACK -	bool "Allocate on the Stack" - -config BUSYBOX_FEATURE_BUFFERS_GO_IN_BSS -	bool "Allocate in the .bss section" - -endchoice +	Enable this if you want busybox applets to use the gnu --long-option +	style, in addition to single character -a -b -c style options.  config BUSYBOX_SHOW_USAGE  	bool "Show applet usage messages"  	default y  	help -	  Enabling this option, BusyBox applets will show terse help messages -	  when invoked with wrong arguments. -	  If you do not want to show any (helpful) usage message when -	  issuing wrong command syntax, you can say 'N' here, -	  saving approximately 7k. +	Enabling this option, applets will show terse help messages +	when invoked with wrong arguments. +	If you do not want to show any (helpful) usage message when +	issuing wrong command syntax, you can say 'N' here, +	saving approximately 7k.  config BUSYBOX_FEATURE_VERBOSE_USAGE  	bool "Show verbose applet usage messages"  	default y  	depends on BUSYBOX_SHOW_USAGE  	help -	  All BusyBox applets will show verbose help messages when -	  busybox is invoked with --help. This will add a lot of text to the -	  busybox binary. In the default configuration, this will add about -	  13k, but it can add much more depending on your configuration. +	All applets will show verbose help messages when invoked with --help. +	This will add a lot of text to the binary.  config BUSYBOX_FEATURE_COMPRESS_USAGE  	bool "Store applet usage messages in compressed form"  	default y  	depends on BUSYBOX_SHOW_USAGE  	help -	  Store usage messages in .bz compressed form, uncompress them -	  on-the-fly when <applet> --help is called. +	Store usage messages in .bz2 compressed form, uncompress them +	on-the-fly when "APPLET --help" is run. -	  If you have a really tiny busybox with few applets enabled (and -	  bunzip2 isn't one of them), the overhead of the decompressor might -	  be noticeable. Also, if you run executables directly from ROM -	  and have very little memory, this might not be a win. Otherwise, -	  you probably want this. +	If you have a really tiny busybox with few applets enabled (and +	bunzip2 isn't one of them), the overhead of the decompressor might +	be noticeable. Also, if you run executables directly from ROM +	and have very little memory, this might not be a win. Otherwise, +	you probably want this. -config BUSYBOX_BUSYBOX -	bool "Include busybox applet" +config BUSYBOX_LFS +	bool "Support files > 2 GB"  	default y  	help -	  The busybox applet provides general help regarding busybox and -	  allows the included applets to be listed.  It's also required -	  if applet links are to be installed at runtime. - -	  If you can live without these features disabling this will save -	  some space. - -config BUSYBOX_FEATURE_INSTALLER -	bool "Support --install [-s] to install applet links at runtime" -	default n -	help -	  Enable 'busybox --install [-s]' support. This will allow you to use -	  busybox at runtime to create hard links or symlinks for all the -	  applets that are compiled into busybox. - -config BUSYBOX_LOCALE_SUPPORT -	bool "Enable locale support (system needs locale for this to work)" -	default n -	help -	  Enable this if your system has locale support and you would like -	  busybox to support locale settings. +	If you need to work with large files, enable this option. +	This will have no effect if your kernel or your C +	library lacks large file support for large files. Some of the +	programs that can benefit from large file support include dd, gzip, +	cp, mount, tar. -config BUSYBOX_UNICODE_SUPPORT -	bool "Support Unicode" +config BUSYBOX_TIME64 +	bool "Support 64bit wide time types"  	default y +	depends on BUSYBOX_LFS  	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_UNICODE_USING_LOCALE -	bool "Use libc routines for Unicode (else uses internal ones)" -	default n -	depends on BUSYBOX_UNICODE_SUPPORT && BUSYBOX_LOCALE_SUPPORT -	help -	  With this option on, Unicode support is implemented using libc -	  routines. Otherwise, internal implementation is used. -	  Internal implementation is smaller. - -config BUSYBOX_FEATURE_CHECK_UNICODE_IN_ENV -	bool "Check $LANG environment variable" -	default n -	depends on BUSYBOX_UNICODE_SUPPORT && !BUSYBOX_UNICODE_USING_LOCALE -	help -	  With this option on, Unicode support is activated -	  only if LANG variable has the value of the form "xxxx.utf8" - -	  Otherwise, Unicode support will be always enabled and active. - -config BUSYBOX_SUBST_WCHAR -	int "Character code to substitute unprintable characters with" -	depends on BUSYBOX_UNICODE_SUPPORT -	default 63 -	help -	  Typical values are 63 for '?' (works with any output device), -	  30 for ASCII substitute control code, -	  65533 (0xfffd) for Unicode replacement character. - -config BUSYBOX_LAST_SUPPORTED_WCHAR -	int "Range of supported Unicode characters" -	depends on BUSYBOX_UNICODE_SUPPORT -	default 767 -	help -	  Any character with Unicode value bigger than this is assumed -	  to be non-printable on output device. Many applets replace -	  such chars with substitution character. - -	  The idea is that many valid printable Unicode chars are -	  nevertheless are not displayed correctly. Think about -	  combining charachers, double-wide hieroglyphs, obscure -	  characters in dozens of ancient scripts... -	  Many terminals, terminal emulators, xterms etc will fail -	  to handle them correctly. Choose the smallest value -	  which suits your needs. - -	  Typical values are: -	  126 - ASCII only -	  767 (0x2ff) - there are no combining chars in [0..767] range -			(the range includes Latin 1, Latin Ext. A and B), -			code is ~700 bytes smaller for this case. -	  4351 (0x10ff) - there are no double-wide chars in [0..4351] range, -			code is ~300 bytes smaller for this case. -	  12799 (0x31ff) - nearly all non-ideographic characters are -			available in [0..12799] range, including -			East Asian scripts like katakana, hiragana, hangul, -			bopomofo... -	  0 - off, any valid printable Unicode character will be printed. - -config BUSYBOX_UNICODE_COMBINING_WCHARS -	bool "Allow zero-width Unicode characters on output" -	default n -	depends on BUSYBOX_UNICODE_SUPPORT -	help -	  With this option off, any Unicode char with width of 0 -	  is substituted on output. - -config BUSYBOX_UNICODE_WIDE_WCHARS -	bool "Allow wide Unicode characters on output" -	default n -	depends on BUSYBOX_UNICODE_SUPPORT -	help -	  With this option off, any Unicode char with width > 1 -	  is substituted on output. - -config BUSYBOX_UNICODE_BIDI_SUPPORT -	bool "Bidirectional character-aware line input" -	default n -	depends on BUSYBOX_UNICODE_SUPPORT && !BUSYBOX_UNICODE_USING_LOCALE -	help -	  With this option on, right-to-left Unicode characters -	  are treated differently on input (e.g. cursor movement). - -config BUSYBOX_UNICODE_NEUTRAL_TABLE -	bool "In bidi input, support non-ASCII neutral chars too" -	default n -	depends on BUSYBOX_UNICODE_BIDI_SUPPORT -	help -	  In most cases it's enough to treat only ASCII non-letters -	  (i.e. punctuation, numbers and space) as characters -	  with neutral directionality. -	  With this option on, more extensive (and bigger) table -	  of neutral chars will be used. - -config BUSYBOX_UNICODE_PRESERVE_BROKEN -	bool "Make it possible to enter sequences of chars which are not Unicode" -	default n -	depends on BUSYBOX_UNICODE_SUPPORT -	help -	  With this option on, 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 '?'. +	Make times later than 2038 representable for several libc syscalls +	(stat, clk_gettime etc.). Note this switch is specific to glibc +	and has no effect on platforms that already use 64bit wide time types +	(i.e. all 64bit archs and some selected 32bit archs (currently riscv +	and x32)).  config BUSYBOX_PAM -	bool "Support for PAM (Pluggable Authentication Modules)" +	bool "Support PAM (Pluggable Authentication Modules)"  	default n  	help -	  Use PAM in some busybox applets (currently login and httpd) instead -	  of direct access to password database. - -config BUSYBOX_FEATURE_USE_SENDFILE -	bool "Use sendfile system call" -	default y -	select BUSYBOX_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_LONG_OPTS -	bool "Support for --long-options" -	default y -	help -	  Enable this if you want busybox applets to use the gnu --long-option -	  style, in addition to single character -a -b -c style options. +	Use PAM in some applets (currently login and httpd) instead +	of direct access to password database.  config BUSYBOX_FEATURE_DEVPTS  	bool "Use the devpts filesystem for Unix98 PTYs"  	default y  	help -	  Enable if you want BusyBox to use Unix98 PTY support. If enabled, -	  busybox will use /dev/ptmx for the master side of the pseudoterminal -	  and /dev/pts/<number> for the slave side. Otherwise, BSD style -	  /dev/ttyp<number> will be used. To use this option, you should have -	  devpts mounted. - -config BUSYBOX_FEATURE_CLEAN_UP -	bool "Clean up all memory before exiting (usually not needed)" -	default n -	help -	  As a size optimization, busybox normally exits without explicitly -	  freeing dynamically allocated memory or closing files. This saves -	  space since the OS will clean up for us, but it can confuse debuggers -	  like valgrind, which report tons of memory and resource leaks. - -	  Don't enable this unless you have a really good reason to clean -	  things up manually. +	Enable if you want to use Unix98 PTY support. If enabled, +	busybox will use /dev/ptmx for the master side of the pseudoterminal +	and /dev/pts/<number> for the slave side. Otherwise, BSD style +	/dev/ttyp<number> will be used. To use this option, you should have +	devpts mounted.  config BUSYBOX_FEATURE_UTMP  	bool "Support utmp file" -	default n +	default y  	help -	  The file /var/run/utmp is used to track who is currently logged in. -	  With this option on, certain applets (getty, login, telnetd etc) -	  will create and delete entries there. -	  "who" applet requires this option. +	The file /var/run/utmp is used to track who is currently logged in. +	With this option on, certain applets (getty, login, telnetd etc) +	will create and delete entries there. +	"who" applet requires this option.  config BUSYBOX_FEATURE_WTMP  	bool "Support wtmp file" -	default n +	default y  	depends on BUSYBOX_FEATURE_UTMP  	help -	  The file /var/run/wtmp is used to track when users have logged into -	  and logged out of the system. -	  With this option on, certain applets (getty, login, telnetd etc) -	  will append new entries there. -	  "last" applet requires this option. +	The file /var/run/wtmp is used to track when users have logged into +	and logged out of the system. +	With this option on, certain applets (getty, login, telnetd etc) +	will append new entries there. +	"last" applet requires this option.  config BUSYBOX_FEATURE_PIDFILE  	bool "Support writing pidfiles"  	default y  	help -	  This option makes some applets (e.g. crond, syslogd, inetd) write -	  a pidfile in /var/run. Some applications rely on them. +	This option makes some applets (e.g. crond, syslogd, inetd) write +	a pidfile at the configured BUSYBOX_PID_FILE_PATH.  It has no effect +	on applets which require pidfiles to run.  config BUSYBOX_PID_FILE_PATH -        string "Path to directory for pidfile" -        default "/var/run" -        depends on BUSYBOX_FEATURE_PIDFILE -        help -          This is the default path where pidfiles are created.  Applets which -          allow you to set the pidfile path on the command line will override -          this value.  The option has no effect on applets that require you to -          specify a pidfile path. +	string "Directory for pidfiles" +	default "/var/run" +	depends on BUSYBOX_FEATURE_PIDFILE || BUSYBOX_FEATURE_CROND_SPECIAL_TIMES +	help +	This is the default path where pidfiles are created.  Applets which +	allow you to set the pidfile path on the command line will override +	this value.  The option has no effect on applets that require you to +	specify a pidfile path.  When crond has the 'Support special times' +	option enabled, the 'crond.reboot' file is also stored here. -config BUSYBOX_FEATURE_SUID -	bool "Support for SUID/SGID handling" +config BUSYBOX_BUSYBOX +	bool "Include busybox applet"  	default y  	help -	  With this option you can install the busybox binary belonging -	  to root with the suid bit set, enabling some applets to perform -	  root-level operations even when run by ordinary users -	  (for example, mounting of user mounts in fstab needs this). - -	  Busybox will automatically drop priviledges for applets -	  that don't need root access. +	The busybox applet provides general help message and allows +	the included applets to be listed.  It also provides +	optional --install command to create applet links. If you unselect +	this option, running busybox without any arguments will give +	just a cryptic error message: -	  If you are really paranoid and don't want to do this, build two -	  busybox binaries with different applets in them (and the appropriate -	  symlinks pointing to each binary), and only set the suid bit on the -	  one that needs it. +	$ busybox +	busybox: applet not found -	  The applets which require root rights (need suid bit or -	  to be run by root) and will refuse to execute otherwise: -	  crontab, login, passwd, su, vlock, wall. +	Running "busybox APPLET [ARGS...]" will still work, of course. -	  The applets which will use root rights if they have them -	  (via suid bit, or because run by root), but would try to work -	  without root right nevertheless: -	  findfs, ping[6], traceroute[6], mount. - -	  Note that if you DONT select this option, but DO make busybox -	  suid root, ALL applets will run under root, which is a huge -	  security hole (think "cp /some/file /etc/passwd"). +config BUSYBOX_FEATURE_SHOW_SCRIPT +	bool "Support --show SCRIPT" +	default y +	depends on BUSYBOX_BUSYBOX -config BUSYBOX_FEATURE_SUID_CONFIG -	bool "Runtime SUID/SGID configuration via /etc/busybox.conf" +config BUSYBOX_FEATURE_INSTALLER +	bool "Support --install [-s] to install applet links at runtime"  	default y -	depends on BUSYBOX_FEATURE_SUID +	depends on BUSYBOX_BUSYBOX  	help -	  Allow the SUID / SGID state of an applet to be determined at runtime -	  by checking /etc/busybox.conf. (This is sort of a poor man's sudo.) -	  The format of this file is as follows: +	Enable 'busybox --install [-s]' support. This will allow you to use +	busybox at runtime to create hard links or symlinks for all the +	applets that are compiled into busybox. -	  APPLET = [Ssx-][Ssx-][x-] [USER.GROUP] +config BUSYBOX_INSTALL_NO_USR +	bool "Don't use /usr" +	default n +	help +	Disable use of /usr. "busybox --install" and "make install" +	will install applets only to /bin and /sbin, +	never to /usr/bin or /usr/sbin. -	  s: USER or GROUP is allowed to execute APPLET. -	     APPLET will run under USER or GROUP -	     (reagardless of who's running it). -	  S: USER or GROUP is NOT allowed to execute APPLET. -	     APPLET will run under USER or GROUP. -	     This option is not very sensical. -	  x: USER/GROUP/others are allowed to execute APPLET. -	     No UID/GID change will be done when it is run. -	  -: USER/GROUP/others are not allowed to execute APPLET. +config BUSYBOX_FEATURE_SUID +	bool "Drop SUID state for most applets" +	default y +	help +	With this option you can install the busybox binary belonging +	to root with the suid bit set, enabling some applets to perform +	root-level operations even when run by ordinary users +	(for example, mounting of user mounts in fstab needs this). -	  An example might help: +	With this option enabled, busybox drops privileges for applets +	that don't need root access, before entering their main() function. -	  [SUID] -	  su = ssx root.0 # applet su can be run by anyone and runs with -	                  # euid=0/egid=0 -	  su = ssx        # exactly the same +	If you are really paranoid and don't want even initial busybox code +	to run under root for every applet, build two busybox binaries with +	different applets in them (and the appropriate symlinks pointing +	to each binary), and only set the suid bit on the one that needs it. -	  mount = sx- root.disk # applet mount can be run by root and members -	                        # of group disk (but not anyone else) -	                        # and runs with euid=0 (egid is not changed) +	Some applets which require root rights (need suid bit on the binary +	or to be run by root) and will refuse to execute otherwise: +	crontab, login, passwd, su, vlock, wall. -	  cp = --- # disable applet cp for everyone +	The applets which will use root rights if they have them +	(via suid bit, or because run by root), but would try to work +	without root right nevertheless: +	findfs, ping[6], traceroute[6], mount. -	  The file has to be owned by user root, group root and has to be -	  writeable only by root: -	        (chown 0.0 /etc/busybox.conf; chmod 600 /etc/busybox.conf) -	  The busybox executable has to be owned by user root, group -	  root and has to be setuid root for this to work: -	        (chown 0.0 /bin/busybox; chmod 4755 /bin/busybox) +	Note that if you DO NOT select this option, but DO make busybox +	suid root, ALL applets will run under root, which is a huge +	security hole (think "cp /some/file /etc/passwd"). -	  Robert 'sandman' Griebl has more information here: -	  <url: http://www.softforge.de/bb/suid.html >. +config BUSYBOX_FEATURE_SUID_CONFIG +	bool "Enable SUID configuration via /etc/busybox.conf" +	default y +	depends on BUSYBOX_FEATURE_SUID +	help +	Allow the SUID/SGID state of an applet to be determined at runtime +	by checking /etc/busybox.conf. (This is sort of a poor man's sudo.) +	The format of this file is as follows: + +	APPLET = [Ssx-][Ssx-][x-] [USER.GROUP] + +	s: USER or GROUP is allowed to execute APPLET. +	   APPLET will run under USER or GROUP +	   (regardless of who's running it). +	S: USER or GROUP is NOT allowed to execute APPLET. +	   APPLET will run under USER or GROUP. +	   This option is not very sensical. +	x: USER/GROUP/others are allowed to execute APPLET. +	   No UID/GID change will be done when it is run. +	-: USER/GROUP/others are not allowed to execute APPLET. + +	An example might help: + +	|[SUID] +	|su = ssx root.0 # applet su can be run by anyone and runs with +	|                # euid=0,egid=0 +	|su = ssx        # exactly the same +	| +	|mount = sx- root.disk # applet mount can be run by root and members +	|                      # of group disk (but not anyone else) +	|                      # and runs with euid=0 (egid is not changed) +	| +	|cp = --- # disable applet cp for everyone + +	The file has to be owned by user root, group root and has to be +	writeable only by root: +		(chown 0.0 /etc/busybox.conf; chmod 600 /etc/busybox.conf) +	The busybox executable has to be owned by user root, group +	root and has to be setuid root for this to work: +		(chown 0.0 /bin/busybox; chmod 4755 /bin/busybox) + +	Robert 'sandman' Griebl has more information here: +	<url: http://www.softforge.de/bb/suid.html >.  config BUSYBOX_FEATURE_SUID_CONFIG_QUIET  	bool "Suppress warning message if /etc/busybox.conf is not readable"  	default y  	depends on BUSYBOX_FEATURE_SUID_CONFIG  	help -	  /etc/busybox.conf should be readable by the user needing the SUID, -	  check this option to avoid users to be notified about missing -	  permissions. +	/etc/busybox.conf should be readable by the user needing the SUID, +	check this option to avoid users to be notified about missing +	permissions. + +config BUSYBOX_FEATURE_PREFER_APPLETS +	bool "exec prefers applets" +	default n +	help +	This is an experimental option which directs applets about to +	call 'exec' to try and find an applicable busybox applet before +	searching the PATH. This is typically done by exec'ing +	/proc/self/exe. + +	This may affect shell, find -exec, xargs and similar applets. +	They will use applets even if /bin/APPLET -> busybox link +	is missing (or is not a link to busybox). However, this causes +	problems in chroot jails without mounted /proc and with ps/top +	(command name can be shown as 'exe' for applets started this way). + +config BUSYBOX_BUSYBOX_EXEC_PATH +	string "Path to busybox executable" +	default "/proc/self/exe" +	help +	When applets need to run other applets, busybox +	sometimes needs to exec() itself. When the /proc filesystem is +	mounted, /proc/self/exe always points to the currently running +	executable. If you haven't got /proc, set this to wherever you +	want to run busybox from.  config BUSYBOX_SELINUX  	bool "Support NSA Security Enhanced Linux"  	default n -	select BUSYBOX_PLATFORM_LINUX -	help -	  Enable support for SELinux in applets ls, ps, and id. Also provide -	  the option of compiling in SELinux applets. - -	  If you do not have a complete SELinux userland installed, this stuff -	  will not compile. Go visit -		http://www.nsa.gov/selinux/index.html -	  to download the necessary stuff to allow busybox to compile with -	  this option enabled. Specifially, libselinux 1.28 or better is -	  directly required by busybox. If the installation is located in a -	  non-standard directory, provide it by invoking make as follows: +	help +	Enable support for SELinux in applets ls, ps, and id. Also provide +	the option of compiling in SELinux applets. + +	If you do not have a complete SELinux userland installed, this stuff +	will not compile.  Specifially, libselinux 1.28 or better is +	directly required by busybox. If the installation is located in a +	non-standard directory, provide it by invoking make as follows: +  		CFLAGS=-I<libselinux-include-path> \  		LDFLAGS=-L<libselinux-lib-path> \  		make -	  Most people will leave this set to 'N'. +	Most people will leave this set to 'N'. -config BUSYBOX_FEATURE_PREFER_APPLETS -	bool "exec prefers applets" +config BUSYBOX_FEATURE_CLEAN_UP +	bool "Clean up all memory before exiting (usually not needed)"  	default n  	help -	  This is an experimental option which directs applets about to -	  call 'exec' to try and find an applicable busybox applet before -	  searching the PATH. This is typically done by exec'ing -	  /proc/self/exe. -	  This may affect shell, find -exec, xargs and similar applets. -	  They will use applets even if /bin/<applet> -> busybox link -	  is missing (or is not a link to busybox). However, this causes -	  problems in chroot jails without mounted /proc and with ps/top -	  (command name can be shown as 'exe' for applets started this way). +	As a size optimization, busybox normally exits without explicitly +	freeing dynamically allocated memory or closing files. This saves +	space since the OS will clean up for us, but it can confuse debuggers +	like valgrind, which report tons of memory and resource leaks. -config BUSYBOX_BUSYBOX_EXEC_PATH -	string "Path to BusyBox executable" -	default "/proc/self/exe" +	Don't enable this unless you have a really good reason to clean +	things up manually. + +config BUSYBOX_FEATURE_SYSLOG_INFO +	bool "Support LOG_INFO level syslog messages" +	default y +	depends on BUSYBOX_FEATURE_SYSLOG  	help -	  When Busybox applets need to run other busybox applets, BusyBox -	  sometimes needs to exec() itself. When the /proc filesystem is -	  mounted, /proc/self/exe always points to the currently running -	  executable. If you haven't got /proc, set this to wherever you -	  want to run BusyBox from. +	Applets which send their output to syslog use either LOG_INFO or +	LOG_ERR log levels, but by disabling this option all messages will +	be logged at the LOG_ERR level, saving just under 200 bytes.  # These are auto-selected by other options @@ -487,57 +365,42 @@ config BUSYBOX_FEATURE_SYSLOG  	bool #No description makes it a hidden option  	default n  	#help -	#  This option is auto-selected when you select any applet which may -	#  send its output to syslog. You do not need to select it manually. +	#This option is auto-selected when you select any applet which may +	#send its output to syslog. You do not need to select it manually. -config BUSYBOX_FEATURE_HAVE_RPC -	bool #No description makes it a hidden option -	default n -	#help -	#  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_STATIC -	bool "Build BusyBox as a static binary (no shared libs)" -	default y if ADK_STATIC +	bool "Build static binary (no shared libs)"  	default n  	help -	  If you want to build a static BusyBox binary, which does not -	  use or require any shared libraries, then enable this option. -	  This can cause BusyBox to be considerably larger, so you should -	  leave this option false unless you have a good reason (i.e. -	  your target platform does not support shared libraries, or -	  you are building an initrd which doesn't need anything but -	  BusyBox, etc). - -	  Most people will leave this set to 'N'. +	If you want to build a static binary, which does not use +	or require any shared libraries, enable this option. +	Static binaries are larger, but do not require functioning +	dynamic libraries to be present, which is important if used +	as a system rescue tool.  config BUSYBOX_PIE -	bool "Build BusyBox as a position independent executable" -	default n +	bool "Build position independent executable" +	default y if !ADK_TARGET_WITH_MMU && ADK_TARGET_BINFMT_ELF  	depends on !BUSYBOX_STATIC  	help -	  Hardened code option. PIE binaries are loaded at a different -	  address at each invocation. This has some overhead, -	  particularly on x86-32 which is short on registers. +	Hardened code option. PIE binaries are loaded at a different +	address at each invocation. This has some overhead, +	particularly on x86-32 which is short on registers. -	  Most people will leave this set to 'N'. +	Most people will leave this set to 'N'.  config BUSYBOX_NOMMU  	bool "Force NOMMU build" -	default n if ADK_TARGET_WITH_MMU -	default y +	default y if !ADK_TARGET_WITH_MMU  	help -	  Busybox tries to detect whether architecture it is being -	  built against supports MMU or not. If this detection fails, -	  or if you want to build NOMMU version of busybox for testing, -	  you may force NOMMU build here. +	Busybox tries to detect whether architecture it is being +	built against supports MMU or not. If this detection fails, +	or if you want to build NOMMU version of busybox for testing, +	you may force NOMMU build here. -	  Most people will leave this set to 'N'. +	Most people will leave this set to 'N'.  # PIE can be made to work with BUILD_LIBBUSYBOX, but currently  # build system does not support that @@ -546,299 +409,320 @@ config BUSYBOX_BUILD_LIBBUSYBOX  	default n  	depends on !BUSYBOX_FEATURE_PREFER_APPLETS && !BUSYBOX_PIE && !BUSYBOX_STATIC  	help -	  Build a shared library libbusybox.so.N.N.N which contains all -	  busybox code. +	Build a shared library libbusybox.so.N.N.N which contains all +	busybox code. -	  This feature allows every applet to be built as a tiny -	  separate executable. Enabling it for "one big busybox binary" -	  approach serves no purpose and increases code size. -	  You should almost certainly say "no" to this. +	This feature allows every applet to be built as a really tiny +	separate executable linked against the library: +	|$ size 0_lib/l* +	|    text  data   bss     dec    hex filename +	|     939   212    28    1179    49b 0_lib/last +	|     939   212    28    1179    49b 0_lib/less +	|  919138  8328  1556  929022  e2cfe 0_lib/libbusybox.so.1.N.M -### config FEATURE_FULL_LIBBUSYBOX -###	bool "Feature-complete libbusybox" -###	default n if !FEATURE_SHARED_BUSYBOX -###	depends on BUSYBOX_BUILD_LIBBUSYBOX -###	help -###	  Build a libbusybox with the complete feature-set, disregarding -###	  the actually selected config. -### -###	  Normally, libbusybox will only contain the features which are -###	  used by busybox itself. If you plan to write a separate -###	  standalone application which uses libbusybox say 'Y'. -### -###	  Note: libbusybox is GPL, not LGPL, and exports no stable API that -###	  might act as a copyright barrier. We can and will modify the -###	  exported function set between releases (even minor version number -###	  changes), and happily break out-of-tree features. -### -###	  Say 'N' if in doubt. +	This is useful on NOMMU systems which are not capable +	of sharing executables, but are capable of sharing code +	in dynamic libraries. + +config BUSYBOX_FEATURE_LIBBUSYBOX_STATIC +	bool "Pull in all external references into libbusybox" +	default n +	depends on BUSYBOX_BUILD_LIBBUSYBOX +	help +	Make libbusybox library independent, not using or requiring +	any other shared libraries.  config BUSYBOX_FEATURE_INDIVIDUAL  	bool "Produce a binary for each applet, linked against libbusybox"  	default y  	depends on BUSYBOX_BUILD_LIBBUSYBOX  	help -	  If your CPU architecture doesn't allow for sharing text/rodata -	  sections of running binaries, but allows for runtime dynamic -	  libraries, this option will allow you to reduce memory footprint -	  when you have many different applets running at once. +	If your CPU architecture doesn't allow for sharing text/rodata +	sections of running binaries, but allows for runtime dynamic +	libraries, this option will allow you to reduce memory footprint +	when you have many different applets running at once. -	  If your CPU architecture allows for sharing text/rodata, -	  having single binary is more optimal. +	If your CPU architecture allows for sharing text/rodata, +	having single binary is more optimal. -	  Each applet will be a tiny program, dynamically linked -	  against libbusybox.so.N.N.N. +	Each applet will be a tiny program, dynamically linked +	against libbusybox.so.N.N.N. -	  You need to have a working dynamic linker. +	You need to have a working dynamic linker.  config BUSYBOX_FEATURE_SHARED_BUSYBOX  	bool "Produce additional busybox binary linked against libbusybox"  	default y  	depends on BUSYBOX_BUILD_LIBBUSYBOX  	help -	  Build busybox, dynamically linked against libbusybox.so.N.N.N. +	Build busybox, dynamically linked against libbusybox.so.N.N.N. -	  You need to have a working dynamic linker. +	You need to have a working dynamic linker.  ### config BUILD_AT_ONCE  ###	bool "Compile all sources at once"  ###	default n  ###	help -###	  Normally each source-file is compiled with one invocation of -###	  the compiler. -###	  If you set this option, all sources are compiled at once. -###	  This gives the compiler more opportunities to optimize which can -###	  result in smaller and/or faster binaries. +###	Normally each source-file is compiled with one invocation of +###	the compiler. +###	If you set this option, all sources are compiled at once. +###	This gives the compiler more opportunities to optimize which can +###	result in smaller and/or faster binaries.  ### -###	  Setting this option will consume alot of memory, e.g. if you -###	  enable all applets with all features, gcc uses more than 300MB -###	  RAM during compilation of busybox. +###	Setting this option will consume alot of memory, e.g. if you +###	enable all applets with all features, gcc uses more than 300MB +###	RAM during compilation of busybox.  ### -###	  This option is most likely only beneficial for newer compilers -###	  such as gcc-4.1 and above. +###	This option is most likely only beneficial for newer compilers +###	such as gcc-4.1 and above.  ### -###	  Say 'N' unless you know what you are doing. - -config BUSYBOX_LFS -	bool "Build with Large File Support (for accessing files > 2 GB)" -	default y -	help -	  If you want to build BusyBox with large file support, then enable -	  this option. This will have no effect if your kernel or your C -	  library lacks large file support for large files. Some of the -	  programs that can benefit from large file support include dd, gzip, -	  cp, mount, tar, and many others. If you want to access files larger -	  than 2 Gigabytes, enable this option. Otherwise, leave it set to 'N'. +###	Say 'N' unless you know what you are doing.  config BUSYBOX_CROSS_COMPILER_PREFIX -	string "Cross Compiler prefix" +	string "Cross compiler prefix"  	default ""  	help -	  If you want to build BusyBox with a cross compiler, then you -	  will need to set this to the cross-compiler prefix, for example, -	  "i386-uclibc-". +	If you want to build busybox with a cross compiler, then you +	will need to set this to the cross-compiler prefix, for example, +	"i386-uclibc-". -	  Note that CROSS_COMPILE environment variable or -	  "make CROSS_COMPILE=xxx ..." will override this selection. +	Note that CROSS_COMPILE environment variable or +	"make CROSS_COMPILE=xxx ..." will override this selection. -	  Native builds leave this empty. +	Native builds leave this empty.  config BUSYBOX_SYSROOT  	string "Path to sysroot"  	default ""  	help -	  If you want to build BusyBox with a cross compiler, then you -	  might also need to specify where /usr/include and /usr/lib -	  will be found. +	If you want to build busybox with a cross compiler, then you +	might also need to specify where /usr/include and /usr/lib +	will be found. -	  For example, BusyBox can be built against an installed -	  Android NDK, platform version 9, for ARM ABI with +	For example, busybox can be built against an installed +	Android NDK, platform version 9, for ARM ABI with -	  CONFIG_SYSROOT=/opt/android-ndk/platforms/android-9/arch-arm +	CONFIG_SYSROOT=/opt/android-ndk/platforms/android-9/arch-arm -	  Native builds leave this empty. +	Native builds leave this empty.  config BUSYBOX_EXTRA_CFLAGS  	string "Additional CFLAGS"  	default ""  	help -	  Additional CFLAGS to pass to the compiler verbatim. +	Additional CFLAGS to pass to the compiler verbatim.  config BUSYBOX_EXTRA_LDFLAGS  	string "Additional LDFLAGS"  	default ""  	help -	  Additional LDFLAGS to pass to the linker verbatim. +	Additional LDFLAGS to pass to the linker verbatim.  config BUSYBOX_EXTRA_LDLIBS  	string "Additional LDLIBS"  	default ""  	help -	  Additional LDLIBS to pass to the linker with -l. - -endmenu - -menu 'Debugging Options' - -config BUSYBOX_DEBUG -	bool "Build BusyBox with extra Debugging symbols" -	default n -	help -	  Say Y here if you wish to examine BusyBox internals while applets are -	  running. This increases the size of the binary considerably, and -	  should only be used when doing development. If you are doing -	  development and want to debug BusyBox, answer Y. - -	  Most people should answer N. - -config BUSYBOX_DEBUG_PESSIMIZE -	bool "Disable compiler optimizations" -	default n -	depends on BUSYBOX_DEBUG -	help -	  The compiler's optimization of source code can eliminate and reorder -	  code, resulting in an executable that's hard to understand when -	  stepping through it with a debugger. This switches it off, resulting -	  in a much bigger executable that more closely matches the source -	  code. +	Additional LDLIBS to pass to the linker with -l. -config BUSYBOX_DEBUG_SANITIZE -	bool "Enable runtime sanitizers (ASAN/LSAN/USAN/etc...)" +config BUSYBOX_USE_PORTABLE_CODE +	bool "Avoid using GCC-specific code constructs"  	default n  	help -	  Say Y here if you want to enable runtime sanitizers. These help -	  catch bad memory accesses (e.g. buffer overflows), but will make -	  the executable larger and slow down runtime a bit. +	Use this option if you are trying to compile busybox with +	compiler other than gcc. +	If you do use gcc, this option may needlessly increase code size. -	  If you aren't developing/testing busybox, say N here. - -config BUSYBOX_UNIT_TEST -	bool "Build unit tests" -	default n +config BUSYBOX_STACK_OPTIMIZATION_386 +	bool "Use -mpreferred-stack-boundary=2 on i386 arch" +	default y  	help -	  Say Y here if you want to build unit tests (both the framework and -	  test cases) as a Busybox applet. This results in bigger code, so you -	  probably don't want this option in production builds. +	This option makes for smaller code, but some libc versions +	do not work with it (they use SSE instructions without +	ensuring stack alignment). -config BUSYBOX_WERROR -	bool "Abort compilation on any warning" -	default n +config BUSYBOX_STATIC_LIBGCC +	bool "Use -static-libgcc" +	default y  	help -	  Selecting this will add -Werror to gcc command line. +	This option instructs gcc to link in a static version of its +	support library, libgcc. This means that the binary will require +	one fewer dynamic library at run time. -	  Most people should answer N. - -choice -	prompt "Additional debugging library" -	default NO_DEBUG_LIB -	help -	  Using an additional debugging library will make BusyBox become -	  considerable larger and will cause it to run more slowly. You -	  should always leave this option disabled for production use. - -	  dmalloc support: -	  ---------------- -	  This enables compiling with dmalloc ( http://dmalloc.com/ ) -	  which is an excellent public domain mem leak and malloc problem -	  detector. To enable dmalloc, before running busybox you will -	  want to properly set your environment, for example: -	    export DMALLOC_OPTIONS=debug=0x34f47d83,inter=100,log=logfile -	  The 'debug=' value is generated using the following command -	    dmalloc -p log-stats -p log-non-free -p log-bad-space \ -	       -p log-elapsed-time -p check-fence -p check-heap \ -	       -p check-lists -p check-blank -p check-funcs -p realloc-copy \ -	       -p allow-free-null - -	  Electric-fence support: -	  ----------------------- -	  This enables compiling with Electric-fence support. Electric -	  fence is another very useful malloc debugging library which uses -	  your computer's virtual memory hardware to detect illegal memory -	  accesses. This support will make BusyBox be considerable larger -	  and run slower, so you should leave this option disabled unless -	  you are hunting a hard to find memory problem. - - -config BUSYBOX_NO_DEBUG_LIB -	bool "None" - -config BUSYBOX_DMALLOC -	bool "Dmalloc" - -config BUSYBOX_EFENCE -	bool "Electric-fence" - -endchoice - -endmenu - -menu 'Installation Options ("make install" behavior)' +comment 'Installation Options ("make install" behavior)'  choice  	prompt "What kind of applet links to install" -	default INSTALL_APPLET_SYMLINKS +	default BUSYBOX_INSTALL_APPLET_SYMLINKS  	help -	  Choose what kind of links to applets are created by "make install". +	Choose what kind of links to applets are created by "make install".  config BUSYBOX_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. +	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_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. +	Install applets as hard-links to the busybox binary. This might +	count on a filesystem with few inodes.  config BUSYBOX_INSTALL_APPLET_SCRIPT_WRAPPERS  	bool "as script wrappers"  	help -	  Install applets as script wrappers that call the busybox binary. +	Install applets as script wrappers that call the busybox binary.  config BUSYBOX_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. +	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 INSTALL_SH_APPLET_SYMLINK +	default BUSYBOX_INSTALL_SH_APPLET_SYMLINK  	depends on BUSYBOX_INSTALL_APPLET_SCRIPT_WRAPPERS  	help -	  Choose how you install /bin/sh applet link. +	Choose how you install /bin/sh applet link.  config BUSYBOX_INSTALL_SH_APPLET_SYMLINK  	bool "as soft-link"  	help -	  Install /bin/sh applet as soft-link to the busybox binary. +	Install /bin/sh applet as soft-link to the busybox binary.  config BUSYBOX_INSTALL_SH_APPLET_HARDLINK  	bool "as hard-link"  	help -	  Install /bin/sh applet as hard-link to the busybox binary. +	Install /bin/sh applet as hard-link to the busybox binary.  config BUSYBOX_INSTALL_SH_APPLET_SCRIPT_WRAPPER  	bool "as script wrapper"  	help -	  Install /bin/sh applet as script wrapper that calls -	  the busybox binary. +	Install /bin/sh applet as script wrapper that calls +	the busybox binary.  endchoice  config BUSYBOX_PREFIX -	string "BusyBox installation prefix" +	string "Destination path for 'make install'"  	default "@IDIR@"  	help -	  Define your directory to install BusyBox files/subdirs in. +	Where "make install" should install busybox binary and links. -endmenu +comment 'Debugging Options' + +config BUSYBOX_DEBUG +	bool "Build with debug information" +	default n +	help +	Say Y here to compile with debug information. +	This increases the size of the binary considerably, and +	should only be used when doing development. + +	This adds -g option to gcc command line. + +	Most people should answer N. + +config BUSYBOX_DEBUG_PESSIMIZE +	bool "Disable compiler optimizations" +	default n +	depends on BUSYBOX_DEBUG +	help +	The compiler's optimization of source code can eliminate and reorder +	code, resulting in an executable that's hard to understand when +	stepping through it with a debugger. This switches it off, resulting +	in a much bigger executable that more closely matches the source +	code. + +	This replaces -Os/-O2 with -O0 in gcc command line. + +config BUSYBOX_DEBUG_SANITIZE +	bool "Enable runtime sanitizers (ASAN/LSAN/USAN/etc...)" +	default n +	help +	Say Y here if you want to enable runtime sanitizers. These help +	catch bad memory accesses (e.g. buffer overflows), but will make +	the executable larger and slow down runtime a bit. + +	This adds -fsanitize=foo options to gcc command line. + +	If you aren't developing/testing busybox, say N here. + +config BUSYBOX_UNIT_TEST +	bool "Build unit tests" +	default n +	help +	Say Y here if you want to build unit tests (both the framework and +	test cases) as an applet. This results in bigger code, so you +	probably don't want this option in production builds. + +config BUSYBOX_WERROR +	bool "Abort compilation on any warning" +	default n +	help +	This adds -Werror to gcc command line. + +	Most people should answer N. + +config BUSYBOX_WARN_SIMPLE_MSG +	bool "Warn about single parameter bb_xx_msg calls" +	default n +	help +	This will cause warnings to be shown for any instances of +	bb_error_msg(), bb_error_msg_and_die(), bb_perror_msg(), +	bb_perror_msg_and_die(), bb_herror_msg() or bb_herror_msg_and_die() +	being called with a single parameter. In these cases the equivalent +	bb_simple_xx_msg function should be used instead. +	Note that use of STRERROR_FMT may give false positives. + +	If you aren't developing busybox, say N here. + +choice +	prompt "Additional debugging library" +	default BUSYBOX_NO_DEBUG_LIB +	help +	Using an additional debugging library will make busybox become +	considerably larger and will cause it to run more slowly. You +	should always leave this option disabled for production use. + +	dmalloc support: +	---------------- +	This enables compiling with dmalloc ( http://dmalloc.com/ ) +	which is an excellent public domain mem leak and malloc problem +	detector. To enable dmalloc, before running busybox you will +	want to properly set your environment, for example: +		export DMALLOC_OPTIONS=debug=0x34f47d83,inter=100,log=logfile +	The 'debug=' value is generated using the following command +	dmalloc -p log-stats -p log-non-free -p log-bad-space \ +		-p log-elapsed-time -p check-fence -p check-heap \ +		-p check-lists -p check-blank -p check-funcs -p realloc-copy \ +		-p allow-free-null + +	Electric-fence support: +	----------------------- +	This enables compiling with Electric-fence support. Electric +	fence is another very useful malloc debugging library which uses +	your computer's virtual memory hardware to detect illegal memory +	accesses. This support will make busybox be considerably larger +	and run slower, so you should leave this option disabled unless +	you are hunting a hard to find memory problem. + + +config BUSYBOX_NO_DEBUG_LIB +	bool "None" + +config BUSYBOX_DMALLOC +	bool "Dmalloc" + +config BUSYBOX_EFENCE +	bool "Electric-fence" + +endchoice  source package/busybox/config/libbb/Config.in @@ -850,6 +734,7 @@ source package/busybox/config/archival/Config.in  source package/busybox/config/coreutils/Config.in  source package/busybox/config/console-tools/Config.in  source package/busybox/config/debianutils/Config.in +source package/busybox/config/klibc-utils/Config.in  source package/busybox/config/editors/Config.in  source package/busybox/config/findutils/Config.in  source package/busybox/config/init/Config.in diff --git a/package/busybox/config/archival/Config.in b/package/busybox/config/archival/Config.in index 8532767c2..fe68eeb18 100644 --- a/package/busybox/config/archival/Config.in +++ b/package/busybox/config/archival/Config.in @@ -1,7 +1,7 @@  # DO NOT EDIT. This file is generated from Config.src  #  # For a description of the syntax of this configuration file, -# see scripts/kbuild/config-language.txt. +# see docs/Kconfig-language.txt.  #  menu "Archival Utilities" @@ -9,452 +9,449 @@ menu "Archival Utilities"  config BUSYBOX_FEATURE_SEAMLESS_XZ  	bool "Make tar, rpm, modprobe etc understand .xz data"  	default y -	help -	  Make tar, rpm, modprobe etc understand .xz data.  config BUSYBOX_FEATURE_SEAMLESS_LZMA  	bool "Make tar, rpm, modprobe etc understand .lzma data"  	default y -	help -	  Make tar, rpm, modprobe etc understand .lzma data.  config BUSYBOX_FEATURE_SEAMLESS_BZ2  	bool "Make tar, rpm, modprobe etc understand .bz2 data"  	default y -	help -	  Make tar, rpm, modprobe etc understand .bz2 data.  config BUSYBOX_FEATURE_SEAMLESS_GZ  	bool "Make tar, rpm, modprobe etc understand .gz data"  	default y -	help -	  Make tar, rpm, modprobe etc understand .gz data.  config BUSYBOX_FEATURE_SEAMLESS_Z -	bool "tar, rpm, modprobe etc understand .Z data" -	default n -	help -	  Make tar, rpm, modprobe etc understand .Z data. +	bool "Make tar, rpm, modprobe etc understand .Z data" +	default n  # it is ancient  config BUSYBOX_AR -	bool "ar" -	depends on !BUSYBOX_DISABLE_AR +	bool "ar (9.5 kb)"  	default n  # needs to be improved to be able to replace binutils ar  	help -	  ar is an archival utility program used to create, modify, and -	  extract contents from archives. An archive is a single file holding -	  a collection of other files in a structure that makes it possible to -	  retrieve the original individual files (called archive members). -	  The original files' contents, mode (permissions), timestamp, owner, -	  and group are preserved in the archive, and can be restored on -	  extraction. +	ar is an archival utility program used to create, modify, and +	extract contents from archives. In practice, it is used exclusively +	for object module archives used by compilers. -	  The stored filename is limited to 15 characters. (for more information -	  see long filename support). -	  ar has 60 bytes of overheads for every stored file. - -	  This implementation of ar can extract archives, it cannot create or -	  modify them. -	  On an x86 system, the ar applet adds about 1K. - -	  Unless you have a specific application which requires ar, you should -	  probably say N here. +	Unless you have a specific application which requires ar, you should +	probably say N here: most compilers come with their own ar utility.  config BUSYBOX_FEATURE_AR_LONG_FILENAMES -	bool "Support for long filenames (not needed for debs)" +	bool "Support long filenames (not needed for debs)"  	default y  	depends on BUSYBOX_AR  	help -	  By default the ar format can only store the first 15 characters -	  of the filename, this option removes that limitation. -	  It supports the GNU ar long filename method which moves multiple long -	  filenames into a the data section of a new ar entry. +	By default the ar format can only store the first 15 characters +	of the filename, this option removes that limitation. +	It supports the GNU ar long filename method which moves multiple long +	filenames into a the data section of a new ar entry.  config BUSYBOX_FEATURE_AR_CREATE  	bool "Support archive creation"  	default y  	depends on BUSYBOX_AR  	help -	  This enables archive creation (-c and -r) with busybox ar. +	This enables archive creation (-c and -r) with busybox ar. +config BUSYBOX_UNCOMPRESS +	bool "uncompress (7.1 kb)" +	default n  # ancient +	help +	uncompress is used to decompress archives created by compress. +	Not much used anymore, replaced by gzip/gunzip. +config BUSYBOX_GUNZIP +	bool "gunzip (11 kb)" +	default y +	select BUSYBOX_FEATURE_GZIP_DECOMPRESS +	help +	gunzip is used to decompress archives created by gzip. +	You can use the '-t' option to test the integrity of +	an archive, without decompressing it. + +config BUSYBOX_ZCAT +	bool "zcat (24 kb)" +	default y +	select BUSYBOX_FEATURE_GZIP_DECOMPRESS +	help +	Alias to "gunzip -c". +config BUSYBOX_FEATURE_GUNZIP_LONG_OPTIONS +	bool "Enable long options" +	default y +	depends on (BUSYBOX_GUNZIP || BUSYBOX_ZCAT) && BUSYBOX_LONG_OPTS  config BUSYBOX_BUNZIP2 -	bool "bunzip2" -	depends on !BUSYBOX_DISABLE_BUNZIP2 -	default n +	bool "bunzip2 (8.7 kb)" +	default y +	select BUSYBOX_FEATURE_BZIP2_DECOMPRESS  	help -	  bunzip2 is a compression utility using the Burrows-Wheeler block -	  sorting text compression algorithm, and Huffman coding. Compression -	  is generally considerably better than that achieved by more -	  conventional LZ77/LZ78-based compressors, and approaches the -	  performance of the PPM family of statistical compressors. +	bunzip2 is a compression utility using the Burrows-Wheeler block +	sorting text compression algorithm, and Huffman coding. Compression +	is generally considerably better than that achieved by more +	conventional LZ77/LZ78-based compressors, and approaches the +	performance of the PPM family of statistical compressors. -	  Unless you have a specific application which requires bunzip2, you -	  should probably say N here. +	Unless you have a specific application which requires bunzip2, you +	should probably say N here.  config BUSYBOX_BZCAT -	bool "bzcat" +	bool "bzcat (8.7 kb)"  	default y +	select BUSYBOX_FEATURE_BZIP2_DECOMPRESS  	help -	  Alias to "bunzip2 -c". +	Alias to "bunzip2 -c". +config BUSYBOX_UNLZMA +	bool "unlzma (7.5 kb)" +	default y +	help +	unlzma is a compression utility using the Lempel-Ziv-Markov chain +	compression algorithm, and range coding. Compression +	is generally considerably better than that achieved by the bzip2 +	compressors. -config BUSYBOX_BZIP2 -	bool "bzip2" -	depends on !BUSYBOX_DISABLE_BZIP2 -	default n +config BUSYBOX_LZCAT +	bool "lzcat (7.5 kb)" +	default y +	help +	Alias to "unlzma -c". + +config BUSYBOX_LZMA +	bool "lzma -d" +	default y +	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_UNXZ +	bool "unxz (13 kb)" +	default y  	help -	  bzip2 is a compression utility using the Burrows-Wheeler block -	  sorting text compression algorithm, and Huffman coding. Compression -	  is generally considerably better than that achieved by more -	  conventional LZ77/LZ78-based compressors, and approaches the -	  performance of the PPM family of statistical compressors. +	unxz is a unlzma successor. -	  Unless you have a specific application which requires bzip2, you -	  should probably say N here. +config BUSYBOX_XZCAT +	bool "xzcat (13 kb)" +	default y +	help +	Alias to "unxz -c". +config BUSYBOX_XZ +	bool "xz -d" +	default y +	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. +config BUSYBOX_BZIP2 +	bool "bzip2 (16 kb)" +	default y +	help +	bzip2 is a compression utility using the Burrows-Wheeler block +	sorting text compression algorithm, and Huffman coding. Compression +	is generally considerably better than that achieved by more +	conventional LZ77/LZ78-based compressors, and approaches the +	performance of the PPM family of statistical compressors. + +	Unless you have a specific application which requires bzip2, you +	should probably say N here. + +config BUSYBOX_BZIP2_SMALL +	int "Trade bytes for speed (0:fast, 9:small)" +	default 8  # all "fast or small" options default to small +	range 0 9 +	depends on BUSYBOX_BZIP2 +	help +	Trade code size versus speed. +	Approximate values with gcc-6.3.0 "bzip -9" compressing +	linux-4.15.tar were: +	value         time (sec)  code size (386) +	9 (smallest)       70.11             7687 +	8                  67.93             8091 +	7                  67.88             8405 +	6                  67.78             8624 +	5                  67.05             9427 +	4-0 (fastest)      64.14            12083 + +config BUSYBOX_FEATURE_BZIP2_DECOMPRESS +	bool "Enable decompression" +	default y +	depends on BUSYBOX_BZIP2 || BUSYBOX_BUNZIP2 || BUSYBOX_BZCAT +	help +	Enable -d (--decompress) and -t (--test) options for bzip2. +	This will be automatically selected if bunzip2 or bzcat is +	enabled.  config BUSYBOX_CPIO -	bool "cpio" -	depends on !BUSYBOX_DISABLE_CPIO -	default n +	bool "cpio (15 kb)" +	default y  	help -	  cpio is an archival utility program used to create, modify, and -	  extract contents from archives. -	  cpio has 110 bytes of overheads for every stored file. +	cpio is an archival utility program used to create, modify, and +	extract contents from archives. +	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. +	This implementation of cpio can extract cpio archives created in the +	"newc" or "crc" format. -	  Unless you have a specific application which requires cpio, you -	  should probably say N here. +	Unless you have a specific application which requires cpio, you +	should probably say N here.  config BUSYBOX_FEATURE_CPIO_O -	bool "Support for archive creation" +	bool "Support archive creation"  	default y  	depends on BUSYBOX_CPIO  	help -	  This implementation of cpio can create cpio archives in the "newc" -	  format only. +	This implementation of cpio can create cpio archives in the "newc" +	format only.  config BUSYBOX_FEATURE_CPIO_P -	bool "Support for passthrough mode" +	bool "Support passthrough mode"  	default y  	depends on BUSYBOX_FEATURE_CPIO_O  	help -	  Passthrough mode. Rarely used. - -config BUSYBOX_DPKG -	bool "dpkg" -	default n -	select BUSYBOX_FEATURE_SEAMLESS_GZ -	help -	  dpkg is a medium-level tool to install, build, remove and manage -	  Debian packages. - -	  This implementation of dpkg has a number of limitations, -	  you should use the official dpkg if possible. - -config BUSYBOX_DPKG_DEB -	bool "dpkg_deb" -	default n -	select BUSYBOX_FEATURE_SEAMLESS_GZ -	help -	  dpkg-deb unpacks and provides information about Debian archives. - -	  This implementation of dpkg-deb cannot pack archives. +	Passthrough mode. Rarely used. -	  Unless you have a specific application which requires dpkg-deb, -	  say N here. - -config BUSYBOX_FEATURE_DPKG_DEB_EXTRACT_ONLY -	bool "Extract only (-x)" -	default n -	depends on BUSYBOX_DPKG_DEB +config BUSYBOX_FEATURE_CPIO_IGNORE_DEVNO +	bool "Support --ignore-devno like GNU cpio" +	default y +	depends on BUSYBOX_FEATURE_CPIO_O && BUSYBOX_LONG_OPTS  	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. +	Optionally ignore device numbers when creating archives. -config BUSYBOX_GUNZIP -	bool "gunzip" +config BUSYBOX_FEATURE_CPIO_RENUMBER_INODES +	bool "Support --renumber-inodes like GNU cpio"  	default y +	depends on BUSYBOX_FEATURE_CPIO_O && BUSYBOX_LONG_OPTS  	help -	  gunzip is used to decompress archives created by gzip. -	  You can use the `-t' option to test the integrity of -	  an archive, without decompressing it. - -config BUSYBOX_ZCAT -	bool "zcat" +	Optionally renumber inodes when creating archives. +config BUSYBOX_DPKG +	bool "dpkg (43 kb)"  	default y +	select BUSYBOX_FEATURE_SEAMLESS_GZ  	help -	  Alias to "gunzip -c". +	dpkg is a medium-level tool to install, build, remove and manage +	Debian packages. -config BUSYBOX_FEATURE_GUNZIP_LONG_OPTIONS -	bool "Enable long options" +	This implementation of dpkg has a number of limitations, +	you should use the official dpkg if possible. +config BUSYBOX_DPKG_DEB +	bool "dpkg-deb (30 kb)"  	default y -	depends on BUSYBOX_GUNZIP && BUSYBOX_LONG_OPTS +	select BUSYBOX_FEATURE_SEAMLESS_GZ  	help -	  Enable use of long options. +	dpkg-deb unpacks and provides information about Debian archives. + +	This implementation of dpkg-deb cannot pack archives. +	Unless you have a specific application which requires dpkg-deb, +	say N here.  config BUSYBOX_GZIP -	bool "gzip" +	bool "gzip (17 kb)"  	default y  	help -	  gzip is used to compress files. -	  It's probably the most widely used UNIX compression program. +	gzip is used to compress files. +	It's probably the most widely used UNIX compression program.  config BUSYBOX_FEATURE_GZIP_LONG_OPTIONS  	bool "Enable long options"  	default y  	depends on BUSYBOX_GZIP && BUSYBOX_LONG_OPTS -	help -	  Enable use of long options, increases size by about 106 Bytes  config BUSYBOX_GZIP_FAST -	int "Trade memory for gzip speed (0:small,slow - 2:fast,big)" +	int "Trade memory for speed (0:small,slow - 2:fast,big)"  	default 0  	range 0 2  	depends on BUSYBOX_GZIP  	help -	  Enable big memory options for gzip. -	  0: small buffers, small hash-tables -	  1: larger buffers, larger hash-tables -	  2: larger buffers, largest hash-tables -	  Larger models may give slightly better compression +	Enable big memory options for gzip. +	0: small buffers, small hash-tables +	1: larger buffers, larger hash-tables +	2: larger buffers, largest hash-tables +	Larger models may give slightly better compression -config BUSYBOX_LZOP -	bool "lzop" +config BUSYBOX_FEATURE_GZIP_LEVELS +	bool "Enable compression levels"  	default n +	depends on BUSYBOX_GZIP  	help -	  Lzop compression/decompresion. +	Enable support for compression levels 4-9. The default level +	is 6. If levels 1-3 are specified, 4 is used. +	If this option is not selected, -N options are ignored and -6 +	is used. -config BUSYBOX_UNLZOP -	bool "unlzop" -	default n +config BUSYBOX_FEATURE_GZIP_DECOMPRESS +	bool "Enable decompression" +	default y +	depends on BUSYBOX_GZIP || BUSYBOX_GUNZIP || BUSYBOX_ZCAT  	help -	  Lzop decompresion. - -config BUSYBOX_LZOPCAT -	bool "lzopcat" +	Enable -d (--decompress) and -t (--test) options for gzip. +	This will be automatically selected if gunzip or zcat is +	enabled. +config BUSYBOX_IPKG +	bool "ipkg"  	default n  	help -	  Alias to "unlzop -c". +	  ipkg is a tool to install, build, remove and manage +	  packages. -config BUSYBOX_LZOP_COMPR_HIGH -	bool "lzop compression levels 7,8,9 (not very useful)" -	default n -	depends on BUSYBOX_LZOP +config BUSYBOX_LZOP +	bool "lzop (12 kb)" +	default y  	help -	  High levels (7,8,9) of lzop compression. These levels -	  are actually slower than gzip at equivalent compression ratios -	  and take up 3.2K of code. +	Lzop compression/decompresion. -config BUSYBOX_FEATURE_GZIP_LEVELS -	bool "Enable compression levels" -	default n -	depends on BUSYBOX_GZIP +config BUSYBOX_UNLZOP +	bool "unlzop (13 kb)" +	default n  # INCOMPAT: upstream lzop does not provide such tool  	help -	  Enable support for compression levels 4-9. The default level -	  is 6. If levels 1-3 are specified, 4 is used. -	  If this option is not selected, -N options are ignored and -9 -	  is used. +	Lzop decompresion. -config BUSYBOX_IPKG -	bool "ipkg" -	default n +config BUSYBOX_LZOPCAT +	bool "lzopcat (13 kb)" +	default n  # INCOMPAT: upstream lzop does not provide such tool  	help -	  ipkg is the itsy package management system. +	Alias to "lzop -dc". -config BUSYBOX_RPM2CPIO -	bool "rpm2cpio" -	depends on !BUSYBOX_DISABLE_RPM +config BUSYBOX_LZOP_COMPR_HIGH +	bool "lzop compression levels 7,8,9 (not very useful)"  	default n +	depends on BUSYBOX_LZOP || BUSYBOX_UNLZOP || BUSYBOX_LZOPCAT  	help -	  Converts a RPM file into a CPIO archive. - +	High levels (7,8,9) of lzop compression. These levels +	are actually slower than gzip at equivalent compression ratios +	and take up 3.2K of code.  config BUSYBOX_RPM -	bool "rpm" -	depends on !BUSYBOX_DISABLE_RPM -	default n +	bool "rpm (32 kb)" +	default y  	help -	  Mini RPM applet - queries and extracts RPM packages. - +	Mini RPM applet - queries and extracts RPM packages. +config BUSYBOX_RPM2CPIO +	bool "rpm2cpio (21 kb)" +	default y +	help +	Converts a RPM file into a CPIO archive.  config BUSYBOX_TAR -	bool "tar" -	depends on !BUSYBOX_DISABLE_TAR +	bool "tar (39 kb)"  	default y  	help -	  tar is an archiving program. It's commonly used with gzip to -	  create compressed archives. It's probably the most widely used -	  UNIX archive program. +	tar is an archiving program. It's commonly used with gzip to +	create compressed archives. It's probably the most widely used +	UNIX archive program. + +config BUSYBOX_FEATURE_TAR_LONG_OPTIONS +	bool "Enable long options" +	default y +	depends on BUSYBOX_TAR && BUSYBOX_LONG_OPTS  config BUSYBOX_FEATURE_TAR_CREATE -	bool "Enable archive creation" +	bool "Enable -c (archive creation)"  	default y  	depends on BUSYBOX_TAR -	help -	  If you enable this option you'll be able to create -	  tar archives using the `-c' option.  config BUSYBOX_FEATURE_TAR_AUTODETECT  	bool "Autodetect compressed tarballs"  	default y  	depends on BUSYBOX_TAR && (BUSYBOX_FEATURE_SEAMLESS_Z || BUSYBOX_FEATURE_SEAMLESS_GZ || BUSYBOX_FEATURE_SEAMLESS_BZ2 || BUSYBOX_FEATURE_SEAMLESS_LZMA || BUSYBOX_FEATURE_SEAMLESS_XZ)  	help -	  With this option tar can automatically detect compressed -	  tarballs. Currently it works only on files (not pipes etc). +	With this option tar can automatically detect compressed +	tarballs. Currently it works only on files (not pipes etc).  config BUSYBOX_FEATURE_TAR_FROM -	bool "Enable -X (exclude from) and -T (include from) options)" +	bool "Enable -X (exclude from) and -T (include from) options"  	default y  	depends on BUSYBOX_TAR  	help -	  If you enable this option you'll be able to specify -	  a list of files to include or exclude from an archive. +	If you enable this option you'll be able to specify +	a list of files to include or exclude from an archive.  config BUSYBOX_FEATURE_TAR_OLDGNU_COMPATIBILITY -	bool "Support for old tar header format" +	bool "Support old tar header format"  	default y  	depends on BUSYBOX_TAR || BUSYBOX_DPKG  	help -	  This option is required to unpack archives created in -	  the old GNU format; help to kill this old format by -	  repacking your ancient archives with the new format. +	This option is required to unpack archives created in +	the old GNU format; help to kill this old format by +	repacking your ancient archives with the new format.  config BUSYBOX_FEATURE_TAR_OLDSUN_COMPATIBILITY  	bool "Enable untarring of tarballs with checksums produced by buggy Sun tar" -	default n +	default y  	depends on BUSYBOX_TAR || BUSYBOX_DPKG  	help -	  This option is required to unpack archives created by some old -	  version of Sun's tar (it was calculating checksum using signed -	  arithmetic). It is said to be fixed in newer Sun tar, but "old" -	  tarballs still exist. +	This option is required to unpack archives created by some old +	version of Sun's tar (it was calculating checksum using signed +	arithmetic). It is said to be fixed in newer Sun tar, but "old" +	tarballs still exist.  config BUSYBOX_FEATURE_TAR_GNU_EXTENSIONS -	bool "Support for GNU tar extensions (long filenames)" +	bool "Support GNU tar extensions (long filenames)"  	default y  	depends on BUSYBOX_TAR || BUSYBOX_DPKG -	help -	  With this option busybox supports GNU long filenames and -	  linknames. - -config BUSYBOX_FEATURE_TAR_LONG_OPTIONS -	bool "Enable long options" -	default y -	depends on BUSYBOX_TAR && BUSYBOX_LONG_OPTS -	help -	  Enable use of long options, increases size by about 400 Bytes  config BUSYBOX_FEATURE_TAR_TO_COMMAND -	bool "Support for writing to an external program" +	bool "Support writing to an external program (--to-command)"  	default y  	depends on BUSYBOX_TAR && BUSYBOX_FEATURE_TAR_LONG_OPTIONS  	help -	  If you enable this option you'll be able to instruct tar to send -	  the contents of each extracted file to the standard input of an -	  external program. +	If you enable this option you'll be able to instruct tar to send +	the contents of each extracted file to the standard input of an +	external program.  config BUSYBOX_FEATURE_TAR_UNAME_GNAME  	bool "Enable use of user and group names"  	default y  	depends on BUSYBOX_TAR  	help -	  Enables use of user and group names in tar. This affects contents -	  listings (-t) and preserving permissions when unpacking (-p). -	  +200 bytes. +	Enable use of user and group names in tar. This affects contents +	listings (-t) and preserving permissions when unpacking (-p). +	+200 bytes.  config BUSYBOX_FEATURE_TAR_NOPRESERVE_TIME -	bool "Enable -m (do not preserve time) option" +	bool "Enable -m (do not preserve time) GNU option"  	default y  	depends on BUSYBOX_TAR -	help -	  With this option busybox supports GNU tar -m -	  (do not preserve time) option.  config BUSYBOX_FEATURE_TAR_SELINUX -	bool "Support for extracting SELinux labels" +	bool "Support extracting SELinux labels"  	default n  	depends on BUSYBOX_TAR && BUSYBOX_SELINUX  	help -	  With this option busybox supports restoring SELinux labels -	  when extracting files from tar archives. - -config BUSYBOX_UNCOMPRESS -	bool "uncompress" -	default n -	help -	  uncompress is used to decompress archives created by compress. -	  Not much used anymore, replaced by gzip/gunzip. - -config BUSYBOX_UNLZMA -	bool "unlzma" -	default n -	help -	  unlzma is a compression utility using the Lempel-Ziv-Markov chain -	  compression algorithm, and range coding. Compression -	  is generally considerably better than that achieved by the bzip2 -	  compressors. - -	  The BusyBox unlzma applet is limited to decompression only. -	  On an x86 system, this applet adds about 4K. - -config BUSYBOX_FEATURE_LZMA_FAST -	bool "Optimize unlzma for speed" -	default n -	depends on BUSYBOX_UNLZMA || BUSYBOX_LZCAT || BUSYBOX_LZMA -	help -	  This option reduces decompression time by about 25% at the cost of -	  a 1K bigger binary. - -config BUSYBOX_LZCAT -	bool "lzcat" -	default n +	With this option busybox supports restoring SELinux labels +	when extracting files from tar archives. +config BUSYBOX_UNZIP +	bool "unzip (26 kb)" +	default y  	help -	  unlzma is a compression utility using the Lempel-Ziv-Markov chain -	  compression algorithm, and range coding. Compression -	  is generally considerably better than that achieved by the bzip2 -	  compressors. - -	  The BusyBox unlzma applet is limited to decompression only. -	  On an x86 system, this applet adds about 4K. +	unzip will list or extract files from a ZIP archive, +	commonly found on DOS/WIN systems. The default behavior +	(with no options) is to extract the archive into the +	current directory. -config BUSYBOX_LZMA -	bool "Provide lzma alias which supports only unpacking" -	default n +config BUSYBOX_FEATURE_UNZIP_CDF +	bool "Read and use Central Directory data" +	default y +	depends on BUSYBOX_UNZIP  	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. +	If you know that you only need to deal with simple +	ZIP files without deleted/updated files, SFX archives etc, +	you can reduce code size by unselecting this option. +	To support less trivial ZIPs, say Y. -config BUSYBOX_UNXZ -	bool "unxz" -	depends on !BUSYBOX_DISABLE_UNXZ -	default n -	help -	  unxz is a unlzma successor. +config BUSYBOX_FEATURE_UNZIP_BZIP2 +	bool "Support compression method 12 (bzip2)" +	default y +	depends on BUSYBOX_FEATURE_UNZIP_CDF && BUSYBOX_DESKTOP -config BUSYBOX_XZCAT -	bool "xzcat" -	default n -	help -	  Alias to "unxz -c". +config BUSYBOX_FEATURE_UNZIP_LZMA +	bool "Support compression method 14 (lzma)" +	default y +	depends on BUSYBOX_FEATURE_UNZIP_CDF && BUSYBOX_DESKTOP -config BUSYBOX_XZ -	bool "Provide xz alias which supports only unpacking" -	depends on !BUSYBOX_DISABLE_XZ -	default n -	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. +config BUSYBOX_FEATURE_UNZIP_XZ +	bool "Support compression method 95 (xz)" +	default y +	depends on BUSYBOX_FEATURE_UNZIP_CDF && BUSYBOX_DESKTOP -config BUSYBOX_UNZIP -	bool "unzip" -	depends on !BUSYBOX_DISABLE_UNZIP +config BUSYBOX_FEATURE_LZMA_FAST +	bool "Optimize lzma for speed"  	default n +	depends on BUSYBOX_UNLZMA || BUSYBOX_LZCAT || BUSYBOX_LZMA || BUSYBOX_FEATURE_SEAMLESS_LZMA  	help -	  unzip will list or extract files from a ZIP archive, -	  commonly found on DOS/WIN systems. The default behavior -	  (with no options) is to extract the archive into the -	  current directory. Use the `-d' option to extract to a -	  directory of your choice. +	This option reduces decompression time by about 25% at the cost of +	a 1K bigger binary.  endmenu diff --git a/package/busybox/config/console-tools/Config.in b/package/busybox/config/console-tools/Config.in index 2e338e264..d0e43ca43 100644 --- a/package/busybox/config/console-tools/Config.in +++ b/package/busybox/config/console-tools/Config.in @@ -1,175 +1,144 @@  # DO NOT EDIT. This file is generated from Config.src  #  # For a description of the syntax of this configuration file, -# see scripts/kbuild/config-language.txt. +# see docs/Kconfig-language.txt.  #  menu "Console Utilities"  config BUSYBOX_CHVT -	bool "chvt" -	default n -	select BUSYBOX_PLATFORM_LINUX -	help -	  This program is used to change to another terminal. -	  Example: chvt 4 (change to terminal /dev/tty4) - -config BUSYBOX_FGCONSOLE -	bool "fgconsole" -	default n -	select BUSYBOX_PLATFORM_LINUX +	bool "chvt (2 kb)" +	default y  	help -	  This program prints active (foreground) console number. - +	This program is used to change to another terminal. +	Example: chvt 4 (change to terminal /dev/tty4)  config BUSYBOX_CLEAR -	bool "clear" -	default n +	bool "clear (tiny)" +	default y  	help -	  This program clears the terminal screen. - +	This program clears the terminal screen.  config BUSYBOX_DEALLOCVT -	bool "deallocvt" -	default n -	select BUSYBOX_PLATFORM_LINUX +	bool "deallocvt (1.9 kb)" +	default y  	help -	  This program deallocates unused virtual consoles. - +	This program deallocates unused virtual consoles.  config BUSYBOX_DUMPKMAP -	bool "dumpkmap" -	default n -	select BUSYBOX_PLATFORM_LINUX +	bool "dumpkmap (1.6 kb)" +	default y  	help -	  This program dumps the kernel's keyboard translation table to -	  stdout, in binary format. You can then use loadkmap to load it. - +	This program dumps the kernel's keyboard translation table to +	stdout, in binary format. You can then use loadkmap to load it. +config BUSYBOX_FGCONSOLE +	bool "fgconsole (1.5 kb)" +	default y +	help +	This program prints active (foreground) console number.  config BUSYBOX_KBD_MODE -	bool "kbd_mode" -	default n -	select BUSYBOX_PLATFORM_LINUX +	bool "kbd_mode (4.1 kb)" +	default y  	help -	  This program reports and sets keyboard mode. - +	This program reports and sets keyboard mode.  config BUSYBOX_LOADFONT -	bool "loadfont" -	default n -	select BUSYBOX_PLATFORM_LINUX +	bool "loadfont (5.2 kb)" +	default y  	help -	  This program loads a console font from standard input. +	This program loads a console font from standard input. -config BUSYBOX_LOADKMAP -	bool "loadkmap" -	default n -	select BUSYBOX_PLATFORM_LINUX +config BUSYBOX_SETFONT +	bool "setfont (24 kb)" +	default y  	help -	  This program loads a keyboard translation table from -	  standard input. +	Allows to load console screen map. Useful for i18n. -config BUSYBOX_OPENVT -	bool "openvt" -	default n -	select BUSYBOX_PLATFORM_LINUX +config BUSYBOX_FEATURE_SETFONT_TEXTUAL_MAP +	bool "Support reading textual screen maps" +	default y +	depends on BUSYBOX_SETFONT  	help -	  This program is used to start a command on an unused -	  virtual terminal. +	Support reading textual screen maps. -config BUSYBOX_RESET -	bool "reset" -	default n +config BUSYBOX_DEFAULT_SETFONT_DIR +	string "Default directory for console-tools files" +	default "" +	depends on BUSYBOX_SETFONT  	help -	  This program is used to reset the terminal screen, if it -	  gets messed up. +	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_LOADFONT || BUSYBOX_SETFONT +config BUSYBOX_FEATURE_LOADFONT_PSF2 +	bool "Support PSF2 console fonts" +	default y +	depends on BUSYBOX_LOADFONT || BUSYBOX_SETFONT + +config BUSYBOX_FEATURE_LOADFONT_RAW +	bool "Support old (raw) console fonts" +	default y +	depends on BUSYBOX_LOADFONT || BUSYBOX_SETFONT +config BUSYBOX_LOADKMAP +	bool "loadkmap (1.8 kb)" +	default y +	help +	This program loads a keyboard translation table from +	standard input. +config BUSYBOX_OPENVT +	bool "openvt (7.2 kb)" +	default y +	help +	This program is used to start a command on an unused +	virtual terminal. +config BUSYBOX_RESET +	bool "reset (345 bytes)" +	default y +	help +	This program is used to reset the terminal screen, if it +	gets messed up.  config BUSYBOX_RESIZE -	bool "resize" -	default n +	bool "resize (903 bytes)" +	default y  	help -	  This program is used to (re)set the width and height of your current -	  terminal. +	This program is used to (re)set the width and height of your current +	terminal.  config BUSYBOX_FEATURE_RESIZE_PRINT  	bool "Print environment variables"  	default y  	depends on BUSYBOX_RESIZE  	help -	  Prints the newly set size (number of columns and rows) of -	  the terminal. -	  E.g.: -	  COLUMNS=80;LINES=44;export COLUMNS LINES; - +	Prints the newly set size (number of columns and rows) of +	the terminal. +	E.g.: +	COLUMNS=80;LINES=44;export COLUMNS LINES;  config BUSYBOX_SETCONSOLE -	bool "setconsole" -	default n -	select BUSYBOX_PLATFORM_LINUX +	bool "setconsole (3.6 kb)" +	default y  	help -	  This program redirects the system console to another device, -	  like the current tty while logged in via telnet. +	Redirect writes to /dev/console to another device, +	like the current tty while logged in via telnet. +	This does not redirect kernel log, only writes +	from user space.  config BUSYBOX_FEATURE_SETCONSOLE_LONG_OPTIONS  	bool "Enable long options"  	default y  	depends on BUSYBOX_SETCONSOLE && BUSYBOX_LONG_OPTS -	help -	  Support long options for the setconsole applet. - -config BUSYBOX_SETFONT -	bool "setfont" -	default n -	select BUSYBOX_PLATFORM_LINUX -	help -	  Allows to load console screen map. Useful for i18n. - -config BUSYBOX_FEATURE_SETFONT_TEXTUAL_MAP -	bool "Support reading textual screen maps" -	default y -	depends on BUSYBOX_SETFONT -	help -	  Support reading textual screen maps. - -config BUSYBOX_DEFAULT_SETFONT_DIR -	string "Default directory for console-tools files" -	default "" -	depends on BUSYBOX_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_SETKEYCODES -	bool "setkeycodes" -	default n -	select BUSYBOX_PLATFORM_LINUX +	bool "setkeycodes (2.1 kb)" +	default y  	help -	  This program loads entries into the kernel's scancode-to-keycode -	  map, allowing unusual keyboards to generate usable keycodes. - +	This program loads entries into the kernel's scancode-to-keycode +	map, allowing unusual keyboards to generate usable keycodes.  config BUSYBOX_SETLOGCONS -	bool "setlogcons" -	default n -	select BUSYBOX_PLATFORM_LINUX -	help -	  This program redirects the output console of kernel messages. - -config BUSYBOX_SHOWKEY -	bool "showkey" -	default n -	select BUSYBOX_PLATFORM_LINUX -	help -	  Shows keys pressed. - -comment "Common options for loadfont and setfont" -	depends on BUSYBOX_LOADFONT || BUSYBOX_SETFONT - -config BUSYBOX_FEATURE_LOADFONT_PSF2 -	bool "Support for PSF2 console fonts" +	bool "setlogcons (1.8 kb)"  	default y -	depends on BUSYBOX_LOADFONT || BUSYBOX_SETFONT  	help -	  Support PSF2 console fonts. - -config BUSYBOX_FEATURE_LOADFONT_RAW -	bool "Support for old (raw) console fonts" +	This program redirects the output console of kernel messages. +config BUSYBOX_SHOWKEY +	bool "showkey (4.7 kb)"  	default y -	depends on BUSYBOX_LOADFONT || BUSYBOX_SETFONT  	help -	  Support old (raw) console fonts. +	Shows keys pressed.  endmenu diff --git a/package/busybox/config/coreutils/Config.in b/package/busybox/config/coreutils/Config.in index bb0d2a121..ff7ab88ed 100644 --- a/package/busybox/config/coreutils/Config.in +++ b/package/busybox/config/coreutils/Config.in @@ -1,1016 +1,965 @@  # DO NOT EDIT. This file is generated from Config.src  #  # For a description of the syntax of this configuration file, -# see scripts/kbuild/config-language.txt. +# see docs/Kconfig-language.txt.  #  menu "Coreutils" -config BUSYBOX_BASENAME -	bool "basename" -	default y -	help -	  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_CAT -	bool "cat" -	default y -	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_DATE -	bool "date" +config BUSYBOX_FEATURE_VERBOSE +	bool "Support verbose options (usually -v) for various applets"  	default y  	help -	  date is used to set the system date or display the -	  current time in the given format. +	Enable cp -v, rm -v and similar messages. +	Also enables long option (--verbose) if it exists. +	Without this option, -v is accepted but ignored. -config BUSYBOX_FEATURE_DATE_ISOFMT -	bool "Enable ISO date format output (-I)" -	default n -	depends on BUSYBOX_DATE -	help -	  Enable option (-I) to output an ISO-8601 compliant -	  date/time string. - -# defaults to "no": stat's nanosecond field is a bit non-portable -config BUSYBOX_FEATURE_DATE_NANO -	bool "Support %[num]N nanosecond format specifier" -	default n -	depends on BUSYBOX_DATE  # syscall(__NR_clock_gettime) -	select BUSYBOX_PLATFORM_LINUX -	help -	  Support %[num]N format specifier. Adds ~250 bytes of code. - -config BUSYBOX_FEATURE_DATE_COMPAT -	bool "Support weird 'date MMDDhhmm[[YY]YY][.ss]' format" -	default n -	depends on BUSYBOX_DATE -	help -	  System time can be set by 'date -s DATE' and simply 'date DATE', -	  but formats of DATE string are different. 'date DATE' accepts -	  a rather weird MMDDhhmm[[YY]YY][.ss] format with completely -	  unnatural placement of year between minutes and seconds. -	  date -s (and other commands like touch -d) use more sensible -	  formats (for one, ISO format YYYY-MM-DD hh:mm:ss.ssssss). - -	  With this option off, 'date DATE' is 'date -s DATE' support -	  the same format. With it on, 'date DATE' additionally supports -	  MMDDhhmm[[YY]YY][.ss] format. - -config BUSYBOX_HOSTID -	bool "hostid" -	default n -	help -	  hostid prints the numeric identifier (in hexadecimal) for -	  the current host. +comment "Common options for date and touch" -config BUSYBOX_ID -	bool "id" +config BUSYBOX_FEATURE_TIMEZONE +	bool "Allow timezone in dates"  	default y +	depends on BUSYBOX_DESKTOP  	help -	  id displays the current user and group ID names. +	Permit the use of timezones when parsing user-provided data +	strings, e.g. '1996-04-09 12:45:00 -0500'. -config BUSYBOX_GROUPS -	bool "groups" -	default n -	help -	  Print the group names associated with current user id. +	This requires support for the '%z' extension to strptime() which +	may not be available in all implementations. -config BUSYBOX_SHUF -	bool "shuf" -	default n -	help -	  Generate random permutations +comment "Common options for cp and mv" +	depends on BUSYBOX_CP || BUSYBOX_MV -config BUSYBOX_TEST -	bool "test" +config BUSYBOX_FEATURE_PRESERVE_HARDLINKS +	bool "Preserve hard links"  	default y +	depends on BUSYBOX_CP || BUSYBOX_MV  	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. +	Allow cp and mv to preserve hard links. -config BUSYBOX_TEST1 -	bool "test as [" -	default y -	help -	  Provide test command in the "[ EXPR ]" form +comment "Common options for df, du, ls" +	depends on BUSYBOX_DF || BUSYBOX_DU || BUSYBOX_LS -config BUSYBOX_TEST2 -	bool "test as [[" +config BUSYBOX_FEATURE_HUMAN_READABLE +	bool "Support human readable output (example 13k, 23M, 235G)"  	default y +	depends on BUSYBOX_DF || BUSYBOX_DU || BUSYBOX_LS  	help -	  Provide test command in the "[[ EXPR ]]" form +	Allow df, du, and ls to have human readable output. -config BUSYBOX_FEATURE_TEST_64 -	bool "Extend test to 64 bit" +config BUSYBOX_BASENAME +	bool "basename (438 bytes)"  	default y -	depends on BUSYBOX_TEST || BUSYBOX_ASH_BUILTIN_TEST || BUSYBOX_HUSH  	help -	  Enable 64-bit support in test. - -config BUSYBOX_TOUCH -	bool "touch" +	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_CAT +	bool "cat (5.6 kb)"  	default y  	help -	  touch is used to create or change the access and/or -	  modification timestamp of specified files. - -config BUSYBOX_FEATURE_TOUCH_NODEREF -	bool "Add support for -h" -	default n -	depends on BUSYBOX_TOUCH -	help -	  Enable touch to have the -h option. -	  This requires libc support for lutimes() function. - -config BUSYBOX_FEATURE_TOUCH_SUSV3 -	bool "Add support for SUSV3 features (-d -t -r)" -	default n -	depends on BUSYBOX_TOUCH -	help -	  Enable touch to use a reference file or a given date/time argument. +	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_TR -	bool "tr" -	default n -	help -	  tr is used to squeeze, and/or delete characters from standard -	  input, writing to standard output. - -config BUSYBOX_FEATURE_TR_CLASSES -	bool "Enable character classes (such as [:upper:])" +config BUSYBOX_FEATURE_CATN +	bool "Enable -n and -b options"  	default y -	depends on BUSYBOX_TR +	depends on BUSYBOX_CAT  	help -	  Enable character classes, enabling commands such as: -	  tr [:upper:] [:lower:] to convert input into lowercase. +	-n numbers all output lines while -b numbers nonempty output lines. -config BUSYBOX_FEATURE_TR_EQUIV -	bool "Enable equivalence classes" +config BUSYBOX_FEATURE_CATV +	bool "cat -v[etA]"  	default y -	depends on BUSYBOX_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_TRUNCATE -	bool "truncate" -	default n -	help -	  truncate truncates files to a given size. If a file does -	  not exist, it is created unless told otherwise. - -config BUSYBOX_UNLINK -	bool "unlink" -	default n -	help -	  unlink deletes a file by calling unlink() - -config BUSYBOX_BASE64 -	bool "base64" -	default n -	help -	  Base64 encode and decode - -config BUSYBOX_WHO -      bool "who" -      default n -      depends on BUSYBOX_FEATURE_UTMP -      help -        who is used to show who is logged on. - -config BUSYBOX_USERS -      bool "users" -      default n -      depends on BUSYBOX_FEATURE_UTMP -      help -        Print users currently logged on. - -config BUSYBOX_CAL -	bool "cal" -	default n -	help -	  cal is used to display a monthly calender. - -config BUSYBOX_CATV -	bool "catv" -	default n +	depends on BUSYBOX_CAT  	help -	  Display nonprinting characters as escape sequences (like some -	  implementations' cat -v option). - +	Display nonprinting characters as escape sequences  config BUSYBOX_CHGRP -	bool "chgrp" +	bool "chgrp (7.6 kb)"  	default y  	help -	  chgrp is used to change the group ownership of files. - +	chgrp is used to change the group ownership of files.  config BUSYBOX_CHMOD -	bool "chmod" +	bool "chmod (5.5 kb)"  	default y  	help -	  chmod is used to change the access permission of files. - +	chmod is used to change the access permission of files.  config BUSYBOX_CHOWN -	bool "chown" +	bool "chown (7.6 kb)"  	default y  	help -	  chown is used to change the user and/or group ownership -	  of files. +	chown is used to change the user and/or group ownership +	of files.  config BUSYBOX_FEATURE_CHOWN_LONG_OPTIONS  	bool "Enable long options" -	default n +	default y  	depends on BUSYBOX_CHOWN && BUSYBOX_LONG_OPTS -	help -	  Enable use of long options -  config BUSYBOX_CHROOT -	bool "chroot" +	bool "chroot (3.7 kb)"  	default y  	help -	  chroot is used to change the root directory and run a command. -	  The default command is `/bin/sh'. - +	chroot is used to change the root directory and run a command. +	The default command is '/bin/sh'.  config BUSYBOX_CKSUM -	bool "cksum" -	default n -	help -	  cksum is used to calculate the CRC32 checksum of a file. +	bool "cksum (4.1 kb)" +	default y +config BUSYBOX_CRC32 +	bool "crc32 (4.1 kb)" +	default y  config BUSYBOX_COMM -	bool "comm" -	default n +	bool "comm (4.2 kb)" +	default y  	help -	  comm is used to compare two files line by line and return -	  a three-column output. - +	comm is used to compare two files line by line and return +	a three-column output.  config BUSYBOX_CP -	bool "cp" +	bool "cp (10 kb)"  	default y  	help -	  cp is used to copy files and directories. +	cp is used to copy files and directories.  config BUSYBOX_FEATURE_CP_LONG_OPTIONS -	bool "Enable long options for cp" -	default n +	bool "Enable long options" +	default y  	depends on BUSYBOX_CP && BUSYBOX_LONG_OPTS  	help -	  Enable long options for cp. -	  Also add support for --parents option. +	Enable long options. +	Also add support for --parents option. +config BUSYBOX_FEATURE_CP_REFLINK +	bool "Enable --reflink[=auto]" +	default y +	depends on BUSYBOX_FEATURE_CP_LONG_OPTIONS  config BUSYBOX_CUT -	bool "cut" +	bool "cut (5.8 kb)"  	default y  	help -	  cut is used to print selected parts of lines from -	  each file to stdout. +	cut is used to print selected parts of lines from +	each file to stdout. +config BUSYBOX_FEATURE_CUT_REGEX +	bool "cut -F" +	default y +	depends on BUSYBOX_CUT +	help +	Allow regex based delimiters. +config BUSYBOX_DATE +	bool "date (7 kb)" +	default y +	help +	date is used to set the system date or display the +	current time in the given format. + +config BUSYBOX_FEATURE_DATE_ISOFMT +	bool "Enable ISO date format output (-I)" +	default y +	depends on BUSYBOX_DATE +	help +	Enable option (-I) to output an ISO-8601 compliant +	date/time string. + +config BUSYBOX_FEATURE_DATE_NANO +	bool "Support %[num]N nanosecond format specifier" +	default n # stat's nanosecond field is a bit non-portable +	depends on BUSYBOX_DATE +	help +	Support %[num]N format specifier. Adds ~250 bytes of code. + +config BUSYBOX_FEATURE_DATE_COMPAT +	bool "Support weird 'date MMDDhhmm[[YY]YY][.ss]' format" +	default y +	depends on BUSYBOX_DATE +	help +	System time can be set by 'date -s DATE' and simply 'date DATE', +	but formats of DATE string are different. 'date DATE' accepts +	a rather weird MMDDhhmm[[YY]YY][.ss] format with completely +	unnatural placement of year between minutes and seconds. +	date -s (and other commands like touch -d) use more sensible +	formats (for one, ISO format YYYY-MM-DD hh:mm:ss.ssssss). + +	With this option off, 'date DATE' and 'date -s DATE' support +	the same format. With it on, 'date DATE' additionally supports +	MMDDhhmm[[YY]YY][.ss] format.  config BUSYBOX_DD -	bool "dd" +	bool "dd (7.5 kb)"  	default y  	help -	  dd copies a file (from standard input to standard output, -	  by default) using specific input and output blocksizes, -	  while optionally performing conversions on it. +	dd copies a file (from standard input to standard output, +	by default) using specific input and output blocksizes, +	while optionally performing conversions on it.  config BUSYBOX_FEATURE_DD_SIGNAL_HANDLING -	bool "Enable DD signal handling for status reporting" -	default n +	bool "Enable signal handling for status reporting" +	default y  	depends on BUSYBOX_DD  	help -	  Sending a SIGUSR1 signal to a running `dd' process makes it -	  print to standard error the number of records read and written -	  so far, then to resume copying. +	Sending a SIGUSR1 signal to a running 'dd' process makes it +	print to standard error the number of records read and written +	so far, then to resume copying. -	  $ dd if=/dev/zero of=/dev/null& -	  $ pid=$! kill -USR1 $pid; sleep 1; kill $pid -	  10899206+0 records in -	  10899206+0 records out +	$ dd if=/dev/zero of=/dev/null & +	$ pid=$!; kill -USR1 $pid; sleep 1; kill $pid +	10899206+0 records in +	10899206+0 records out  config BUSYBOX_FEATURE_DD_THIRD_STATUS_LINE  	bool "Enable the third status line upon signal" -	default n +	default y  	depends on BUSYBOX_DD && BUSYBOX_FEATURE_DD_SIGNAL_HANDLING  	help -	  Displays a coreutils-like third status line with transferred bytes, -	  elapsed time and speed. +	Displays a coreutils-like third status line with transferred bytes, +	elapsed time and speed.  config BUSYBOX_FEATURE_DD_IBS_OBS -	bool "Enable ibs, obs and conv options" +	bool "Enable ibs, obs, iflag, oflag and conv options"  	default y  	depends on BUSYBOX_DD  	help -	  Enables support for writing a certain number of bytes in and out, -	  at a time, and performing conversions on the data stream. +	Enable support for writing a certain number of bytes in and out, +	at a time, and performing conversions on the data stream.  config BUSYBOX_FEATURE_DD_STATUS  	bool "Enable status display options" -	default n +	default y  	depends on BUSYBOX_DD  	help -	  Enables support for status=noxfer/none option. - +	Enable support for status=noxfer/none option.  config BUSYBOX_DF -	bool "df" +	bool "df (6.8 kb)"  	default y  	help -	  df reports the amount of disk space used and available -	  on filesystems. +	df reports the amount of disk space used and available +	on filesystems.  config BUSYBOX_FEATURE_DF_FANCY  	bool "Enable -a, -i, -B" -	default n +	default y +	depends on BUSYBOX_DF +	help +	-a Show all filesystems +	-i Inodes +	-B <SIZE> Blocksize + +config BUSYBOX_FEATURE_SKIP_ROOTFS +	bool "Skip rootfs in mount table" +	default y  	depends on BUSYBOX_DF  	help -	  This option enables -a, -i and -B. +	Ignore rootfs entry in mount table. + +	In Linux, kernel has a special filesystem, rootfs, which is initially +	mounted on /. It contains initramfs data, if kernel is configured +	to have one. Usually, another file system is mounted over / early +	in boot process, and therefore most tools which manipulate +	mount table, such as df, will skip rootfs entry. -	    -a Show all filesystems -	    -i Inodes -	    -B <SIZE> Blocksize +	However, some systems do not mount anything on /. +	If you need to configure busybox for one of these systems, +	you may find it useful to turn this option off to make df show +	initramfs statistics. +	Otherwise, choose Y.  config BUSYBOX_DIRNAME -	bool "dirname" +	bool "dirname (329 bytes)"  	default y  	help -	  dirname is used to strip a non-directory suffix from -	  a file name. - +	dirname is used to strip a non-directory suffix from +	a file name.  config BUSYBOX_DOS2UNIX -	bool "dos2unix" -	default n +	bool "dos2unix (5.2 kb)" +	default y  	help -	  dos2unix is used to convert a text file from DOS format to -	  UNIX format, and vice versa. +	dos2unix is used to convert a text file from DOS format to +	UNIX format, and vice versa.  config BUSYBOX_UNIX2DOS -	bool "unix2dos" -	default n +	bool "unix2dos (5.2 kb)" +	default y  	help -	  unix2dos is used to convert a text file from UNIX format to -	  DOS format, and vice versa. - +	unix2dos is used to convert a text file from UNIX format to +	DOS format, and vice versa.  config BUSYBOX_DU -	bool "du (default blocksize of 512 bytes)" +	bool "du (6.3 kb)"  	default y  	help -	  du is used to report the amount of disk space used -	  for specified files. +	du is used to report the amount of disk space used +	for specified files.  config BUSYBOX_FEATURE_DU_DEFAULT_BLOCKSIZE_1K -	bool "Use a default blocksize of 1024 bytes (1K)" +	bool "Use default blocksize of 1024 bytes (else it's 512 bytes)"  	default y  	depends on BUSYBOX_DU -	help -	  Use a blocksize of (1K) instead of the default 512b. -  config BUSYBOX_ECHO -	bool "echo (basic SuSv3 version taking no options)" +	bool "echo (1.8 kb)"  	default y  	help -	  echo is used to print a specified string to stdout. +	echo prints a specified string to stdout.  # this entry also appears in shell/Config.in, next to the echo builtin  config BUSYBOX_FEATURE_FANCY_ECHO -	bool "Enable echo options (-n and -e)" +	bool "Enable -n and -e options"  	default y -	depends on BUSYBOX_ECHO || BUSYBOX_ASH_BUILTIN_ECHO || BUSYBOX_HUSH -	help -	  This adds options (-n and -e) to echo. - +	depends on BUSYBOX_ECHO || BUSYBOX_ASH_ECHO || BUSYBOX_HUSH_ECHO  config BUSYBOX_ENV -	bool "env" +	bool "env (4 kb)"  	default y  	help -	  env is used to set an environment variable and run -	  a command; without options it displays the current -	  environment. - -config BUSYBOX_FEATURE_ENV_LONG_OPTIONS -	bool "Enable long options" -	default n -	depends on BUSYBOX_ENV && BUSYBOX_LONG_OPTS -	help -	  Support long options for the env applet. - +	env is used to set an environment variable and run +	a command; without options it displays the current +	environment.  config BUSYBOX_EXPAND -	bool "expand" -	default n +	bool "expand (5.1 kb)" +	default y  	help -	  By default, convert all tabs to spaces. +	By default, convert all tabs to spaces. -config BUSYBOX_FEATURE_EXPAND_LONG_OPTIONS -	bool "Enable long options" -	default n -	depends on BUSYBOX_EXPAND && BUSYBOX_LONG_OPTS +config BUSYBOX_UNEXPAND +	bool "unexpand (5.3 kb)" +	default y  	help -	  Support long options for the expand applet. - +	By default, convert only leading sequences of blanks to tabs.  config BUSYBOX_EXPR -	bool "expr" -	default n +	bool "expr (6.6 kb)" +	default y  	help -	  expr is used to calculate numbers and print the result -	  to standard output. +	expr is used to calculate numbers and print the result +	to standard output.  config BUSYBOX_EXPR_MATH_SUPPORT_64  	bool "Extend Posix numbers support to 64 bit"  	default y  	depends on BUSYBOX_EXPR  	help -	  Enable 64-bit math support in the expr applet. This will make -	  the applet slightly larger, but will allow computation with very -	  large numbers. - +	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_FACTOR +	bool "factor (2.7 kb)" +	default y +	help +	factor factorizes integers  config BUSYBOX_FALSE -	bool "false" -	default n +	bool "false (tiny)" +	default y  	help -	  false returns an exit code of FALSE (1). - +	false returns an exit code of FALSE (1).  config BUSYBOX_FOLD -	bool "fold" -	default n -	help -	  Wrap text to fit a specific width. - -config BUSYBOX_FSYNC -	bool "fsync" -	default n +	bool "fold (4.6 kb)" +	default y  	help -	  fsync is used to flush file-related cached blocks to disk. - +	Wrap text to fit a specific width.  config BUSYBOX_HEAD -	bool "head" +	bool "head (3.8 kb)"  	default y  	help -	  head is used to print the first specified number of lines -	  from files. +	head is used to print the first specified number of lines +	from files.  config BUSYBOX_FEATURE_FANCY_HEAD -	bool "Enable head options (-c, -q, and -v)" -	default n +	bool "Enable -c, -q, and -v" +	default y  	depends on BUSYBOX_HEAD +config BUSYBOX_HOSTID +	bool "hostid (286 bytes)" +	default y  	help -	  This enables the head options (-c, -q, and -v). +	hostid prints the numeric identifier (in hexadecimal) for +	the current host. +config BUSYBOX_ID +	bool "id (7 kb)" +	default y +	help +	id displays the current user and group ID names. +config BUSYBOX_GROUPS +	bool "groups (6.7 kb)" +	default y +	help +	Print the group names associated with current user id.  config BUSYBOX_INSTALL -	bool "install" -	default n +	bool "install (12 kb)" +	default y  	help -	  Copy files and set attributes. +	Copy files and set attributes.  config BUSYBOX_FEATURE_INSTALL_LONG_OPTIONS  	bool "Enable long options" -	default n +	default y  	depends on BUSYBOX_INSTALL && BUSYBOX_LONG_OPTS +config BUSYBOX_LINK +	bool "link (3.2 kb)" +	default y  	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. - +	link creates hard links between files.  config BUSYBOX_LN -	bool "ln" +	bool "ln (4.9 kb)"  	default y  	help -	  ln is used to create hard or soft links between files. - +	ln is used to create hard or soft links between files.  config BUSYBOX_LOGNAME -	bool "logname" -	default n +	bool "logname (1.1 kb)" +	default y  	help -	  logname is used to print the current user's login name. - +	logname is used to print the current user's login name.  config BUSYBOX_LS -	bool "ls" +	bool "ls (14 kb)"  	default y  	help -	  ls is used to list the contents of directories. +	ls is used to list the contents of directories.  config BUSYBOX_FEATURE_LS_FILETYPES  	bool "Enable filetyping options (-p and -F)" -	default n +	default y  	depends on BUSYBOX_LS -	help -	  Enable the ls options (-p and -F).  config BUSYBOX_FEATURE_LS_FOLLOWLINKS  	bool "Enable symlinks dereferencing (-L)" -	default n +	default y  	depends on BUSYBOX_LS -	help -	  Enable the ls option (-L).  config BUSYBOX_FEATURE_LS_RECURSIVE  	bool "Enable recursion (-R)"  	default y  	depends on BUSYBOX_LS -	help -	  Enable the ls option (-R). + +config BUSYBOX_FEATURE_LS_WIDTH +	bool "Enable -w WIDTH and window size autodetection" +	default y +	depends on BUSYBOX_LS  config BUSYBOX_FEATURE_LS_SORTFILES  	bool "Sort the file names"  	default y  	depends on BUSYBOX_LS  	help -	  Allow ls to sort file names alphabetically. +	Allow ls to sort file names alphabetically.  config BUSYBOX_FEATURE_LS_TIMESTAMPS  	bool "Show file timestamps"  	default y  	depends on BUSYBOX_LS  	help -	  Allow ls to display timestamps for files. +	Allow ls to display timestamps for files.  config BUSYBOX_FEATURE_LS_USERNAME  	bool "Show username/groupnames"  	default y  	depends on BUSYBOX_LS  	help -	  Allow ls to display username/groupname for files. +	Allow ls to display username/groupname for files.  config BUSYBOX_FEATURE_LS_COLOR  	bool "Allow use of color to identify file types" -	default n +	default y  	depends on BUSYBOX_LS && BUSYBOX_LONG_OPTS  	help -	  This enables the --color option to ls. +	This enables the --color option to ls.  config BUSYBOX_FEATURE_LS_COLOR_IS_DEFAULT  	bool "Produce colored ls output by default" -	default n +	default y  	depends on BUSYBOX_FEATURE_LS_COLOR  	help -	  Saying yes here will turn coloring on by default, -	  even if no "--color" option is given to the ls command. -	  This is not recommended, since the colors are not -	  configurable, and the output may not be legible on -	  many output screens. - +	Saying yes here will turn coloring on by default, +	even if no "--color" option is given to the ls command. +	This is not recommended, since the colors are not +	configurable, and the output may not be legible on +	many output screens.  config BUSYBOX_MD5SUM -	bool "md5sum" -	default n +	bool "md5sum (6.5 kb)" +	default y  	help -	  md5sum is used to print or check MD5 checksums. +	Compute and check MD5 message digest -config BUSYBOX_MKDIR -	bool "mkdir" +config BUSYBOX_SHA1SUM +	bool "sha1sum (5.9 kb)"  	default y  	help -	  mkdir is used to create directories with the specified names. +	Compute and check SHA1 message digest -config BUSYBOX_FEATURE_MKDIR_LONG_OPTIONS -	bool "Enable long options" -	default n -	depends on BUSYBOX_MKDIR && BUSYBOX_LONG_OPTS +config BUSYBOX_SHA256SUM +	bool "sha256sum (7 kb)" +	default y  	help -	  Support long options for the mkdir applet. +	Compute and check SHA256 message digest -config BUSYBOX_MKFIFO -	bool "mkfifo" -	default n +config BUSYBOX_SHA512SUM +	bool "sha512sum (7.4 kb)" +	default y  	help -	  mkfifo is used to create FIFOs (named pipes). -	  The `mknod' program can also create FIFOs. +	Compute and check SHA512 message digest -config BUSYBOX_MKNOD -	bool "mknod" -	default n +config BUSYBOX_SHA3SUM +	bool "sha3sum (6.1 kb)" +	default y  	help -	  mknod is used to create FIFOs or block/character special -	  files with the specified names. +	Compute and check SHA3 message digest -config BUSYBOX_MV -	bool "mv" +comment "Common options for md5sum, sha1sum, sha256sum, sha512sum, sha3sum" +	depends on BUSYBOX_MD5SUM || BUSYBOX_SHA1SUM || BUSYBOX_SHA256SUM || BUSYBOX_SHA512SUM || BUSYBOX_SHA3SUM + +config BUSYBOX_FEATURE_MD5_SHA1_SUM_CHECK +	bool "Enable -c, -s and -w options"  	default y +	depends on BUSYBOX_MD5SUM || BUSYBOX_SHA1SUM || BUSYBOX_SHA256SUM || BUSYBOX_SHA512SUM || BUSYBOX_SHA3SUM  	help -	  mv is used to move or rename files or directories. - -config BUSYBOX_FEATURE_MV_LONG_OPTIONS -	bool "Enable long options" -	default n -	depends on BUSYBOX_MV && BUSYBOX_LONG_OPTS +	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_MKDIR +	bool "mkdir (4.5 kb)" +	default y  	help -	  Support long options for the mv applet. - +	mkdir is used to create directories with the specified names. +config BUSYBOX_MKFIFO +	bool "mkfifo (3.8 kb)" +	default y +	help +	mkfifo is used to create FIFOs (named pipes). +	The 'mknod' program can also create FIFOs. +config BUSYBOX_MKNOD +	bool "mknod (4.5 kb)" +	default y +	help +	mknod is used to create FIFOs or block/character special +	files with the specified names. +config BUSYBOX_MKTEMP +	bool "mktemp (4.2 kb)" +	default y +	help +	mktemp is used to create unique temporary files +config BUSYBOX_MV +	bool "mv (10 kb)" +	default y +	help +	mv is used to move or rename files or directories.  config BUSYBOX_NICE -	bool "nice" -	default n +	bool "nice (2.1 kb)" +	default y  	help -	  nice runs a program with modified scheduling priority. - +	nice runs a program with modified scheduling priority. +config BUSYBOX_NL +	bool "nl (4.6 kb)" +	default y +	help +	nl is used to number lines of files.  config BUSYBOX_NOHUP -	bool "nohup" -	default n +	bool "nohup (2 kb)" +	default y  	help -	  run a command immune to hangups, with output to a non-tty. - +	run a command immune to hangups, with output to a non-tty. +config BUSYBOX_NPROC +	bool "nproc (3.7 kb)" +	default y +	help +	Print number of CPUs  config BUSYBOX_OD -	bool "od" -	default n +	bool "od (11 kb)" +	default y  	help -	  od is used to dump binary files in octal and other formats. - +	od is used to dump binary files in octal and other formats. +config BUSYBOX_PASTE +	bool "paste (4.9 kb)" +	default y +	help +	paste is used to paste lines of different files together +	and write the result to stdout  config BUSYBOX_PRINTENV -	bool "printenv" -	default n +	bool "printenv (1.3 kb)" +	default y  	help -	  printenv is used to print all or part of environment. - +	printenv is used to print all or part of environment.  config BUSYBOX_PRINTF -	bool "printf" +	bool "printf (3.8 kb)"  	default y  	help -	  printf is used to format and print specified strings. -	  It's similar to `echo' except it has more options. - +	printf is used to format and print specified strings. +	It's similar to 'echo' except it has more options.  config BUSYBOX_PWD -	bool "pwd" +	bool "pwd (3.7 kb)"  	default y  	help -	  pwd is used to print the current directory. - +	pwd is used to print the current directory.  config BUSYBOX_READLINK -	bool "readlink" -	default n +	bool "readlink (4 kb)" +	default y  	help -	  This program reads a symbolic link and returns the name -	  of the file it points to +	This program reads a symbolic link and returns the name +	of the file it points to  config BUSYBOX_FEATURE_READLINK_FOLLOW  	bool "Enable canonicalization by following all symlinks (-f)" -	default n +	default y  	depends on BUSYBOX_READLINK  	help -	  Enable the readlink option (-f). - +	Enable the readlink option (-f).  config BUSYBOX_REALPATH -	bool "realpath" -	default n +	bool "realpath (1.6 kb)" +	default y  	help -	  Return the canonicalized absolute pathname. -	  This isn't provided by GNU shellutils, but where else does it belong. - +	Return the canonicalized absolute pathname. +	This isn't provided by GNU shellutils, but where else does it belong.  config BUSYBOX_RM -	bool "rm" +	bool "rm (5.4 kb)"  	default y  	help -	  rm is used to remove files or directories. - +	rm is used to remove files or directories.  config BUSYBOX_RMDIR -	bool "rmdir" -	default n -	help -	  rmdir is used to remove empty directories. - -config BUSYBOX_FEATURE_RMDIR_LONG_OPTIONS -	bool "Enable long options" -	default n -	depends on BUSYBOX_RMDIR && BUSYBOX_LONG_OPTS +	bool "rmdir (3.5 kb)" +	default y  	help -	  Support long options for the rmdir applet, including -	  --ignore-fail-on-non-empty for compatibility with GNU rmdir. - +	rmdir is used to remove empty directories.  config BUSYBOX_SEQ -	bool "seq" -	default n -	help -	  print a sequence of numbers - -config BUSYBOX_SHA1SUM -	bool "sha1sum" -	default n +	bool "seq (3.8 kb)" +	default y  	help -	  Compute and check SHA1 message digest - -config BUSYBOX_SHA256SUM -	bool "sha256sum" -	default n +	print a sequence of numbers +config BUSYBOX_SHRED +	bool "shred (4.9 kb)" +	default y  	help -	  Compute and check SHA256 message digest - -config BUSYBOX_SHA512SUM -	bool "sha512sum" -	default n +	Overwrite a file to hide its contents, and optionally delete it +config BUSYBOX_SHUF +	bool "shuf (5.4 kb)" +	default y  	help -	  Compute and check SHA512 message digest - -config BUSYBOX_SHA3SUM -       bool "sha3sum" -       default n -       help -         Compute and check SHA3 (512-bit) message digest - +	Generate random permutations  config BUSYBOX_SLEEP -	bool "sleep" -	default n +	bool "sleep (2 kb)" +	default y  	help -	  sleep is used to pause for a specified number of seconds. -	  It comes in 3 versions: -	  - small: takes one integer parameter -	  - fancy: takes multiple integer arguments with suffixes: -	    sleep 1d 2h 3m 15s -	  - fancy with fractional numbers: -	    sleep 2.3s 4.5h sleeps for 16202.3 seconds -	  Last one is "the most compatible" with coreutils sleep, -	  but it adds around 1k of code. +	sleep is used to pause for a specified number of seconds. +	It comes in 3 versions: +	- small: takes one integer parameter +	- fancy: takes multiple integer arguments with suffixes: +		sleep 1d 2h 3m 15s +	- fancy with fractional numbers: +		sleep 2.3s 4.5h sleeps for 16202.3 seconds +	Last one is "the most compatible" with coreutils sleep, +	but it adds around 1k of code.  config BUSYBOX_FEATURE_FANCY_SLEEP  	bool "Enable multiple arguments and s/m/h/d suffixes" -	default n -	depends on BUSYBOX_SLEEP -	help -	  Allow sleep to pause for specified minutes, hours, and days. - -config BUSYBOX_FEATURE_FLOAT_SLEEP -	bool "Enable fractional arguments"  	default y -	depends on BUSYBOX_FEATURE_FANCY_SLEEP +	depends on BUSYBOX_SLEEP  	help -	  Allow for fractional numeric parameters. - +	Allow sleep to pause for specified minutes, hours, and days.  config BUSYBOX_SORT -	bool "sort" -	default n +	bool "sort (7.7 kb)" +	default y  	help -	  sort is used to sort lines of text in specified files. +	sort is used to sort lines of text in specified files.  config BUSYBOX_FEATURE_SORT_BIG -	bool "Full SuSv3 compliant sort (support -ktcsbdfiozgM)" +	bool "Full SuSv3 compliant sort (support -ktcbdfioghM)"  	default y  	depends on BUSYBOX_SORT  	help -	  Without this, sort only supports -r, -u, and an integer version -	  of -n. Selecting this adds sort keys, floating point support, and -	  more. This adds a little over 3k to a nonstatic build on x86. +	Without this, sort only supports -rusz, and an integer version +	of -n. Selecting this adds sort keys, floating point support, and +	more. This adds a little over 3k to a nonstatic build on x86. -	  The SuSv3 sort standard is available at: -	  http://www.opengroup.org/onlinepubs/007904975/utilities/sort.html +	The SuSv3 sort standard is available at: +	http://www.opengroup.org/onlinepubs/007904975/utilities/sort.html +config BUSYBOX_FEATURE_SORT_OPTIMIZE_MEMORY +	bool "Use less memory (but might be slower)" +	default n   # defaults to N since we are size-paranoid tribe +	depends on BUSYBOX_SORT +	help +	Attempt to use less memory (by storing only one copy +	of duplicated lines, and such). Useful if you work on huge files.  config BUSYBOX_SPLIT -	bool "split" -	default n +	bool "split (5 kb)" +	default y  	help -	  split a file into pieces. +	Split a file into pieces.  config BUSYBOX_FEATURE_SPLIT_FANCY  	bool "Fancy extensions" -	default n +	default y  	depends on BUSYBOX_SPLIT  	help -	  Add support for features not required by SUSv3. -	  Supports additional suffixes 'b' for 512 bytes, -	  'g' for 1GiB for the -b option. - +	Add support for features not required by SUSv3. +	Supports additional suffixes 'b' for 512 bytes, +	'g' for 1GiB for the -b option.  config BUSYBOX_STAT -	bool "stat" -	default n -	select BUSYBOX_PLATFORM_LINUX # statfs() +	bool "stat (11 kb)" +	default y  	help -	  display file or filesystem status. +	display file or filesystem status.  config BUSYBOX_FEATURE_STAT_FORMAT  	bool "Enable custom formats (-c)" -	default n +	default y  	depends on BUSYBOX_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. +	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_FEATURE_STAT_FILESYSTEM  	bool "Enable display of filesystem status (-f)" -	default n +	default y  	depends on BUSYBOX_STAT -	select BUSYBOX_PLATFORM_LINUX # statfs()  	help -	  Without this, stat will not support the '-f' option to display -	  information about filesystem status. - +	Without this, stat will not support the '-f' option to display +	information about filesystem status.  config BUSYBOX_STTY -	bool "stty" -	default n +	bool "stty (8.9 kb)" +	default y  	help -	  stty is used to change and print terminal line settings. - +	stty is used to change and print terminal line settings.  config BUSYBOX_SUM -	bool "sum" -	default n +	bool "sum (4 kb)" +	default y  	help -	  checksum and count the blocks in a file - +	checksum and count the blocks in a file  config BUSYBOX_SYNC -	bool "sync" +	bool "sync (3.8 kb)"  	default n  	help -	  sync is used to flush filesystem buffers. - +	sync is used to flush filesystem buffers.  config BUSYBOX_FEATURE_SYNC_FANCY -	bool "Enable -d and -f flags (requres syncfs(2) in libc)" +	bool "Enable -d and -f flags (requires syncfs(2) in libc)"  	default n  	depends on BUSYBOX_SYNC  	help -	  sync -d FILE... executes fdatasync() on each FILE. -	  sync -f FILE... executes syncfs() on each FILE. - +	sync -d FILE... executes fdatasync() on each FILE. +	sync -f FILE... executes syncfs() on each FILE. +config BUSYBOX_FSYNC +	bool "fsync (3.6 kb)" +	default y +	help +	fsync is used to flush file-related cached blocks to disk.  config BUSYBOX_TAC -	bool "tac" -	default n +	bool "tac (3.9 kb)" +	default y  	help -	  tac is used to concatenate and print files in reverse. - +	tac is used to concatenate and print files in reverse.  config BUSYBOX_TAIL -	bool "tail" -	default n +	bool "tail (6.8 kb)" +	default y  	help -	  tail is used to print the last specified number of lines -	  from files. +	tail is used to print the last specified number of lines +	from files.  config BUSYBOX_FEATURE_FANCY_TAIL -	bool "Enable extra tail options (-q, -s, -v, and -F)" -	default n +	bool "Enable -q, -s, -v, and -F options" +	default y  	depends on BUSYBOX_TAIL  	help -	  The options (-q, -s, and -v) are provided by GNU tail, but -	  are not specific in the SUSv3 standard. - -	    -q      Never output headers giving file names -	    -s SEC  Wait SEC seconds between reads with -f -	    -v      Always output headers giving file names - +	These options are provided by GNU tail, but +	are not specified in the SUSv3 standard: +		-q      Never output headers giving file names +		-s SEC  Wait SEC seconds between reads with -f +		-v      Always output headers giving file names +		-F      Same as -f, but keep retrying  config BUSYBOX_TEE -	bool "tee" -	default n +	bool "tee (4.2 kb)" +	default y  	help -	  tee is used to read from standard input and write -	  to standard output and files. +	tee is used to read from standard input and write +	to standard output and files.  config BUSYBOX_FEATURE_TEE_USE_BLOCK_IO  	bool "Enable block I/O (larger/faster) instead of byte I/O"  	default y  	depends on BUSYBOX_TEE  	help -	  Enable this option for a faster tee, at expense of size. +	Enable this option for a faster tee, at expense of size. +config BUSYBOX_TEST +	bool "test (4.1 kb)" +	default y +	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_TRUE -	bool "true" -	default n +config BUSYBOX_TEST1 +	bool "test as [" +	default y  	help -	  true returns an exit code of TRUE (0). +	Provide test command in the "[ EXPR ]" form -config BUSYBOX_TTY -	bool "tty" -	default n +config BUSYBOX_TEST2 +	bool "test as [[" +	default y +	help +	Provide test command in the "[[ EXPR ]]" form + +config BUSYBOX_FEATURE_TEST_64 +	bool "Extend test to 64 bit" +	default y +	depends on BUSYBOX_TEST || BUSYBOX_TEST1 || BUSYBOX_TEST2 || BUSYBOX_ASH_TEST || BUSYBOX_HUSH_TEST +	help +	Enable 64-bit support in test. +config BUSYBOX_TIMEOUT +	bool "timeout (6 kb)" +	default y +	help +	Runs a program and watches it. If it does not terminate in +	specified number of seconds, it is sent a signal. +config BUSYBOX_TOUCH +	bool "touch (5.9 kb)" +	default y +	help +	touch is used to create or change the access and/or +	modification timestamp of specified files. + +config BUSYBOX_FEATURE_TOUCH_SUSV3 +	bool "Add support for SUSV3 features (-a -d -m -t -r)" +	default y +	depends on BUSYBOX_TOUCH +	help +	Enable touch to use a reference file or a given date/time argument. +config BUSYBOX_TR +	bool "tr (5.1 kb)" +	default y +	help +	tr is used to squeeze, and/or delete characters from standard +	input, writing to standard output. + +config BUSYBOX_FEATURE_TR_CLASSES +	bool "Enable character classes (such as [:upper:])" +	default y +	depends on BUSYBOX_TR  	help -	  tty is used to print the name of the current terminal to -	  standard output. +	Enable character classes, enabling commands such as: +	tr [:upper:] [:lower:] to convert input into lowercase. +config BUSYBOX_FEATURE_TR_EQUIV +	bool "Enable equivalence classes" +	default y +	depends on BUSYBOX_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_TRUE +	bool "true (tiny)" +	default y +	help +	true returns an exit code of TRUE (0). +config BUSYBOX_TRUNCATE +	bool "truncate (4.2 kb)" +	default y +	help +	truncate truncates files to a given size. If a file does +	not exist, it is created unless told otherwise. +config BUSYBOX_TSORT +	bool "tsort (0.7 kb)" +	default y +	help +	tsort performs a topological sort. +config BUSYBOX_TTY +	bool "tty (3.6 kb)" +	default y +	help +	tty is used to print the name of the current terminal to +	standard output.  config BUSYBOX_UNAME -	bool "uname" +	bool "uname (3.9 kb)"  	default y  	help -	  uname is used to print system information. +	uname is used to print system information.  config BUSYBOX_UNAME_OSNAME  	string "Operating system name"  	default "GNU/Linux"  	depends on BUSYBOX_UNAME  	help -	  Sets the operating system name reported by uname -o.  The -	  default is "GNU/Linux". +	Sets the operating system name reported by uname -o.  The +	default is "GNU/Linux". -config BUSYBOX_UNEXPAND -	bool "unexpand" -	default n -	help -	  By default, convert only leading sequences of blanks to tabs. - -config BUSYBOX_FEATURE_UNEXPAND_LONG_OPTIONS -	bool "Enable long options" -	default n -	depends on BUSYBOX_UNEXPAND && BUSYBOX_LONG_OPTS +config BUSYBOX_BB_ARCH +	bool "arch (1.1 kb)" +	default y  	help -	  Support long options for the unexpand applet. - +	Same as uname -m.  config BUSYBOX_UNIQ -	bool "uniq" -	default n +	bool "uniq (4.9 kb)" +	default y  	help -	  uniq is used to remove duplicate lines from a sorted file. - +	uniq is used to remove duplicate lines from a sorted file. +config BUSYBOX_UNLINK +	bool "unlink (3.2 kb)" +	default y +	help +	unlink deletes a file by calling unlink()  config BUSYBOX_USLEEP -	bool "usleep" -	default n +	bool "usleep (1.3 kb)" +	default y  	help -	  usleep is used to pause for a specified number of microseconds. - +	usleep is used to pause for a specified number of microseconds.  config BUSYBOX_UUDECODE -	bool "uudecode" -	default n +	bool "uudecode (5.8 kb)" +	default y  	help -	  uudecode is used to decode a uuencoded file. - +	uudecode is used to decode a uuencoded file. +config BUSYBOX_BASE32 +	bool "base32 (4.9 kb)" +	default y +	help +	Base32 encode and decode +config BUSYBOX_BASE64 +	bool "base64 (4.9 kb)" +	default y +	help +	Base64 encode and decode  config BUSYBOX_UUENCODE -	bool "uuencode" -	default n +	bool "uuencode (4.4 kb)" +	default y  	help -	  uuencode is used to uuencode a file. - +	uuencode is used to uuencode a file.  config BUSYBOX_WC -	bool "wc" -	default n +	bool "wc (4.5 kb)" +	default y  	help -	  wc is used to print the number of bytes, words, and lines, -	  in specified files. +	wc is used to print the number of bytes, words, and lines, +	in specified files.  config BUSYBOX_FEATURE_WC_LARGE -	bool "Support very large files in wc" -	default n +	bool "Support very large counts" +	default y  	depends on BUSYBOX_WC  	help -	  Use "unsigned long long" in wc for counter variables. - -config BUSYBOX_WHOAMI -	bool "whoami" -	default n -	help -	  whoami is used to print the username of the current -	  user id (same as id -un). - -config BUSYBOX_YES -	bool "yes" -	default n -	help -	  yes is used to repeatedly output a specific string, or -	  the default string `y'. - -comment "Common options" - -config BUSYBOX_FEATURE_VERBOSE -	bool "Support verbose options (usually -v) for various applets" -	default n +	Use "unsigned long long" for counter variables. +config BUSYBOX_WHO +	bool "who (3.9 kb)" +	default y +	depends on BUSYBOX_FEATURE_UTMP  	help -	  Enable cp -v, rm -v and similar messages. -	  Also enables long option (--verbose) if it exists. -	  Without this option, -v is accepted but ignored. +	Print users currently logged on. -comment "Common options for cp and mv" -	depends on BUSYBOX_CP || BUSYBOX_MV - -config BUSYBOX_FEATURE_PRESERVE_HARDLINKS -	bool "Preserve hard links" +config BUSYBOX_W +	bool "w (3.8 kb)"  	default y -	depends on BUSYBOX_CP || BUSYBOX_MV +	depends on BUSYBOX_FEATURE_UTMP  	help -	  Allow cp and mv to preserve hard links. +	Print users currently logged on. -comment "Common options for ls, more and telnet" -	depends on BUSYBOX_LS || BUSYBOX_MORE || BUSYBOX_TELNET - -config BUSYBOX_FEATURE_AUTOWIDTH -	bool "Calculate terminal & column widths" +config BUSYBOX_USERS +	bool "users (3.4 kb)"  	default y -	depends on BUSYBOX_LS || BUSYBOX_MORE || BUSYBOX_TELNET +	depends on BUSYBOX_FEATURE_UTMP  	help -	  This option allows utilities such as 'ls', 'more' and 'telnet' -	  to determine the width of the screen, which can allow them to -	  display additional text or avoid wrapping text onto the next line. -	  If you leave this disabled, your utilities will be especially -	  primitive and will be unable to determine the current screen width. - -comment "Common options for df, du, ls" -	depends on BUSYBOX_DF || BUSYBOX_DU || BUSYBOX_LS - -config BUSYBOX_FEATURE_HUMAN_READABLE -	bool "Support for human readable output (example 13k, 23M, 235G)" +	Print users currently logged on. +config BUSYBOX_WHOAMI +	bool "whoami (3.2 kb)"  	default y -	depends on BUSYBOX_DF || BUSYBOX_DU || BUSYBOX_LS  	help -	  Allow df, du, and ls to have human readable output. - -comment "Common options for md5sum, sha1sum, sha256sum, sha512sum, sha3sum" -	depends on BUSYBOX_MD5SUM || BUSYBOX_SHA1SUM || BUSYBOX_SHA256SUM || BUSYBOX_SHA512SUM || BUSYBOX_SHA3SUM - -config BUSYBOX_FEATURE_MD5_SHA1_SUM_CHECK -	bool "Enable -c, -s and -w options" +	whoami is used to print the username of the current +	user id (same as id -un). +config BUSYBOX_YES +	bool "yes (1.2 kb)"  	default y -	depends on BUSYBOX_MD5SUM || BUSYBOX_SHA1SUM || BUSYBOX_SHA256SUM || BUSYBOX_SHA512SUM || BUSYBOX_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. +	yes is used to repeatedly output a specific string, or +	the default string 'y'.  endmenu diff --git a/package/busybox/config/debianutils/Config.in b/package/busybox/config/debianutils/Config.in index d48a2aacb..d215debab 100644 --- a/package/busybox/config/debianutils/Config.in +++ b/package/busybox/config/debianutils/Config.in @@ -1,84 +1,70 @@  # DO NOT EDIT. This file is generated from Config.src  #  # For a description of the syntax of this configuration file, -# see scripts/kbuild/config-language.txt. +# see docs/Kconfig-language.txt.  #  menu "Debian Utilities" -config BUSYBOX_MKTEMP -	bool "mktemp" -	default n -	help -	  mktemp is used to create unique temporary files -  config BUSYBOX_PIPE_PROGRESS -	bool "pipe_progress" -	default n +	bool "pipe_progress (275 bytes)" +	default y  	help -	  Display a dot to indicate pipe activity. - +	Display a dot to indicate pipe activity.  config BUSYBOX_RUN_PARTS -	bool "run-parts" -	default n +	bool "run-parts (6.1 kb)" +	default y  	help -	  run-parts is a utility designed to run all the scripts in a directory. +	run-parts is a utility designed to run all the scripts in a directory. -	  It is useful to set up a directory like cron.daily, where you need to -	  execute all the scripts in that directory. +	It is useful to set up a directory like cron.daily, where you need to +	execute all the scripts in that directory. -	  In this implementation of run-parts some features (such as report -	  mode) are not implemented. +	In this implementation of run-parts some features (such as report +	mode) are not implemented. -	  Unless you know that run-parts is used in some of your scripts -	  you can safely say N here. +	Unless you know that run-parts is used in some of your scripts +	you can safely say N here.  config BUSYBOX_FEATURE_RUN_PARTS_LONG_OPTIONS  	bool "Enable long options" -	default n +	default y  	depends on BUSYBOX_RUN_PARTS && BUSYBOX_LONG_OPTS -	help -	  Support long options for the run-parts applet.  config BUSYBOX_FEATURE_RUN_PARTS_FANCY  	bool "Support additional arguments" -	default n +	default y  	depends on BUSYBOX_RUN_PARTS  	help -	  Support additional options: -	  -l --list print the names of the all matching files (not -	            limited to executables), but don't actually run them. - +	Support additional options: +	-l --list print the names of the all matching files (not +	limited to executables), but don't actually run them.  config BUSYBOX_START_STOP_DAEMON -	bool "start-stop-daemon" -	default n +	bool "start-stop-daemon (12 kb)" +	default y  	help -	  start-stop-daemon is used to control the creation and -	  termination of system-level processes, usually the ones -	  started during the startup of the system. - -config BUSYBOX_FEATURE_START_STOP_DAEMON_FANCY -	bool "Support additional arguments" -	default n -	depends on BUSYBOX_START_STOP_DAEMON -	help -	  Support additional arguments. -	  -o|--oknodo ignored since we exit with 0 anyway -	  -v|--verbose -	  -N|--nicelevel N +	start-stop-daemon is used to control the creation and +	termination of system-level processes, usually the ones +	started during the startup of the system.  config BUSYBOX_FEATURE_START_STOP_DAEMON_LONG_OPTIONS  	bool "Enable long options" -	default n +	default y  	depends on BUSYBOX_START_STOP_DAEMON && BUSYBOX_LONG_OPTS -	help -	  Support long options for the start-stop-daemon applet. +config BUSYBOX_FEATURE_START_STOP_DAEMON_FANCY +	bool "Support additional arguments" +	default y +	depends on BUSYBOX_START_STOP_DAEMON +	help +	-o|--oknodo ignored since we exit with 0 anyway +	-v|--verbose +	-N|--nicelevel N  config BUSYBOX_WHICH -	bool "which" -	default n +	bool "which (3.8 kb)" +	default y  	help -	  which is used to find programs in your PATH and -	  print out their pathnames. +	which is used to find programs in your PATH and +	print out their pathnames.  endmenu diff --git a/package/busybox/config/e2fsprogs/Config.in b/package/busybox/config/e2fsprogs/Config.in index 6e7755dab..08533d6cc 100644 --- a/package/busybox/config/e2fsprogs/Config.in +++ b/package/busybox/config/e2fsprogs/Config.in @@ -1,16 +1,34 @@  # DO NOT EDIT. This file is generated from Config.src  #  # For a description of the syntax of this configuration file, -# see scripts/kbuild/config-language.txt. +# see docs/Kconfig-language.txt.  #  menu "Linux Ext2 FS Progs"  config BUSYBOX_CHATTR -	bool "chattr" -	default n +	bool "chattr (3.8 kb)" +	default y  	help -	  chattr changes the file attributes on a second extended file system. +	chattr changes the file attributes on a second extended file system. +config BUSYBOX_FSCK +	bool "fsck (7.4 kb)" +	default y +	help +	fsck is used to check and optionally repair one or more filesystems. +	In actuality, fsck is simply a front-end for the various file system +	checkers (fsck.fstype) available under Linux. +config BUSYBOX_LSATTR +	bool "lsattr (5.5 kb)" +	default y +	help +	lsattr lists the file attributes on a second extended file system. +config BUSYBOX_TUNE2FS +	bool "tune2fs (4.4 kb)" +	default n  # off: it is too limited compared to upstream version +	help +	tune2fs allows the system administrator to adjust various tunable +	filesystem parameters on Linux ext2/ext3 filesystems.  ### config E2FSCK  ###	bool "e2fsck" @@ -21,35 +39,13 @@ config BUSYBOX_CHATTR  ###	  The normal compat symlinks 'fsck.ext2' and 'fsck.ext3' are also  ###	  provided. -config BUSYBOX_FSCK -	bool "fsck" -	default n -	help -	  fsck is used to check and optionally repair one or more filesystems. -	  In actuality, fsck is simply a front-end for the various file system -	  checkers (fsck.fstype) available under Linux. - -config BUSYBOX_LSATTR -	bool "lsattr" -	default n -	select BUSYBOX_PLATFORM_LINUX -	help -	  lsattr lists the file attributes on a second extended file system. - -### config MKE2FS +### config BUSYBOX_MKE2FS  ###	bool "mke2fs"  ###	default y  ###	help  ###	  mke2fs is used to create an ext2/ext3 filesystem. The normal compat  ###	  symlinks 'mkfs.ext2' and 'mkfs.ext3' are also provided. -config BUSYBOX_TUNE2FS -	bool "tune2fs" -	default n  # off: it is too limited compared to upstream version -	help -	  tune2fs allows the system administrator to adjust various tunable -	  filesystem parameters on Linux ext2/ext3 filesystems. -  ### config E2LABEL  ###	bool "e2label"  ###	default y @@ -59,7 +55,7 @@ config BUSYBOX_TUNE2FS  ###	  filesystem located on device.  ### NB: this one is now provided by util-linux/volume_id/* -### config FINDFS +### config BUSYBOX_FINDFS  ###	bool "findfs"  ###	default y  ###	depends on BUSYBOX_TUNE2FS diff --git a/package/busybox/config/e2fsprogs/old_e2fsprogs/Config.in b/package/busybox/config/e2fsprogs/old_e2fsprogs/Config.in deleted file mode 100644 index 2146bb9a9..000000000 --- a/package/busybox/config/e2fsprogs/old_e2fsprogs/Config.in +++ /dev/null @@ -1,69 +0,0 @@ -# DO NOT EDIT. This file is generated from Config.src -# -# For a description of the syntax of this configuration file, -# see scripts/kbuild/config-language.txt. -# - -menu "Linux Ext2 FS Progs" - - -config BUSYBOX_CHATTR -	bool "chattr" -	default n -	help -	  chattr changes the file attributes on a second extended file system. - -config BUSYBOX_E2FSCK -	bool "e2fsck" -	default n -	help -	  e2fsck is used to check Linux second extended file systems (ext2fs). -	  e2fsck also supports ext2 filesystems countaining a journal (ext3). -	  The normal compat symlinks 'fsck.ext2' and 'fsck.ext3' are also -	  provided. - -config BUSYBOX_FSCK -	bool "fsck" -	default n -	help -	  fsck is used to check and optionally repair one or more filesystems. -	  In actuality, fsck is simply a front-end for the various file system -	  checkers (fsck.fstype) available under Linux. - -config BUSYBOX_LSATTR -	bool "lsattr" -	default n -	help -	  lsattr lists the file attributes on a second extended file system. - -config BUSYBOX_MKE2FS -	bool "mke2fs" -	default n -	help -	  mke2fs is used to create an ext2/ext3 filesystem. The normal compat -	  symlinks 'mkfs.ext2' and 'mkfs.ext3' are also provided. - -config BUSYBOX_TUNE2FS -	bool "tune2fs" -	default n -	help -	  tune2fs allows the system administrator to adjust various tunable -	  filesystem parameters on Linux ext2/ext3 filesystems. - -config BUSYBOX_E2LABEL -	bool "e2label" -	default n -	depends on BUSYBOX_TUNE2FS -	help -	  e2label will display or change the filesystem label on the ext2 -	  filesystem located on device. - -config BUSYBOX_FINDFS -	bool "findfs" -	default n -	depends on BUSYBOX_TUNE2FS -	help -	  findfs will search the disks in the system looking for a filesystem -	  which has a label matching label or a UUID equal to uuid. - -endmenu diff --git a/package/busybox/config/editors/Config.in b/package/busybox/config/editors/Config.in index 5c6b8a8be..2858f60d1 100644 --- a/package/busybox/config/editors/Config.in +++ b/package/busybox/config/editors/Config.in @@ -1,152 +1,215 @@  # DO NOT EDIT. This file is generated from Config.src  #  # For a description of the syntax of this configuration file, -# see scripts/kbuild/config-language.txt. +# see docs/Kconfig-language.txt.  #  menu "Editors" -config BUSYBOX_PATCH -	bool "patch" -	depends on !BUSYBOX_DISABLE_PATCH -	default n +config BUSYBOX_AWK +	bool "awk (23 kb)" +	default y +	help +	Awk is used as a pattern scanning and processing language. + +config BUSYBOX_FEATURE_AWK_LIBM +	bool "Enable math functions (requires libm)" +	default y +	depends on BUSYBOX_AWK  	help -	  Apply a unified diff formatted patch. +	Enable math functions of the Awk programming language. +	NOTE: This requires libm to be present for linking. + +config BUSYBOX_FEATURE_AWK_GNU_EXTENSIONS +	bool "Enable a few GNU extensions" +	default y +	depends on BUSYBOX_AWK +	help +	Enable a few features from gawk: +	* command line option -e AWK_PROGRAM +	* simultaneous use of -f and -e on the command line. +	This enables the use of awk library files. +	Example: awk -f mylib.awk -e '{print myfunction($1);}' ... +config BUSYBOX_CMP +	bool "cmp (4.9 kb)" +	default y +	help +	cmp is used to compare two files and returns the result +	to standard output. +config BUSYBOX_DIFF +	bool "diff (13 kb)" +	default y +	help +	diff compares two files or directories and outputs the +	differences between them in a form that can be given to +	the patch command. + +config BUSYBOX_FEATURE_DIFF_LONG_OPTIONS +	bool "Enable long options" +	default y +	depends on BUSYBOX_DIFF && BUSYBOX_LONG_OPTS +config BUSYBOX_FEATURE_DIFF_DIR +	bool "Enable directory support" +	default y +	depends on BUSYBOX_DIFF +	help +	This option enables support for directory and subdirectory +	comparison. +config BUSYBOX_ED +	bool "ed (21 kb)" +	default y +	help +	The original 1970's Unix text editor, from the days of teletypes. +	Small, simple, evil. Part of SUSv3. If you're not already using +	this, you don't need it. +config BUSYBOX_PATCH +	bool "patch (9.4 kb)" +	default y +	help +	Apply a unified diff formatted patch. +config BUSYBOX_SED +	bool "sed (12 kb)" +	default y +	help +	sed is used to perform text transformations on a file +	or input from a pipeline.  config BUSYBOX_VI -	bool "vi" +	bool "vi (23 kb)"  	default y  	help -	  'vi' is a text editor. More specifically, it is the One True -	  text editor <grin>. It does, however, have a rather steep -	  learning curve. If you are not already comfortable with 'vi' -	  you may wish to use something else. +	'vi' is a text editor. More specifically, it is the One True +	text editor <grin>. It does, however, have a rather steep +	learning curve. If you are not already comfortable with 'vi' +	you may wish to use something else.  config BUSYBOX_FEATURE_VI_MAX_LEN -	int "Maximum screen width in vi" +	int "Maximum screen width"  	range 256 16384  	default 4096  	depends on BUSYBOX_VI  	help -	  Contrary to what you may think, this is not eating much. -	  Make it smaller than 4k only if you are very limited on memory. +	Contrary to what you may think, this is not eating much. +	Make it smaller than 4k only if you are very limited on memory.  config BUSYBOX_FEATURE_VI_8BIT -	bool "Allow vi to display 8-bit chars (otherwise shows dots)" +	bool "Allow to display 8-bit chars (otherwise shows dots)"  	default n  	depends on BUSYBOX_VI  	help -	  If your terminal can display characters with high bit set, -	  you may want to enable this. Note: vi is not Unicode-capable. -	  If your terminal combines several 8-bit bytes into one character -	  (as in Unicode mode), this will not work properly. +	If your terminal can display characters with high bit set, +	you may want to enable this. Note: vi is not Unicode-capable. +	If your terminal combines several 8-bit bytes into one character +	(as in Unicode mode), this will not work properly.  config BUSYBOX_FEATURE_VI_COLON  	bool "Enable \":\" colon commands (no \"ex\" mode)"  	default y  	depends on BUSYBOX_VI  	help -	  Enable a limited set of colon commands for vi. This does not -	  provide an "ex" mode. +	Enable a limited set of colon commands. This does not +	provide an "ex" mode. + +config BUSYBOX_FEATURE_VI_COLON_EXPAND +	bool "Expand \"%\" and \"#\" in colon commands" +	default y +	depends on BUSYBOX_FEATURE_VI_COLON +	help +	Expand the special characters \"%\" (current filename) +	and \"#\" (alternate filename) in colon commands.  config BUSYBOX_FEATURE_VI_YANKMARK  	bool "Enable yank/put commands and mark cmds"  	default y  	depends on BUSYBOX_VI  	help -	  This will enable you to use yank and put, as well as mark in -	  busybox vi. +	This enables you to use yank and put, as well as mark.  config BUSYBOX_FEATURE_VI_SEARCH  	bool "Enable search and replace cmds"  	default y  	depends on BUSYBOX_VI  	help -	  Select this if you wish to be able to do search and replace in -	  busybox vi. +	Select this if you wish to be able to do search and replace.  config BUSYBOX_FEATURE_VI_REGEX_SEARCH  	bool "Enable regex in search and replace"  	default n   # Uses GNU regex, which may be unavailable. FIXME  	depends on BUSYBOX_FEATURE_VI_SEARCH  	help -	  Use extended regex search. +	Use extended regex search.  config BUSYBOX_FEATURE_VI_USE_SIGNALS  	bool "Catch signals"  	default y  	depends on BUSYBOX_VI  	help -	  Selecting this option will make busybox vi signal aware. This will -	  make busybox vi support SIGWINCH to deal with Window Changes, catch -	  Ctrl-Z and Ctrl-C and alarms. +	Selecting this option will make vi signal aware. This will support +	SIGWINCH to deal with Window Changes, catch ^Z and ^C and alarms.  config BUSYBOX_FEATURE_VI_DOT_CMD  	bool "Remember previous cmd and \".\" cmd"  	default y  	depends on BUSYBOX_VI  	help -	  Make busybox vi remember the last command and be able to repeat it. +	Make vi remember the last command and be able to repeat it.  config BUSYBOX_FEATURE_VI_READONLY  	bool "Enable -R option and \"view\" mode"  	default y  	depends on BUSYBOX_VI  	help -	  Enable the read-only command line option, which allows the user to -	  open a file in read-only mode. +	Enable the read-only command line option, which allows the user to +	open a file in read-only mode.  config BUSYBOX_FEATURE_VI_SETOPTS -	bool "Enable set-able options, ai ic showmatch" +	bool "Enable settable options, ai ic showmatch"  	default y  	depends on BUSYBOX_VI  	help -	  Enable the editor to set some (ai, ic, showmatch) options. +	Enable the editor to set some (ai, ic, showmatch) options.  config BUSYBOX_FEATURE_VI_SET -	bool "Support for :set" +	bool "Support :set"  	default y  	depends on BUSYBOX_VI -	help -	  Support for ":set".  config BUSYBOX_FEATURE_VI_WIN_RESIZE  	bool "Handle window resize"  	default y  	depends on BUSYBOX_VI  	help -	  Make busybox vi behave nicely with terminals that get resized. +	Behave nicely with terminals that get resized.  config BUSYBOX_FEATURE_VI_ASK_TERMINAL  	bool "Use 'tell me cursor position' ESC sequence to measure window"  	default y  	depends on BUSYBOX_VI  	help -	  If terminal size can't be retrieved and $LINES/$COLUMNS are not set, -	  this option makes vi perform a last-ditch effort to find it: -	  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. +	If terminal size can't be retrieved and $LINES/$COLUMNS are not set, +	this option makes vi perform a last-ditch effort to find it: +	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_FEATURE_VI_UNDO -	bool "Support undo command 'u'" +	bool "Support undo command \"u\""  	default y  	depends on BUSYBOX_VI  	help -	  Support the 'u' command to undo insertion, deletion, and replacement -	  of text. +	Support the 'u' command to undo insertion, deletion, and replacement +	of text.  config BUSYBOX_FEATURE_VI_UNDO_QUEUE  	bool "Enable undo operation queuing"  	default y  	depends on BUSYBOX_FEATURE_VI_UNDO  	help -	  The vi undo functions can use an intermediate queue to greatly lower -	  malloc() calls and overhead. When the maximum size of this queue is -	  reached, the contents of the queue are committed to the undo stack. -	  This increases the size of the undo code and allows some undo -	  operations (especially un-typing/backspacing) to be far more useful. +	The vi undo functions can use an intermediate queue to greatly lower +	malloc() calls and overhead. When the maximum size of this queue is +	reached, the contents of the queue are committed to the undo stack. +	This increases the size of the undo code and allows some undo +	operations (especially un-typing/backspacing) to be far more useful.  config BUSYBOX_FEATURE_VI_UNDO_QUEUE_MAX  	int "Maximum undo character queue size" @@ -154,94 +217,28 @@ config BUSYBOX_FEATURE_VI_UNDO_QUEUE_MAX  	range 32 65536  	depends on BUSYBOX_FEATURE_VI_UNDO_QUEUE  	help -	  This option sets the number of bytes used at runtime for the queue. -	  Smaller values will create more undo objects and reduce the amount -	  of typed or backspaced characters that are grouped into one undo -	  operation; larger values increase the potential size of each undo -	  and will generally malloc() larger objects and less frequently. -	  Unless you want more (or less) frequent "undo points" while typing, -	  you should probably leave this unchanged. +	This option sets the number of bytes used at runtime for the queue. +	Smaller values will create more undo objects and reduce the amount +	of typed or backspaced characters that are grouped into one undo +	operation; larger values increase the potential size of each undo +	and will generally malloc() larger objects and less frequently. +	Unless you want more (or less) frequent "undo points" while typing, +	you should probably leave this unchanged. -config BUSYBOX_AWK -	bool "awk" -	default n -	help -	  Awk is used as a pattern scanning and processing language. This is -	  the BusyBox implementation of that programming language. - -config BUSYBOX_FEATURE_AWK_LIBM -	bool "Enable math functions (requires libm)" -	default n -	depends on BUSYBOX_AWK -	help -	  Enable math functions of the Awk programming language. -	  NOTE: This will require libm to be present for linking. - -config BUSYBOX_FEATURE_AWK_GNU_EXTENSIONS -	bool "Enable a few GNU extensions" -	default n -	depends on BUSYBOX_AWK -	help -	  Enable a few features from gawk: -	  * command line option -e AWK_PROGRAM -	  * simultaneous use of -f and -e on the command line. -	    This enables the use of awk library files. -	    Ex: awk -f mylib.awk -e '{print myfunction($1);}' ... - -config BUSYBOX_CMP -	bool "cmp" -	default n -	help -	  cmp is used to compare two files and returns the result -	  to standard output. - -config BUSYBOX_DIFF -	bool "diff" -	depends on !BUSYBOX_DISABLE_DIFF -	default n -	help -	  diff compares two files or directories and outputs the -	  differences between them in a form that can be given to -	  the patch command. - -config BUSYBOX_FEATURE_DIFF_LONG_OPTIONS -	bool "Enable long options" -	default n -	depends on BUSYBOX_DIFF && BUSYBOX_LONG_OPTS -	help -	  Enable use of long options. - -config BUSYBOX_FEATURE_DIFF_DIR -	bool "Enable directory support" -	default n -	depends on BUSYBOX_DIFF -	help -	  This option enables support for directory and subdirectory -	  comparison. - -config BUSYBOX_ED -	bool "ed" -	depends on !BUSYBOX_DISABLE_ED -	default n -	help -	  The original 1970's Unix text editor, from the days of teletypes. -	  Small, simple, evil. Part of SUSv3. If you're not already using -	  this, you don't need it. - -config BUSYBOX_SED -	bool "sed" -	depends on !BUSYBOX_DISABLE_SED -	default n +config BUSYBOX_FEATURE_VI_VERBOSE_STATUS +	bool "Enable verbose status reporting" +	default y +	depends on BUSYBOX_VI  	help -	  sed is used to perform text transformations on a file -	  or input from a pipeline. +	Enable more verbose reporting of the results of yank, change, +	delete, undo and substitution commands.  config BUSYBOX_FEATURE_ALLOW_EXEC  	bool "Allow vi and awk to execute shell commands" -	default n +	default y  	depends on BUSYBOX_VI || BUSYBOX_AWK  	help -	  Enables vi and awk features which allows user to execute -	  shell commands (using system() C call). +	Enables vi and awk features which allow user to execute +	shell commands (using system() C call).  endmenu diff --git a/package/busybox/config/findutils/Config.in b/package/busybox/config/findutils/Config.in index a9bb761b2..ff1f5ed0c 100644 --- a/package/busybox/config/findutils/Config.in +++ b/package/busybox/config/findutils/Config.in @@ -1,277 +1,325 @@  # DO NOT EDIT. This file is generated from Config.src  #  # For a description of the syntax of this configuration file, -# see scripts/kbuild/config-language.txt. +# see docs/Kconfig-language.txt.  #  menu "Finding Utilities"  config BUSYBOX_FIND -	bool "find" -	depends on !BUSYBOX_DISABLE_FIND +	bool "find (14 kb)"  	default y  	help -	  find is used to search your system to find specified files. +	find is used to search your system to find specified files.  config BUSYBOX_FEATURE_FIND_PRINT0  	bool "Enable -print0: NUL-terminated output"  	default y  	depends on BUSYBOX_FIND  	help -	  Causes output names to be separated by a NUL character -	  rather than a newline. This allows names that contain -	  newlines and other whitespace to be more easily -	  interpreted by other programs. +	Causes output names to be separated by a NUL character +	rather than a newline. This allows names that contain +	newlines and other whitespace to be more easily +	interpreted by other programs.  config BUSYBOX_FEATURE_FIND_MTIME -	bool "Enable -mtime: modified time matching" +	bool "Enable -mtime: modification time matching"  	default y  	depends on BUSYBOX_FIND  	help -	  Allow searching based on the modification time of -	  files, in days. +	Allow searching based on the modification time of +	files, in days. + +config BUSYBOX_FEATURE_FIND_ATIME +	bool "Enable -atime: access time matching" +	default y +	depends on BUSYBOX_FEATURE_FIND_MTIME +	help +	Allow searching based on the access time of +	files, in days. + +config BUSYBOX_FEATURE_FIND_CTIME +	bool "Enable -ctime: status change timestamp matching" +	default y +	depends on BUSYBOX_FEATURE_FIND_MTIME +	help +	Allow searching based on the status change timestamp of +	files, in days.  config BUSYBOX_FEATURE_FIND_MMIN -	bool "Enable -mmin: modified time matching by minutes" +	bool "Enable -mmin: modification time matching by minutes"  	default y  	depends on BUSYBOX_FIND  	help -	  Allow searching based on the modification time of -	  files, in minutes. +	Allow searching based on the modification time of +	files, in minutes. + +config BUSYBOX_FEATURE_FIND_AMIN +	bool "Enable -amin: access time matching by minutes" +	default y +	depends on BUSYBOX_FEATURE_FIND_MMIN +	help +	Allow searching based on the access time of +	files, in minutes. + +config BUSYBOX_FEATURE_FIND_CMIN +	bool "Enable -cmin: status change timestamp matching by minutes" +	default y +	depends on BUSYBOX_FEATURE_FIND_MMIN +	help +	Allow searching based on the status change timestamp of +	files, in minutes.  config BUSYBOX_FEATURE_FIND_PERM  	bool "Enable -perm: permissions matching"  	default y  	depends on BUSYBOX_FIND -	help -	  Enable searching based on file permissions.  config BUSYBOX_FEATURE_FIND_TYPE  	bool "Enable -type: file type matching (file/dir/link/...)"  	default y  	depends on BUSYBOX_FIND  	help -	  Enable searching based on file type (file, -	  directory, socket, device, etc.). +	Enable searching based on file type (file, +	directory, socket, device, etc.). + +config BUSYBOX_FEATURE_FIND_EXECUTABLE +	bool "Enable -executable: file is executable" +	default y +	depends on BUSYBOX_FIND  config BUSYBOX_FEATURE_FIND_XDEV  	bool "Enable -xdev: 'stay in filesystem'"  	default y  	depends on BUSYBOX_FIND -	help -	  This option allows find to restrict searches to a single filesystem.  config BUSYBOX_FEATURE_FIND_MAXDEPTH  	bool "Enable -mindepth N and -maxdepth N"  	default y  	depends on BUSYBOX_FIND -	help -	  This option enables -mindepth N and -maxdepth N option.  config BUSYBOX_FEATURE_FIND_NEWER  	bool "Enable -newer: compare file modification times"  	default y  	depends on BUSYBOX_FIND  	help -	  Support the 'find -newer' option for finding any files which have -	  modification time that is more recent than the specified FILE. +	Support the 'find -newer' option for finding any files which have +	modification time that is more recent than the specified FILE.  config BUSYBOX_FEATURE_FIND_INUM  	bool "Enable -inum: inode number matching"  	default y  	depends on BUSYBOX_FIND -	help -	  Support the 'find -inum' option for searching by inode number. -config BUSYBOX_FEATURE_FIND_EMPTY -       bool "Enable -empty option matching empty files and directories" -       default y -       depends on BUSYBOX_FIND -       help -         Support the 'find -empty' option for searching empty files  -         and directories. +config BUSYBOX_FEATURE_FIND_SAMEFILE +	bool "Enable -samefile: reference file matching" +	default y +	depends on BUSYBOX_FIND +	help +	Support the 'find -samefile' option for searching by a reference file.  config BUSYBOX_FEATURE_FIND_EXEC  	bool "Enable -exec: execute commands"  	default y  	depends on BUSYBOX_FIND  	help -	  Support the 'find -exec' option for executing commands based upon -	  the files matched. +	Support the 'find -exec' option for executing commands based upon +	the files matched.  config BUSYBOX_FEATURE_FIND_EXEC_PLUS  	bool "Enable -exec ... {} +"  	default y  	depends on BUSYBOX_FEATURE_FIND_EXEC  	help -	  Support the 'find -exec ... {} +' option for executing commands -	  for all matched files at once. -	  Without this option, -exec + is a synonym for -exec ; -	  (IOW: it works correctly, but without expected speedup) +	Support the 'find -exec ... {} +' option for executing commands +	for all matched files at once. +	Without this option, -exec + is a synonym for -exec ; +	(IOW: it works correctly, but without expected speedup) + +config BUSYBOX_FEATURE_FIND_EXEC_OK +	bool "Enable -ok: execute confirmed commands" +	default y +	depends on BUSYBOX_FEATURE_FIND_EXEC +	help +	Support the 'find -ok' option which prompts before executing.  config BUSYBOX_FEATURE_FIND_USER  	bool "Enable -user: username/uid matching"  	default y  	depends on BUSYBOX_FIND -	help -	  Support the 'find -user' option for searching by username or uid.  config BUSYBOX_FEATURE_FIND_GROUP  	bool "Enable -group: group/gid matching"  	default y  	depends on BUSYBOX_FIND -	help -	  Support the 'find -group' option for searching by group name or gid.  config BUSYBOX_FEATURE_FIND_NOT  	bool "Enable the 'not' (!) operator"  	default y  	depends on BUSYBOX_FIND  	help -	  Support the '!' operator to invert the test results. -	  If 'Enable full-blown desktop' is enabled, then will also support -	  the non-POSIX notation '-not'. +	Support the '!' operator to invert the test results. +	If 'Enable full-blown desktop' is enabled, then will also support +	the non-POSIX notation '-not'.  config BUSYBOX_FEATURE_FIND_DEPTH  	bool "Enable -depth"  	default y  	depends on BUSYBOX_FIND  	help -	  Process each directory's contents before the directory itself. +	Process each directory's contents before the directory itself.  config BUSYBOX_FEATURE_FIND_PAREN  	bool "Enable parens in options"  	default y  	depends on BUSYBOX_FIND  	help -	  Enable usage of parens '(' to specify logical order of arguments. +	Enable usage of parens '(' to specify logical order of arguments.  config BUSYBOX_FEATURE_FIND_SIZE  	bool "Enable -size: file size matching"  	default y  	depends on BUSYBOX_FIND -	help -	  Support the 'find -size' option for searching by file size.  config BUSYBOX_FEATURE_FIND_PRUNE  	bool "Enable -prune: exclude subdirectories"  	default y  	depends on BUSYBOX_FIND  	help -	  If the file is a directory, dont descend into it. Useful for -	  exclusion .svn and CVS directories. +	If the file is a directory, don't descend into it. Useful for +	exclusion .svn and CVS directories. + +config BUSYBOX_FEATURE_FIND_QUIT +	bool "Enable -quit: exit" +	default y +	depends on BUSYBOX_FIND +	help +	If this action is reached, 'find' exits.  config BUSYBOX_FEATURE_FIND_DELETE  	bool "Enable -delete: delete files/dirs"  	default y  	depends on BUSYBOX_FIND && BUSYBOX_FEATURE_FIND_DEPTH  	help -	  Support the 'find -delete' option for deleting files and directories. -	  WARNING: This option can do much harm if used wrong. Busybox will not -	  try to protect the user from doing stupid things. Use with care. +	Support the 'find -delete' option for deleting files and directories. +	WARNING: This option can do much harm if used wrong. Busybox will not +	try to protect the user from doing stupid things. Use with care. + +config BUSYBOX_FEATURE_FIND_EMPTY +	bool "Enable -empty: match empty files or directories" +	default y +	depends on BUSYBOX_FIND +	help +	Support the 'find -empty' option to find empty regular files +	or directories.  config BUSYBOX_FEATURE_FIND_PATH  	bool "Enable -path: match pathname with shell pattern"  	default y  	depends on BUSYBOX_FIND  	help -	  The -path option matches whole pathname instead of just filename. +	The -path option matches whole pathname instead of just filename.  config BUSYBOX_FEATURE_FIND_REGEX  	bool "Enable -regex: match pathname with regex"  	default y  	depends on BUSYBOX_FIND  	help -	  The -regex option matches whole pathname against regular expression. +	The -regex option matches whole pathname against regular expression.  config BUSYBOX_FEATURE_FIND_CONTEXT  	bool "Enable -context: security context matching"  	default n  	depends on BUSYBOX_FIND && BUSYBOX_SELINUX  	help -	  Support the 'find -context' option for matching security context. +	Support the 'find -context' option for matching security context.  config BUSYBOX_FEATURE_FIND_LINKS  	bool "Enable -links: link count matching"  	default y  	depends on BUSYBOX_FIND  	help -	  Support the 'find -links' option for matching number of links. - +	Support the 'find -links' option for matching number of links.  config BUSYBOX_GREP -	bool "grep" -	depends on !BUSYBOX_DISABLE_GREP +	bool "grep (8.6 kb)"  	default y  	help -	  grep is used to search files for a specified pattern. +	grep is used to search files for a specified pattern.  config BUSYBOX_EGREP -	bool "egrep" -	depends on !BUSYBOX_DISABLE_GREP +	bool "egrep (7.8 kb)"  	default y  	help -	  Alias to "grep -E" +	Alias to "grep -E".  config BUSYBOX_FGREP -	bool "fgrep" -	depends on !BUSYBOX_DISABLE_GREP +	bool "fgrep (7.8 kb)"  	default y  	help -	  Alias to "grep -F" +	Alias to "grep -F".  config BUSYBOX_FEATURE_GREP_CONTEXT  	bool "Enable before and after context flags (-A, -B and -C)"  	default y -	depends on BUSYBOX_GREP +	depends on BUSYBOX_GREP || BUSYBOX_EGREP || BUSYBOX_FGREP  	help -	  Print the specified number of leading (-B) and/or trailing (-A) -	  context surrounding our matching lines. -	  Print the specified number of context lines (-C). - +	Print the specified number of leading (-B) and/or trailing (-A) +	context surrounding our matching lines. +	Print the specified number of context lines (-C).  config BUSYBOX_XARGS -	bool "xargs" -	default n +	bool "xargs (7.2 kb)" +	default y  	help -	  xargs is used to execute a specified command for -	  every item from standard input. +	xargs is used to execute a specified command for +	every item from standard input.  config BUSYBOX_FEATURE_XARGS_SUPPORT_CONFIRMATION  	bool "Enable -p: prompt and confirmation"  	default y  	depends on BUSYBOX_XARGS  	help -	  Support -p: prompt the user whether to run each command -	  line and read a line from the terminal. +	Support -p: prompt the user whether to run each command +	line and read a line from the terminal.  config BUSYBOX_FEATURE_XARGS_SUPPORT_QUOTES  	bool "Enable single and double quotes and backslash"  	default y  	depends on BUSYBOX_XARGS  	help -	  Support quoting in the input. +	Support quoting in the input.  config BUSYBOX_FEATURE_XARGS_SUPPORT_TERMOPT  	bool "Enable -x: exit if -s or -n is exceeded"  	default y  	depends on BUSYBOX_XARGS  	help -	  Support -x: exit if the command size (see the -s or -n option) -	  is exceeded. +	Support -x: exit if the command size (see the -s or -n option) +	is exceeded.  config BUSYBOX_FEATURE_XARGS_SUPPORT_ZERO_TERM  	bool "Enable -0: NUL-terminated input"  	default y  	depends on BUSYBOX_XARGS  	help -	  Support -0: input items are terminated by a NUL character -	  instead of whitespace, and the quotes and backslash -	  are not special. +	Support -0: input items are terminated by a NUL character +	instead of whitespace, and the quotes and backslash +	are not special.  config BUSYBOX_FEATURE_XARGS_SUPPORT_REPL_STR  	bool "Enable -I STR: string to replace"  	default y  	depends on BUSYBOX_XARGS  	help -	  Support -I STR and -i[STR] options. +	Support -I STR and -i[STR] options. + +config BUSYBOX_FEATURE_XARGS_SUPPORT_PARALLEL +	bool "Enable -P N: processes to run in parallel" +	default y +	depends on BUSYBOX_XARGS + +config BUSYBOX_FEATURE_XARGS_SUPPORT_ARGS_FILE +	bool "Enable -a FILE: use FILE instead of stdin" +	default y +	depends on BUSYBOX_XARGS  endmenu diff --git a/package/busybox/config/init/Config.in b/package/busybox/config/init/Config.in index 9e17c790c..e27e0ea86 100644 --- a/package/busybox/config/init/Config.in +++ b/package/busybox/config/init/Config.in @@ -1,122 +1,130 @@  # DO NOT EDIT. This file is generated from Config.src  #  # For a description of the syntax of this configuration file, -# see scripts/kbuild/config-language.txt. +# see docs/Kconfig-language.txt.  #  menu "Init Utilities"  config BUSYBOX_BOOTCHARTD -	bool "bootchartd" -	default n +	bool "bootchartd (10 kb)" +	default y  	help -	  bootchartd is commonly used to profile the boot process -	  for the purpose of speeding it up. In this case, it is started -	  by the kernel as the init process. This is configured by adding -	  the init=/sbin/bootchartd option to the kernel command line. +	bootchartd is commonly used to profile the boot process +	for the purpose of speeding it up. In this case, it is started +	by the kernel as the init process. This is configured by adding +	the init=/sbin/bootchartd option to the kernel command line. -	  It can also be used to monitor the resource usage of a specific -	  application or the running system in general. In this case, -	  bootchartd is started interactively by running bootchartd start -	  and stopped using bootchartd stop. +	It can also be used to monitor the resource usage of a specific +	application or the running system in general. In this case, +	bootchartd is started interactively by running bootchartd start +	and stopped using bootchartd stop.  config BUSYBOX_FEATURE_BOOTCHARTD_BLOATED_HEADER  	bool "Compatible, bloated header"  	default y  	depends on BUSYBOX_BOOTCHARTD  	help -	  Create extended header file compatible with "big" bootchartd. -	  "Big" bootchartd is a shell script and it dumps some -	  "convenient" info int the header, such as: -	    title = Boot chart for `hostname` (`date`) -	    system.uname = `uname -srvm` -	    system.release = `cat /etc/DISTRO-release` -	    system.cpu = `grep '^model name' /proc/cpuinfo | head -1` ($cpucount) -	    system.kernel.options = `cat /proc/cmdline` -	  This data is not mandatory for bootchart graph generation, -	  and is considered bloat. Nevertheless, this option -	  makes bootchartd applet to dump a subset of it. +	Create extended header file compatible with "big" bootchartd. +	"Big" bootchartd is a shell script and it dumps some +	"convenient" info into the header, such as: +		title = Boot chart for `hostname` (`date`) +		system.uname = `uname -srvm` +		system.release = `cat /etc/DISTRO-release` +		system.cpu = `grep '^model name' /proc/cpuinfo | head -1` ($cpucount) +		system.kernel.options = `cat /proc/cmdline` +	This data is not mandatory for bootchart graph generation, +	and is considered bloat. Nevertheless, this option +	makes bootchartd applet to dump a subset of it.  config BUSYBOX_FEATURE_BOOTCHARTD_CONFIG_FILE  	bool "Support bootchartd.conf"  	default y  	depends on BUSYBOX_BOOTCHARTD  	help -	  Enable reading and parsing of $PWD/bootchartd.conf -	  and /etc/bootchartd.conf files. - +	Enable reading and parsing of $PWD/bootchartd.conf +	and /etc/bootchartd.conf files.  config BUSYBOX_HALT -	bool "halt" +	bool "halt (4 kb)"  	default y  	help -	  Stop all processes and either halt, reboot, or power off the system. +	Stop all processes and halt the system.  config BUSYBOX_POWEROFF -	bool "poweroff" +	bool "poweroff (4 kb)"  	default y  	help -	  Stop all processes and power off the system. +	Stop all processes and power off the system.  config BUSYBOX_REBOOT -	bool "reboot" +	bool "reboot (4 kb)" +	default y +	help +	Stop all processes and reboot the system. + +config BUSYBOX_FEATURE_WAIT_FOR_INIT +	bool "Before signaling init, make sure it is ready for it"  	default y +	depends on BUSYBOX_HALT || BUSYBOX_POWEROFF || BUSYBOX_REBOOT  	help -	  Stop all processes and reboot the system. +	In rare cases, poweroff may be commanded by firmware to OS +	even before init process exists. On Linux, this spawns +	"/sbin/poweroff" very early. This option adds code +	which checks that init is ready to receive poweroff +	commands. Code size increase of ~80 bytes.  config BUSYBOX_FEATURE_CALL_TELINIT  	bool "Call telinit on shutdown and reboot" -	default n -	depends on BUSYBOX_HALT && !BUSYBOX_INIT +	default y +	depends on (BUSYBOX_HALT || BUSYBOX_POWEROFF || BUSYBOX_REBOOT) && !BUSYBOX_INIT  	help -	  Call an external program (normally telinit) to facilitate -	  a switch to a proper runlevel. +	Call an external program (normally telinit) to facilitate +	a switch to a proper runlevel. -	  This option is only available if you selected halt and friends, -	  but did not select init. +	This option is only available if you selected halt and friends, +	but did not select init.  config BUSYBOX_TELINIT_PATH  	string "Path to telinit executable"  	default "/sbin/telinit"  	depends on BUSYBOX_FEATURE_CALL_TELINIT  	help -	  When busybox halt and friends have to call external telinit -	  to facilitate proper shutdown, this path is to be used when -	  locating telinit executable. - +	When busybox halt and friends have to call external telinit +	to facilitate proper shutdown, this path is to be used when +	locating telinit executable.  config BUSYBOX_INIT -	bool "init" +	bool "init (10 kb)"  	default y -	depends on !ADK_PACKAGE_SIMPLEINIT  	select BUSYBOX_FEATURE_SYSLOG  	help -	  init is the first program run when the system boots. +	init is the first program run when the system boots.  config BUSYBOX_LINUXRC -	bool "Support running init from within an initrd (not initramfs)" -	default n +	bool "linuxrc: support running init from initrd (not initramfs)" +	default y  	select BUSYBOX_FEATURE_SYSLOG  	help -	  Legacy support for running init under the old-style initrd. Allows -	  the name linuxrc to act as init, and it doesn't assume init is PID 1. +	Legacy support for running init under the old-style initrd. Allows +	the name linuxrc to act as init, and it doesn't assume init is PID 1. -	  This does not apply to initramfs, which runs /init as PID 1 and -	  requires no special support. +	This does not apply to initramfs, which runs /init as PID 1 and +	requires no special support.  config BUSYBOX_FEATURE_USE_INITTAB  	bool "Support reading an inittab file"  	default y -	depends on BUSYBOX_INIT +	depends on BUSYBOX_INIT || BUSYBOX_LINUXRC  	help -	  Allow init to read an inittab file when the system boot. +	Allow init to read an inittab file when the system boot.  config BUSYBOX_FEATURE_KILL_REMOVED  	bool "Support killing processes that have been removed from inittab"  	default n  	depends on BUSYBOX_FEATURE_USE_INITTAB  	help -	  When respawn entries are removed from inittab and a SIGHUP is -	  sent to init, this option will make init kill the processes -	  that have been removed. +	When respawn entries are removed from inittab and a SIGHUP is +	sent to init, this option will make init kill the processes +	that have been removed.  config BUSYBOX_FEATURE_KILL_DELAY  	int "How long to wait between TERM and KILL (0 - send TERM only)" if FEATURE_KILL_REMOVED @@ -124,92 +132,75 @@ config BUSYBOX_FEATURE_KILL_DELAY  	default 0  	depends on BUSYBOX_FEATURE_KILL_REMOVED  	help -	  With nonzero setting, init sends TERM, forks, child waits N -	  seconds, sends KILL and exits. Setting it too high is unwise -	  (child will hang around for too long and could actually kill -	  the wrong process!) +	With nonzero setting, init sends TERM, forks, child waits N +	seconds, sends KILL and exits. Setting it too high is unwise +	(child will hang around for too long and could actually kill +	the wrong process!)  config BUSYBOX_FEATURE_INIT_SCTTY  	bool "Run commands with leading dash with controlling tty"  	default y -	depends on BUSYBOX_INIT -	help -	  If this option is enabled, init will try to give a controlling -	  tty to any command which has leading hyphen (often it's "-/bin/sh"). -	  More precisely, init will do "ioctl(STDIN_FILENO, TIOCSCTTY, 0)". -	  If device attached to STDIN_FILENO can be a ctty but is not yet -	  a ctty for other session, it will become this process' ctty. -	  This is not the traditional init behavour, but is often what you want -	  in an embedded system where the console is only accessed during -	  development or for maintenance. -	  NB: using cttyhack applet may work better. +	depends on BUSYBOX_INIT || BUSYBOX_LINUXRC +	help +	If this option is enabled, init will try to give a controlling +	tty to any command which has leading hyphen (often it's "-/bin/sh"). +	More precisely, init will do "ioctl(STDIN_FILENO, TIOCSCTTY, 0)". +	If device attached to STDIN_FILENO can be a ctty but is not yet +	a ctty for other session, it will become this process' ctty. +	This is not the traditional init behavour, but is often what you want +	in an embedded system where the console is only accessed during +	development or for maintenance. +	NB: using cttyhack applet may work better.  config BUSYBOX_FEATURE_INIT_SYSLOG  	bool "Enable init to write to syslog"  	default y -	depends on BUSYBOX_INIT +	depends on BUSYBOX_INIT || BUSYBOX_LINUXRC +	help +	If selected, some init messages are sent to syslog. +	Otherwise, they are sent to VT #5 if linux virtual tty is detected +	(if not, no separate logging is done). -config BUSYBOX_FEATURE_EXTRA_QUIET -	bool "Be _extra_ quiet on boot" +config BUSYBOX_FEATURE_INIT_QUIET +	bool "Be quiet on boot (no 'init started:' message)"  	default y -	depends on BUSYBOX_INIT -	help -	  Prevent init from logging some messages to the console during boot. +	depends on BUSYBOX_INIT || BUSYBOX_LINUXRC  config BUSYBOX_FEATURE_INIT_COREDUMPS  	bool "Support dumping core for child processes (debugging only)" -	default n -	depends on BUSYBOX_INIT +	default n	# not Y because this is a debug option +	depends on BUSYBOX_INIT || BUSYBOX_LINUXRC  	help -	  If this option is enabled and the file /.init_enable_core -	  exists, then init will call setrlimit() to allow unlimited -	  core file sizes. If this option is disabled, processes -	  will not generate any core files. +	If this option is enabled and the file /.init_enable_core +	exists, then init will call setrlimit() to allow unlimited +	core file sizes. If this option is disabled, processes +	will not generate any core files.  config BUSYBOX_INIT_TERMINAL_TYPE  	string "Initial terminal type"  	default "linux" -	depends on BUSYBOX_INIT +	depends on BUSYBOX_INIT || BUSYBOX_LINUXRC  	help -	  This is the initial value set by init for the TERM environment -	  variable. This variable is used by programs which make use of -	  extended terminal capabilities. +	This is the initial value set by init for the TERM environment +	variable. This variable is used by programs which make use of +	extended terminal capabilities. -	  Note that on Linux, init attempts to detect serial terminal and -	  sets TERM to "vt102" if one is found. +	Note that on Linux, init attempts to detect serial terminal and +	sets TERM to "vt102" if one is found.  config BUSYBOX_FEATURE_INIT_MODIFY_CMDLINE -	bool "Modify the command-line to \"init\"" -	default n -	depends on BUSYBOX_INIT || BUSYBOX_LINUXRC -	help -	  When launched as PID 1 and after parsing its arguments, init -	  wipes all the arguments but argv[0] and rewrites argv[0] to -	  contain only "init", so that its command-line appears solely as -	  "init" in tools such as ps. -	  If this option is set to Y, init will keep its original behavior, -	  otherwise, all the arguments including argv[0] will be preserved, -	  be they parsed or ignored by init. -	  The original command-line used to launch init can then be -	  retrieved in /proc/1/cmdline on Linux, for example. - -config BUSYBOX_MESG -	bool "mesg" -	default n -	help -	  Mesg controls access to your terminal by others. It is typically -	  used to allow or disallow other users to write to your terminal - -config BUSYBOX_FEATURE_MESG_ENABLE_ONLY_GROUP -	bool "Enable writing to tty only by group, not by everybody" +	bool "Clear init's command line"  	default y -	depends on BUSYBOX_MESG +	depends on BUSYBOX_INIT || BUSYBOX_LINUXRC  	help -	  Usually, ttys are owned by group "tty", and "write" tool is -	  setgid to this group. This way, "mesg y" only needs to enable -	  "write by owning group" bit in tty mode. - -	  If you set this option to N, "mesg y" will enable writing -	  by anybody at all. This is not recommended. +	When launched as PID 1 and after parsing its arguments, init +	wipes all the arguments but argv[0] and rewrites argv[0] to +	contain only "init", so that its command line appears solely as +	"init" in tools such as ps. +	If this option is set to Y, init will keep its original behavior, +	otherwise, all the arguments including argv[0] will be preserved, +	be they parsed or ignored by init. +	The original command-line used to launch init can then be +	retrieved in /proc/1/cmdline on Linux, for example.  endmenu diff --git a/package/busybox/config/klibc-utils/Config.in b/package/busybox/config/klibc-utils/Config.in new file mode 100644 index 000000000..f2ff057fb --- /dev/null +++ b/package/busybox/config/klibc-utils/Config.in @@ -0,0 +1,42 @@ +# DO NOT EDIT. This file is generated from Config.src +# +# For a description of the syntax of this configuration file, +# see docs/Kconfig-language.txt. +# + +menu "klibc-utils" + +config BUSYBOX_MINIPS +	bool "minips (11 kb)" +	default n  # for god's sake, just use "ps" name in your scripts +	help +	Alias to "ps". +config BUSYBOX_NUKE +	bool "nuke (2.9 kb)" +	default n  # off by default: too "accidentally destructive" +	help +	Alias to "rm -rf". +config BUSYBOX_RESUME +	bool "resume (3.2 kb)" +	default y +	help +	Resume from saved "suspend-to-disk" image +config BUSYBOX_RUN_INIT +	bool "run-init (7.7 kb)" +	default y +	help +	The run-init utility is used from initramfs to select a new +	root device. Under initramfs, you have to use this instead of +	pivot_root. + +	Booting with initramfs extracts a gzipped cpio archive into rootfs +	(which is a variant of ramfs/tmpfs). Because rootfs can't be moved +	or unmounted, pivot_root will not work from initramfs. Instead, +	run-init deletes everything out of rootfs (including itself), +	does a mount --move that overmounts rootfs with the new root, and +	then execs the specified init program. + +	util-linux has a similar tool, switch-root. +	run-init differs by also having a "-d CAPS_TO_DROP" option. + +endmenu diff --git a/package/busybox/config/libbb/Config.in b/package/busybox/config/libbb/Config.in index 6aff24699..66c135ec6 100644 --- a/package/busybox/config/libbb/Config.in +++ b/package/busybox/config/libbb/Config.in @@ -1,113 +1,221 @@  # DO NOT EDIT. This file is generated from Config.src  #  # For a description of the syntax of this configuration file, -# see scripts/kbuild/config-language.txt. +# see docs/Kconfig-language.txt.  # -menu "Busybox Library Tuning" +comment "Library Tuning"  config BUSYBOX_FEATURE_USE_BSS_TAIL  	bool "Use the end of BSS page"  	default n  	help -	  Attempt to reclaim a small unused part of BSS. +	Attempt to reclaim a small unused part of BSS. + +	Executables have the following parts: +	= read-only executable code and constants, also known as "text" +	= read-write data +	= non-initialized (zeroed on demand) data, also known as "bss" + +	At link time, "text" is padded to a full page. At runtime, all "text" +	pages are mapped RO and executable. + +	"Data" starts on the next page boundary, but is not padded +	to a full page at the end. "Bss" starts wherever "data" ends. +	At runtime, "data" pages are mapped RW and they are file-backed +	(this includes a small portion of "bss" which may live in the last +	partial page of "data"). +	Pages which are fully in "bss" are mapped to anonymous memory. + +	"Bss" end is usually not page-aligned. There is an unused space +	in the last page. Linker marks its start with the "_end" symbol. + +	This option will attempt to use that space for bb_common_bufsiz1[] +	array. If it fits after _end, it will be used, and COMMON_BUFSIZE +	will be enlarged from its guaranteed minimum size of 1 kbyte. +	This may require recompilation a second time, since value of _end +	is known only after final link. + +	If you are getting a build error like this: +		appletlib.c:(.text.main+0xd): undefined reference to '_end' +	disable this option. +config BUSYBOX_FLOAT_DURATION +	bool "Enable fractional duration arguments" +	default y +	help +	Allow sleep N.NNN, top -d N.NNN etc. +config BUSYBOX_FEATURE_RTMINMAX +	bool "Support RTMIN[+n] and RTMAX[-n] signal names" +	default y +	help +	Support RTMIN[+n] and RTMAX[-n] signal names +	in kill, killall etc. This costs ~250 bytes. -	  Executables have the following parts: -	  = read-only executable code and constants, also known as "text" -	  = read-write data -	  = non-initialized (zeroed on demand) data, also known as "bss" +config BUSYBOX_FEATURE_RTMINMAX_USE_LIBC_DEFINITIONS +	bool "Use the definitions of SIGRTMIN/SIGRTMAX provided by libc" +	default y +	depends on BUSYBOX_FEATURE_RTMINMAX +	help +	Some C libraries reserve a few real-time signals for internal +	use, and adjust the values of SIGRTMIN/SIGRTMAX seen by +	applications accordingly. Saying yes here means that a signal +	name RTMIN+n will be interpreted according to the libc definition +	of SIGRTMIN, and not the raw definition provided by the kernel. +	This behavior matches "kill -l RTMIN+n" from bash. + +choice +	prompt "Buffer allocation policy" +	default BUSYBOX_FEATURE_BUFFERS_USE_MALLOC +	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 versions 0.48 and earlier. -	  At link time, "text" is padded to a full page. At runtime, all "text" -	  pages are mapped RO and executable. -	  "Data" starts on the next page boundary, but is not padded -	  to a full page at the end. "Bss" starts wherever "data" ends. -	  At runtime, "data" pages are mapped RW and they are file-backed -	  (this includes a small portion of "bss" which may live in the last -	  partial page of "data"). -	  Pages which are fully in "bss" are mapped to anonymous memory. +config BUSYBOX_FEATURE_BUFFERS_USE_MALLOC +	bool "Allocate with Malloc" -	  "Bss" end is usually not page-aligned. There is an unused space -	  in the last page. Linker marks its start with the "_end" symbol. +config BUSYBOX_FEATURE_BUFFERS_GO_ON_STACK +	bool "Allocate on the Stack" -	  This option will attempt to use that space for bb_common_bufsiz1[] -	  array. If it fits after _end, it will be used, and COMMON_BUFSIZE -	  will be enlarged from its guaranteed minimum size of 1 kbyte. -	  This may require recompilation a second time, since value of _end -	  is known only after final link. +config BUSYBOX_FEATURE_BUFFERS_GO_IN_BSS +	bool "Allocate in the .bss section" -	  If you are getting a build error like this: -	        appletlib.c:(.text.main+0xd): undefined reference to '_end' -	  disable this option. - -config BUSYBOX_FEATURE_RTMINMAX -	bool "Support RTMIN[+n] and RTMAX[-n] signal names" -	default y -	help -	  Support RTMIN[+n] and RTMAX[-n] signal names -	  in kill, killall etc. This costs ~250 bytes. +endchoice  config BUSYBOX_PASSWORD_MINLEN  	int "Minimum password length"  	default 6  	range 5 32  	help -	  Minimum allowable password length. +	Minimum allowable password length.  config BUSYBOX_MD5_SMALL  	int "MD5: Trade bytes for speed (0:fast, 3:slow)" -	default 1 +	default 1  # all "fast or small" options default to small +	range 0 3 +	help +	Trade binary size versus speed for the md5 algorithm. +	Approximate values running uClibc and hashing +	linux-2.4.4.tar.bz2 were: +	value           user times (sec)  text size (386) +	0 (fastest)     1.1               6144 +	1               1.4               5392 +	2               3.0               5088 +	3 (smallest)    5.1               4912 + +config BUSYBOX_SHA1_SMALL +	int "SHA1: Trade bytes for speed (0:fast, 3:slow)" +	default 3  # all "fast or small" options default to small  	range 0 3  	help -	  Trade binary size versus speed for the md5sum algorithm. -	  Approximate values running uClibc and hashing -	  linux-2.4.4.tar.bz2 were: -	                    user times (sec)  text size (386) -	  0 (fastest)         1.1                6144 -	  1                   1.4                5392 -	  2                   3.0                5088 -	  3 (smallest)        5.1                4912 +	Trade binary size versus speed for the sha1 algorithm. +	With FEATURE_COPYBUF_KB=64: +	                throughput MB/s   size of sha1_process_block64 +	value           486  x86-64       486   x86-64 +	0               440  485          3481  3502 +	1               265  265           641   696 +	2,3             220  210           342   364 + +config BUSYBOX_SHA1_HWACCEL +	bool "SHA1: Use hardware accelerated instructions if possible" +	default y +	help +	On x86, this adds ~590 bytes of code. Throughput +	is about twice as fast as fully-unrolled generic code. + +config BUSYBOX_SHA256_HWACCEL +	bool "SHA256: Use hardware accelerated instructions if possible" +	default y +	help +	On x86, this adds ~1k bytes of code.  config BUSYBOX_SHA3_SMALL -       int "SHA3: Trade bytes for speed (0:fast, 1:slow)" -       default 1 -       range 0 1 -       help -         Trade binary size versus speed for the sha3sum algorithm. -         SHA3_SMALL=0 compared to SHA3_SMALL=1 (approximate): -         64-bit x86: +270 bytes of code, 45% faster -         32-bit x86: +450 bytes of code, 75% faster - -config BUSYBOX_FEATURE_FAST_TOP -	bool "Faster /proc scanning code (+100 bytes)" +	int "SHA3: Trade bytes for speed (0:fast, 1:slow)" +	default 1  # all "fast or small" options default to small +	range 0 1 +	help +	Trade binary size versus speed for the sha3 algorithm. +	SHA3_SMALL=0 compared to SHA3_SMALL=1 (approximate): +	64-bit x86: +270 bytes of code, 45% faster +	32-bit x86: +450 bytes of code, 75% faster + +config BUSYBOX_FEATURE_NON_POSIX_CP +	bool "Non-POSIX, but safer, copying to special nodes"  	default y  	help -	  This option makes top (and ps) ~20% faster (or 20% less CPU hungry), -	  but code size is slightly bigger. +	With this option, "cp file symlink" will delete symlink +	and create a regular file. This does not conform to POSIX, +	but prevents a symlink attack. +	Similarly, "cp file device" will not send file's data +	to the device. (To do that, use "cat file >device") -config BUSYBOX_FEATURE_ETC_NETWORKS -	bool "Support for /etc/networks" +config BUSYBOX_FEATURE_VERBOSE_CP_MESSAGE +	bool "Give more precise messages when copy fails (cp, mv etc)"  	default n  	help -	  Enable support for network names in /etc/networks. This is -	  a rarely used feature which allows you to use names -	  instead of IP/mask pairs in route command. +	Error messages with this feature enabled: + +	$ cp file /does_not_exist/file +	cp: cannot create '/does_not_exist/file': Path does not exist +	$ cp file /vmlinuz/file +	cp: cannot stat '/vmlinuz/file': Path has non-directory component + +	If this feature is not enabled, they will be, respectively: + +	cp: cannot create '/does_not_exist/file': No such file or directory +	cp: cannot stat '/vmlinuz/file': Not a directory + +	This will cost you ~60 bytes. + +config BUSYBOX_FEATURE_USE_SENDFILE +	bool "Use sendfile system call" +	default y +	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_FEATURE_COPYBUF_KB +	int "Copy buffer size, in kilobytes" +	range 1 1024 +	default 4 +	help +	Size of buffer used by cp, mv, install, wget etc. +	Buffers which are 4 kb or less will be allocated on stack. +	Bigger buffers will be allocated with mmap, with fallback to 4 kb +	stack buffer if mmap fails. + +config BUSYBOX_MONOTONIC_SYSCALL +	bool "Use clock_gettime(CLOCK_MONOTONIC) syscall" +	default y +	help +	Use clock_gettime(CLOCK_MONOTONIC) syscall for measuring +	time intervals (time, ping, traceroute etc need this). +	Probably requires Linux 2.6+. If not selected, gettimeofday +	will be used instead (which gives wrong results if date/time +	is reset). -config BUSYBOX_FEATURE_USE_TERMIOS -	bool "Use termios to manipulate the screen" +config BUSYBOX_IOCTL_HEX2STR_ERROR +	bool "Use ioctl names rather than hex values in error messages"  	default y -	depends on BUSYBOX_MORE || BUSYBOX_TOP || BUSYBOX_POWERTOP  	help -	  This option allows utilities such as 'more' and 'top' to determine -	  the size of the screen. If you leave this disabled, your utilities -	  that display things on the screen will be especially primitive and -	  will be unable to determine the current screen size, and will be -	  unable to move the cursor. +	Use ioctl names rather than hex values in error messages +	(e.g. VT_DISALLOCATE rather than 0x5608). If disabled this +	saves about 1400 bytes.  config BUSYBOX_FEATURE_EDITING  	bool "Command line editing"  	default y  	help -	  Enable line editing (mainly for shell command line). +	Enable line editing (mainly for shell command line).  config BUSYBOX_FEATURE_EDITING_MAX_LEN  	int "Maximum length of input" @@ -115,17 +223,17 @@ config BUSYBOX_FEATURE_EDITING_MAX_LEN  	default 1024  	depends on BUSYBOX_FEATURE_EDITING  	help -	  Line editing code uses on-stack buffers for storage. -	  You may want to decrease this parameter if your target machine -	  benefits from smaller stack usage. +	Line editing code uses on-stack buffers for storage. +	You may want to decrease this parameter if your target machine +	benefits from smaller stack usage.  config BUSYBOX_FEATURE_EDITING_VI  	bool "vi-style line editing commands"  	default n  	depends on BUSYBOX_FEATURE_EDITING  	help -	  Enable vi-style line editing. In shells, this mode can be -	  turned on and off with "set -o vi" and "set +o vi". +	Enable vi-style line editing. In shells, this mode can be +	turned on and off with "set -o vi" and "set +o vi".  config BUSYBOX_FEATURE_EDITING_HISTORY  	int "History size" @@ -134,141 +242,208 @@ config BUSYBOX_FEATURE_EDITING_HISTORY  	default 255  	depends on BUSYBOX_FEATURE_EDITING  	help -	  Specify command history size (0 - disable). +	Specify command history size (0 - disable).  config BUSYBOX_FEATURE_EDITING_SAVEHISTORY  	bool "History saving"  	default y  	depends on BUSYBOX_FEATURE_EDITING  	help -	  Enable history saving in shells. +	Enable history saving in shells.  config BUSYBOX_FEATURE_EDITING_SAVE_ON_EXIT  	bool "Save history on shell exit, not after every command"  	default n  	depends on BUSYBOX_FEATURE_EDITING_SAVEHISTORY  	help -	  Save history on shell exit, not after every command. +	Save history on shell exit, not after every command.  config BUSYBOX_FEATURE_REVERSE_SEARCH  	bool "Reverse history search"  	default y -	depends on BUSYBOX_FEATURE_EDITING_SAVEHISTORY +	depends on BUSYBOX_FEATURE_EDITING  	help -	  Enable readline-like Ctrl-R combination for reverse history search. -	  Increases code by about 0.5k. +	Enable readline-like Ctrl-R combination for reverse history search. +	Increases code by about 0.5k.  config BUSYBOX_FEATURE_TAB_COMPLETION  	bool "Tab completion"  	default y  	depends on BUSYBOX_FEATURE_EDITING -	help -	  Enable tab completion.  config BUSYBOX_FEATURE_USERNAME_COMPLETION  	bool "Username completion" -	default n +	default y  	depends on BUSYBOX_FEATURE_TAB_COMPLETION -	help -	  Enable username completion.  config BUSYBOX_FEATURE_EDITING_FANCY_PROMPT  	bool "Fancy shell prompts"  	default y  	depends on BUSYBOX_FEATURE_EDITING  	help -	  Setting this option allows for prompts to use things like \w and -	  \$ and escape codes. +	Setting this option allows for prompts to use things like \w and +	\$ and escape codes. + +config BUSYBOX_FEATURE_EDITING_WINCH +	bool "Enable automatic tracking of window size changes" +	default y +	depends on BUSYBOX_FEATURE_EDITING  config BUSYBOX_FEATURE_EDITING_ASK_TERMINAL  	bool "Query cursor position from terminal"  	default n  	depends on BUSYBOX_FEATURE_EDITING  	help -	  Allow usage of "ESC [ 6 n" sequence. Terminal answers back with -	  current cursor position. This information is used to make line -	  editing more robust in some cases. -	  If you are not sure whether your terminals respond to this code -	  correctly, or want to save on code size (about 400 bytes), -	  then do not turn this option on. +	Allow usage of "ESC [ 6 n" sequence. Terminal answers back with +	current cursor position. This information is used to make line +	editing more robust in some cases. +	If you are not sure whether your terminals respond to this code +	correctly, or want to save on code size (about 400 bytes), +	then do not turn this option on. + +config BUSYBOX_LOCALE_SUPPORT +	bool "Enable locale support (system needs locale for this to work)" +	default n +	help +	Enable this if your system has locale support and you would like +	busybox to support locale settings. -config BUSYBOX_FEATURE_NON_POSIX_CP -	bool "Non-POSIX, but safer, copying to special nodes" +config BUSYBOX_UNICODE_SUPPORT +	bool "Support Unicode"  	default y  	help -	  With this option, "cp file symlink" will delete symlink -	  and create a regular file. This does not conform to POSIX, -	  but prevents a symlink attack. -	  Similarly, "cp file device" will not send file's data -	  to the device. (To do that, use "cat file >device") +	This makes various applets aware that one byte is not +	one character on screen. -config BUSYBOX_FEATURE_VERBOSE_CP_MESSAGE -	bool "Give more precise messages when copy fails (cp, mv etc)" -	default n -	help -	  Error messages with this feature enabled: -	    $ cp file /does_not_exist/file -	    cp: cannot create '/does_not_exist/file': Path does not exist -	    $ cp file /vmlinuz/file -	    cp: cannot stat '/vmlinuz/file': Path has non-directory component -	  If this feature is not enabled, they will be, respectively: -	    cp: cannot create '/does_not_exist/file': No such file or directory -	    cp: cannot stat '/vmlinuz/file': Not a directory -	  This will cost you ~60 bytes. +	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_FEATURE_COPYBUF_KB -	int "Copy buffer size, in kilobytes" -	range 1 1024 -	default 4 +config BUSYBOX_UNICODE_USING_LOCALE +	bool "Use libc routines for Unicode (else uses internal ones)" +	default n +	depends on BUSYBOX_UNICODE_SUPPORT && BUSYBOX_LOCALE_SUPPORT  	help -	  Size of buffer used by cp, mv, install, wget etc. -	  Buffers which are 4 kb or less will be allocated on stack. -	  Bigger buffers will be allocated with mmap, with fallback to 4 kb -	  stack buffer if mmap fails. +	With this option on, Unicode support is implemented using libc +	routines. Otherwise, internal implementation is used. +	Internal implementation is smaller. -config BUSYBOX_FEATURE_SKIP_ROOTFS -	bool "Skip rootfs in mount table" -	default y +config BUSYBOX_FEATURE_CHECK_UNICODE_IN_ENV +	bool "Check $LC_ALL, $LC_CTYPE and $LANG environment variables" +	default n +	depends on BUSYBOX_UNICODE_SUPPORT && !BUSYBOX_UNICODE_USING_LOCALE  	help -	  Ignore rootfs entry in mount table. +	With this option on, Unicode support is activated +	only if locale-related variables have the value of the form +	"xxxx.utf8" -	  In Linux, kernel has a special filesystem, rootfs, which is initially -	  mounted on /. It contains initramfs data, if kernel is configured -	  to have one. Usually, another file system is mounted over / early -	  in boot process, and therefore most tools which manipulate -	  mount table, such as df, will skip rootfs entry. +	Otherwise, Unicode support will be always enabled and active. -	  However, some systems do not mount anything on /. -	  If you need to configure busybox for one of these systems, -	  you may find it useful to turn this option off to make df show -	  initramfs statistics. - -	  Otherwise, choose Y. +config BUSYBOX_SUBST_WCHAR +	int "Character code to substitute unprintable characters with" +	depends on BUSYBOX_UNICODE_SUPPORT +	default 63 +	help +	Typical values are 63 for '?' (works with any output device), +	30 for ASCII substitute control code, +	65533 (0xfffd) for Unicode replacement character. + +config BUSYBOX_LAST_SUPPORTED_WCHAR +	int "Range of supported Unicode characters" +	depends on BUSYBOX_UNICODE_SUPPORT +	default 767 +	help +	Any character with Unicode value bigger than this is assumed +	to be non-printable on output device. Many applets replace +	such 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_UNICODE_COMBINING_WCHARS +	bool "Allow zero-width Unicode characters on output" +	default n +	depends on BUSYBOX_UNICODE_SUPPORT +	help +	With this option off, any Unicode char with width of 0 +	is substituted on output. -config BUSYBOX_MONOTONIC_SYSCALL -	bool "Use clock_gettime(CLOCK_MONOTONIC) syscall" -	default y -	select BUSYBOX_PLATFORM_LINUX +config BUSYBOX_UNICODE_WIDE_WCHARS +	bool "Allow wide Unicode characters on output" +	default n +	depends on BUSYBOX_UNICODE_SUPPORT  	help -	  Use clock_gettime(CLOCK_MONOTONIC) syscall for measuring -	  time intervals (time, ping, traceroute etc need this). -	  Probably requires Linux 2.6+. If not selected, gettimeofday -	  will be used instead (which gives wrong results if date/time -	  is reset). +	With this option off, any Unicode char with width > 1 +	is substituted on output. -config BUSYBOX_IOCTL_HEX2STR_ERROR -	bool "Use ioctl names rather than hex values in error messages" -	default y +config BUSYBOX_UNICODE_BIDI_SUPPORT +	bool "Bidirectional character-aware line input" +	default n +	depends on BUSYBOX_UNICODE_SUPPORT && !BUSYBOX_UNICODE_USING_LOCALE  	help -	  Use ioctl names rather than hex values in error messages -	  (e.g. VT_DISALLOCATE rather than 0x5608). If disabled this -	  saves about 1400 bytes. +	With this option on, right-to-left Unicode characters +	are treated differently on input (e.g. cursor movement). -config BUSYBOX_FEATURE_HWIB -	bool "Support infiniband HW" +config BUSYBOX_UNICODE_NEUTRAL_TABLE +	bool "In bidi input, support non-ASCII neutral chars too"  	default n +	depends on BUSYBOX_UNICODE_BIDI_SUPPORT  	help -	  Support for printing infiniband addresses in -	  network applets. +	In most cases it's enough to treat only ASCII non-letters +	(i.e. punctuation, numbers and space) as characters +	with neutral directionality. +	With this option on, more extensive (and bigger) table +	of neutral chars will be used. + +config BUSYBOX_UNICODE_PRESERVE_BROKEN +	bool "Make it possible to enter sequences of chars which are not Unicode" +	default n +	depends on BUSYBOX_UNICODE_SUPPORT +	help +	With this option on, 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 '?'. + +choice +	prompt "Use LOOP_CONFIGURE for losetup and loop mounts" +	default BUSYBOX_TRY_LOOP_CONFIGURE +	help +	LOOP_CONFIGURE is added to Linux 5.8 +	https://lwn.net/Articles/820408/ +	This allows userspace to completely setup a loop device with a single +	ioctl, removing the in-between state where the device can be partially +	configured - eg the loop device has a backing file associated with it, +	but is reading from the wrong offset. + +config BUSYBOX_LOOP_CONFIGURE +	bool "use LOOP_CONFIGURE, needs kernel >= 5.8" + +config BUSYBOX_NO_LOOP_CONFIGURE +	bool "use LOOP_SET_FD + LOOP_SET_STATUS" + +config BUSYBOX_TRY_LOOP_CONFIGURE +	bool "try LOOP_CONFIGURE, fall back to LOOP_SET_FD + LOOP_SET_STATUS" -endmenu +endchoice diff --git a/package/busybox/config/loginutils/Config.in b/package/busybox/config/loginutils/Config.in index 3e435a25c..5f12bbbee 100644 --- a/package/busybox/config/loginutils/Config.in +++ b/package/busybox/config/loginutils/Config.in @@ -1,358 +1,330 @@  # DO NOT EDIT. This file is generated from Config.src  #  # For a description of the syntax of this configuration file, -# see scripts/kbuild/config-language.txt. +# see docs/Kconfig-language.txt.  #  menu "Login/Password Management Utilities" -config BUSYBOX_ADD_SHELL -       bool "add-shell" -       default y if DESKTOP -       help -         Add shells to /etc/shells. - -config BUSYBOX_REMOVE_SHELL -       bool "remove-shell" -       default y if DESKTOP -       help -         Remove shells from /etc/shells. -  config BUSYBOX_FEATURE_SHADOWPASSWDS -	bool "Support for shadow passwords" +	bool "Support shadow passwords"  	default y  	help -	  Build support for shadow password in /etc/shadow. This file is only -	  readable by root and thus the encrypted passwords are no longer -	  publicly readable. +	Build support for shadow password in /etc/shadow. This file is only +	readable by root and thus the encrypted passwords are no longer +	publicly readable.  config BUSYBOX_USE_BB_PWD_GRP  	bool "Use internal password and group functions rather than system functions" -	default n +	default y  	help -	  If you leave this disabled, busybox will use the system's password -	  and group functions. And if you are using the GNU C library -	  (glibc), you will then need to install the /etc/nsswitch.conf -	  configuration file and the required /lib/libnss_* libraries in -	  order for the password and group functions to work. This generally -	  makes your embedded system quite a bit larger. +	If you leave this disabled, busybox will use the system's password +	and group functions. And if you are using the GNU C library +	(glibc), you will then need to install the /etc/nsswitch.conf +	configuration file and the required /lib/libnss_* libraries in +	order for the password and group functions to work. This generally +	makes your embedded system quite a bit larger. -	  Enabling this option will cause busybox to directly access the -	  system's /etc/password, /etc/group files (and your system will be -	  smaller, and I will get fewer emails asking about how glibc NSS -	  works). When this option is enabled, you will not be able to use -	  PAM to access remote LDAP password servers and whatnot. And if you -	  want hostname resolution to work with glibc, you still need the -	  /lib/libnss_* libraries. +	Enabling this option will cause busybox to directly access the +	system's /etc/password, /etc/group files (and your system will be +	smaller, and I will get fewer emails asking about how glibc NSS +	works). When this option is enabled, you will not be able to use +	PAM to access remote LDAP password servers and whatnot. And if you +	want hostname resolution to work with glibc, you still need the +	/lib/libnss_* libraries. -	  If you need to use glibc's nsswitch.conf mechanism -	  (e.g. if user/group database is NOT stored in /etc/passwd etc), -	  you must NOT use this option. +	If you need to use glibc's nsswitch.conf mechanism +	(e.g. if user/group database is NOT stored in /etc/passwd etc), +	you must NOT use this option. -	  If you enable this option, it will add about 1.5k. +	If you enable this option, it will add about 1.5k.  config BUSYBOX_USE_BB_SHADOW  	bool "Use internal shadow password functions" -	default n +	default y  	depends on BUSYBOX_USE_BB_PWD_GRP && BUSYBOX_FEATURE_SHADOWPASSWDS  	help -	  If you leave this disabled, busybox will use the system's shadow -	  password handling functions. And if you are using the GNU C library -	  (glibc), you will then need to install the /etc/nsswitch.conf -	  configuration file and the required /lib/libnss_* libraries in -	  order for the shadow password functions to work. This generally -	  makes your embedded system quite a bit larger. +	If you leave this disabled, busybox will use the system's shadow +	password handling functions. And if you are using the GNU C library +	(glibc), you will then need to install the /etc/nsswitch.conf +	configuration file and the required /lib/libnss_* libraries in +	order for the shadow password functions to work. This generally +	makes your embedded system quite a bit larger. -	  Enabling this option will cause busybox to directly access the -	  system's /etc/shadow file when handling shadow passwords. This -	  makes your system smaller (and I will get fewer emails asking about -	  how glibc NSS works). When this option is enabled, you will not be -	  able to use PAM to access shadow passwords from remote LDAP -	  password servers and whatnot. +	Enabling this option will cause busybox to directly access the +	system's /etc/shadow file when handling shadow passwords. This +	makes your system smaller (and I will get fewer emails asking about +	how glibc NSS works). When this option is enabled, you will not be +	able to use PAM to access shadow passwords from remote LDAP +	password servers and whatnot.  config BUSYBOX_USE_BB_CRYPT  	bool "Use internal crypt functions" -	default n +	default y  	help -	  Busybox has internal DES and MD5 crypt functions. -	  They produce results which are identical to corresponding -	  standard C library functions. +	Busybox has internal DES and MD5 crypt functions. +	They produce results which are identical to corresponding +	standard C library functions. -	  If you leave this disabled, busybox will use the system's -	  crypt functions. Most C libraries use large (~70k) -	  static buffers there, and also combine them with more general -	  DES encryption/decryption. +	If you leave this disabled, busybox will use the system's +	crypt functions. Most C libraries use large (~70k) +	static buffers there, and also combine them with more general +	DES encryption/decryption. -	  For busybox, having large static buffers is undesirable, -	  especially on NOMMU machines. Busybox also doesn't need -	  DES encryption/decryption and can do with smaller code. +	For busybox, having large static buffers is undesirable, +	especially on NOMMU machines. Busybox also doesn't need +	DES encryption/decryption and can do with smaller code. -	  If you enable this option, it will add about 4.8k of code -	  if you are building dynamically linked executable. -	  In static build, it makes code _smaller_ by about 1.2k, -	  and likely many kilobytes less of bss. +	If you enable this option, it will add about 4.8k of code +	if you are building dynamically linked executable. +	In static build, it makes code _smaller_ by about 1.2k, +	and likely many kilobytes less of bss.  config BUSYBOX_USE_BB_CRYPT_SHA  	bool "Enable SHA256/512 crypt functions" -	default n +	default y  	depends on BUSYBOX_USE_BB_CRYPT  	help -	  Enable this if you have passwords starting with "$5$" or "$6$" -	  in your /etc/passwd or /etc/shadow files. These passwords -	  are hashed using SHA256 and SHA512 algorithms. Support for them -	  was added to glibc in 2008. -	  With this option off, login will fail password check for any -	  user which has password encrypted with these algorithms. +	Enable this if you have passwords starting with "$5$" or "$6$" +	in your /etc/passwd or /etc/shadow files. These passwords +	are hashed using SHA256 and SHA512 algorithms. Support for them +	was added to glibc in 2008. +	With this option off, login will fail password check for any +	user which has password encrypted with these algorithms. -config BUSYBOX_ADDUSER -	bool "adduser" -	default n +config BUSYBOX_ADD_SHELL +	bool "add-shell (3.1 kb)" +	default y if BUSYBOX_DESKTOP  	help -	  Utility for creating a new user account. +	Add shells to /etc/shells. -config BUSYBOX_FEATURE_ADDUSER_LONG_OPTIONS -	bool "Enable long options" -	default n -	depends on BUSYBOX_ADDUSER && BUSYBOX_LONG_OPTS +config BUSYBOX_REMOVE_SHELL +	bool "remove-shell (3 kb)" +	default y if BUSYBOX_DESKTOP +	help +	Remove shells from /etc/shells. +config BUSYBOX_ADDGROUP +	bool "addgroup (8.6 kb)" +	default y +	select BUSYBOX_LONG_OPTS  	help -	  Support long options for the adduser applet. +	Utility for creating a new group account. + +config BUSYBOX_FEATURE_ADDUSER_TO_GROUP +	bool "Support adding users to groups" +	default y +	depends on BUSYBOX_ADDGROUP +	help +	If called with two non-option arguments, +	addgroup will add an existing user to an +	existing group. +config BUSYBOX_ADDUSER +	bool "adduser (15 kb)" +	default y +	select BUSYBOX_LONG_OPTS +	help +	Utility for creating a new user account.  config BUSYBOX_FEATURE_CHECK_NAMES  	bool "Enable sanity check on user/group names in adduser and addgroup"  	default n  	depends on BUSYBOX_ADDUSER || BUSYBOX_ADDGROUP  	help -	  Enable sanity check on user and group names in adduser and addgroup. -	  To avoid problems, the user or group name should consist only of -	  letters, digits, underscores, periods, at signs and dashes, -	  and not start with a dash (as defined by IEEE Std 1003.1-2001). -	  For compatibility with Samba machine accounts "$" is also supported -	  at the end of the user or group name. +	Enable sanity check on user and group names in adduser and addgroup. +	To avoid problems, the user or group name should consist only of +	letters, digits, underscores, periods, at signs and dashes, +	and not start with a dash (as defined by IEEE Std 1003.1-2001). +	For compatibility with Samba machine accounts "$" is also supported +	at the end of the user or group name.  config BUSYBOX_LAST_ID  	int "Last valid uid or gid for adduser and addgroup"  	depends on BUSYBOX_ADDUSER || BUSYBOX_ADDGROUP  	default 60000  	help -	  Last valid uid or gid for adduser and addgroup +	Last valid uid or gid for adduser and addgroup  config BUSYBOX_FIRST_SYSTEM_ID  	int "First valid system uid or gid for adduser and addgroup"  	depends on BUSYBOX_ADDUSER || BUSYBOX_ADDGROUP -	range 0 64900 +	range 0 BUSYBOX_LAST_ID  	default 100  	help -	  First valid system uid or gid for adduser and addgroup +	First valid system uid or gid for adduser and addgroup  config BUSYBOX_LAST_SYSTEM_ID  	int "Last valid system uid or gid for adduser and addgroup"  	depends on BUSYBOX_ADDUSER || BUSYBOX_ADDGROUP -	range 0 64900 +	range BUSYBOX_FIRST_SYSTEM_ID BUSYBOX_LAST_ID  	default 999  	help -	  Last valid system uid or gid for adduser and addgroup - -config BUSYBOX_ADDGROUP -	bool "addgroup" -	default n +	Last valid system uid or gid for adduser and addgroup +config BUSYBOX_CHPASSWD +	bool "chpasswd (18 kb)" +	default y  	help -	  Utility for creating a new group account. +	Reads a file of user name and password pairs from standard input +	and uses this information to update a group of existing users. -config BUSYBOX_FEATURE_ADDGROUP_LONG_OPTIONS -	bool "Enable long options" -	default n -	depends on BUSYBOX_ADDGROUP && BUSYBOX_LONG_OPTS +config BUSYBOX_FEATURE_DEFAULT_PASSWD_ALGO +	string "Default encryption method (passwd -a, cryptpw -m, chpasswd -c ALG)" +	default "des" +	depends on BUSYBOX_PASSWD || BUSYBOX_CRYPTPW || BUSYBOX_CHPASSWD  	help -	  Support long options for the addgroup applet. - -config BUSYBOX_FEATURE_ADDUSER_TO_GROUP -	bool "Support for adding users to groups" -	default n -	depends on BUSYBOX_ADDGROUP +	Possible choices are "d[es]", "m[d5]", "s[ha256]" or "sha512". +config BUSYBOX_CRYPTPW +	bool "cryptpw (14 kb)" +	default y  	help -	  If  called  with two non-option arguments, -	  addgroup will add an existing user to an -	  existing group. +	Encrypts the given password with the crypt(3) libc function +	using the given salt. +config BUSYBOX_MKPASSWD +	bool "mkpasswd (15 kb)" +	default y +	help +	Encrypts the given password with the crypt(3) libc function +	using the given salt. Debian has this utility under mkpasswd +	name. Busybox provides mkpasswd as an alias for cryptpw.  config BUSYBOX_DELUSER -	bool "deluser" -	default n +	bool "deluser (9.1 kb)" +	default y  	help -	  Utility for deleting a user account. +	Utility for deleting a user account.  config BUSYBOX_DELGROUP -	bool "delgroup" -	default n +	bool "delgroup (6.4 kb)" +	default y  	help -	  Utility for deleting a group account. +	Utility for deleting a group account.  config BUSYBOX_FEATURE_DEL_USER_FROM_GROUP -	bool "Support for removing users from groups" -	default n +	bool "Support removing users from groups" +	default y  	depends on BUSYBOX_DELGROUP  	help -	  If called with two non-option arguments, deluser -	  or delgroup will remove an user from a specified group. - +	If called with two non-option arguments, deluser +	or delgroup will remove an user from a specified group.  config BUSYBOX_GETTY -	bool "getty" +	bool "getty (10 kb)"  	default y  	select BUSYBOX_FEATURE_SYSLOG  	help -	  getty lets you log in on a tty. It is normally invoked by init. +	getty lets you log in on a tty. It is normally invoked by init. -	  Note that you can save a few bytes by disabling it and -	  using login applet directly. -	  If you need to reset tty attributes before calling login, -	  this script approximates getty: - -	  exec </dev/$1 >/dev/$1 2>&1 || BUSYBOX_exit 1 -	  reset -	  stty sane; stty ispeed 38400; stty ospeed 38400 -	  printf "%s login: " "`hostname`" -	  read -r login -	  exec /bin/login "$login" +	Note that you can save a few bytes by disabling it and +	using login applet directly. +	If you need to reset tty attributes before calling login, +	this script approximates getty: +	exec </dev/$1 >/dev/$1 2>&1 || exit 1 +	reset +	stty sane; stty ispeed 38400; stty ospeed 38400 +	printf "%s login: " "`hostname`" +	read -r login +	exec /bin/login "$login"  config BUSYBOX_LOGIN -	bool "login" +	bool "login (24 kb)"  	default y  	select BUSYBOX_FEATURE_SYSLOG  	help -	  login is used when signing onto a system. +	login is used when signing onto a system. -	  Note that Busybox binary must be setuid root for this applet to -	  work properly. +	Note that busybox binary must be setuid root for this applet to +	work properly.  config BUSYBOX_LOGIN_SESSION_AS_CHILD  	bool "Run logged in session in a child process" -	default y if PAM -	depends on BUSYBOX_LOGIN -	help -	  Run the logged in session in a child process.  This allows -	  login to clean up things such as utmp entries or PAM sessions -	  when the login session is complete.  If you use PAM, you -	  almost always would want this to be set to Y, else PAM session -	  will not be cleaned up. - -config BUSYBOX_PAM -	bool "Support for PAM (Pluggable Authentication Modules)" -	depends on !BUSYBOX_DISABLE_PAM -	default n +	default y if BUSYBOX_PAM  	depends on BUSYBOX_LOGIN  	help -	  Use PAM in login(1) instead of direct access to password database. +	Run the logged in session in a child process.  This allows +	login to clean up things such as utmp entries or PAM sessions +	when the login session is complete.  If you use PAM, you +	almost always would want this to be set to Y, else PAM session +	will not be cleaned up.  config BUSYBOX_LOGIN_SCRIPTS -	bool "Support for login scripts" +	bool "Support login scripts"  	depends on BUSYBOX_LOGIN -	default n +	default y  	help -	  Enable this if you want login to execute $LOGIN_PRE_SUID_SCRIPT -	  just prior to switching from root to logged-in user. +	Enable this if you want login to execute $LOGIN_PRE_SUID_SCRIPT +	just prior to switching from root to logged-in user.  config BUSYBOX_FEATURE_NOLOGIN -	bool "Support for /etc/nologin" -	default n +	bool "Support /etc/nologin" +	default y  	depends on BUSYBOX_LOGIN  	help -	  The file /etc/nologin is used by (some versions of) login(1). -	  If it exists, non-root logins are prohibited. +	The file /etc/nologin is used by (some versions of) login(1). +	If it exists, non-root logins are prohibited.  config BUSYBOX_FEATURE_SECURETTY -	bool "Support for /etc/securetty" -	default n +	bool "Support /etc/securetty" +	default y  	depends on BUSYBOX_LOGIN  	help -	  The file /etc/securetty is used by (some versions of) login(1). -	  The file contains the device names of tty lines (one per line, -	  without leading /dev/) on which root is allowed to login. - +	The file /etc/securetty is used by (some versions of) login(1). +	The file contains the device names of tty lines (one per line, +	without leading /dev/) on which root is allowed to login.  config BUSYBOX_PASSWD -	bool "passwd" -	default n +	bool "passwd (21 kb)" +	default y  	select BUSYBOX_FEATURE_SYSLOG  	help -	  passwd changes passwords for user and group accounts. A normal user -	  may only change the password for his/her own account, the super user -	  may change the password for any account. The administrator of a group -	  may change the password for the group. +	passwd changes passwords for user and group accounts. A normal user +	may only change the password for his/her own account, the super user +	may change the password for any account. The administrator of a group +	may change the password for the group. -	  Note that Busybox binary must be setuid root for this applet to -	  work properly. +	Note that busybox binary must be setuid root for this applet to +	work properly.  config BUSYBOX_FEATURE_PASSWD_WEAK_CHECK  	bool "Check new passwords for weakness" -	default n +	default y  	depends on BUSYBOX_PASSWD  	help -	  With this option passwd will refuse new passwords which are "weak". - -config BUSYBOX_CRYPTPW -	bool "cryptpw" -	default n -	help -	  Encrypts the given password with the crypt(3) libc function -	  using the given salt. Debian has this utility under mkpasswd -	  name. Busybox provides mkpasswd as an alias for cryptpw. - -config BUSYBOX_MKPASSWD -	bool "mkpasswd" -	default n -	help -	  Encrypts the given password with the crypt(3) libc function -	  using the given salt. Debian has this utility under mkpasswd -	  name. Busybox provides mkpasswd as an alias for cryptpw. - -config BUSYBOX_CHPASSWD -	bool "chpasswd" -	default n -	help -	  Reads a file of user name and password pairs from standard input -	  and uses this information to update a group of existing users. - -config BUSYBOX_FEATURE_DEFAULT_PASSWD_ALGO -	string "Default password encryption method (passwd -a, cryptpw -m parameter)" -	default "des" -	depends on BUSYBOX_PASSWD || BUSYBOX_CRYPTPW -	help -	  Possible choices are "d[es]", "m[d5]", "s[ha256]" or "sha512". - +	With this option passwd will refuse new passwords which are "weak".  config BUSYBOX_SU -	bool "su" -	default n +	bool "su (19 kb)" +	default y  	select BUSYBOX_FEATURE_SYSLOG  	help -	  su is used to become another user during a login session. -	  Invoked without a username, su defaults to becoming the super user. - -	  Note that Busybox binary must be setuid root for this applet to -	  work properly. +	su is used to become another user during a login session. +	Invoked without a username, su defaults to becoming the super user. +	Note that busybox binary must be setuid root for this applet to +	work properly.  config BUSYBOX_FEATURE_SU_SYSLOG -	bool "Enable su to write to syslog" +	bool "Log to syslog all attempts to use su"  	default y  	depends on BUSYBOX_SU  config BUSYBOX_FEATURE_SU_CHECKS_SHELLS -	bool "Enable su to check user's shell to be listed in /etc/shells" -	depends on BUSYBOX_SU +	bool "If user's shell is not in /etc/shells, disallow -s PROG"  	default y +	depends on BUSYBOX_SU -config BUSYBOX_SULOGIN -	bool "sulogin" +config BUSYBOX_FEATURE_SU_BLANK_PW_NEEDS_SECURE_TTY +	bool "Allow blank passwords only on TTYs in /etc/securetty"  	default n +	depends on BUSYBOX_SU +config BUSYBOX_SULOGIN +	bool "sulogin (17 kb)" +	default y  	select BUSYBOX_FEATURE_SYSLOG  	help -	  sulogin is invoked when the system goes into single user -	  mode (this is done through an entry in inittab). - +	sulogin is invoked when the system goes into single user +	mode (this is done through an entry in inittab).  config BUSYBOX_VLOCK -	bool "vlock" -	default n +	bool "vlock (17 kb)" +	default y  	help -	  Build the "vlock" applet which allows you to lock (virtual) terminals. +	Build the "vlock" applet which allows you to lock (virtual) terminals. -	  Note that Busybox binary must be setuid root for this applet to -	  work properly. +	Note that busybox binary must be setuid root for this applet to +	work properly.  endmenu diff --git a/package/busybox/config/mailutils/Config.in b/package/busybox/config/mailutils/Config.in index 263f80dd7..29890dcbd 100644 --- a/package/busybox/config/mailutils/Config.in +++ b/package/busybox/config/mailutils/Config.in @@ -1,55 +1,51 @@  # DO NOT EDIT. This file is generated from Config.src  menu "Mail Utilities" - -config BUSYBOX_MAKEMIME -	bool "makemime" -	default n -	help -	  Create MIME-formatted messages. -  config BUSYBOX_FEATURE_MIME_CHARSET  	string "Default charset"  	default "us-ascii"  	depends on BUSYBOX_MAKEMIME || BUSYBOX_REFORMIME || BUSYBOX_SENDMAIL  	help -	  Default charset of the message. +	Default charset of the message. +config BUSYBOX_MAKEMIME +	bool "makemime (5.4 kb)" +	default y +	help +	Create MIME-formatted messages.  config BUSYBOX_POPMAILDIR -	bool "popmaildir" -	default n +	bool "popmaildir (10 kb)" +	default y  	help -	  Simple yet powerful POP3 mail popper. Delivers content -	  of remote mailboxes to local Maildir. +	Simple yet powerful POP3 mail popper. Delivers content +	of remote mailboxes to local Maildir.  config BUSYBOX_FEATURE_POPMAILDIR_DELIVERY  	bool "Allow message filters and custom delivery program"  	default y  	depends on BUSYBOX_POPMAILDIR  	help -	  Allow to use a custom program to filter the content -	  of the message before actual delivery (-F "prog [args...]"). -	  Allow to use a custom program for message actual delivery -	  (-M "prog [args...]"). - +	Allow to use a custom program to filter the content +	of the message before actual delivery (-F "prog [args...]"). +	Allow to use a custom program for message actual delivery +	(-M "prog [args...]").  config BUSYBOX_REFORMIME -	bool "reformime" -	default n +	bool "reformime (7.5 kb)" +	default y  	help -	  Parse MIME-formatted messages. +	Parse MIME-formatted messages.  config BUSYBOX_FEATURE_REFORMIME_COMPAT  	bool "Accept and ignore options other than -x and -X"  	default y  	depends on BUSYBOX_REFORMIME  	help -	  Accept (for compatibility only) and ignore options -	  other than -x and -X. - +	Accept (for compatibility only) and ignore options +	other than -x and -X.  config BUSYBOX_SENDMAIL -	bool "sendmail" -	default n +	bool "sendmail (14 kb)" +	default y  	help -	  Barebones sendmail. +	Barebones sendmail.  endmenu diff --git a/package/busybox/config/miscutils/Config.in b/package/busybox/config/miscutils/Config.in index 107a96664..612d270e1 100644 --- a/package/busybox/config/miscutils/Config.in +++ b/package/busybox/config/miscutils/Config.in @@ -1,247 +1,142 @@  # DO NOT EDIT. This file is generated from Config.src  #  # For a description of the syntax of this configuration file, -# see scripts/kbuild/config-language.txt. +# see docs/Kconfig-language.txt.  #  menu "Miscellaneous Utilities" -config BUSYBOX_CONSPY -	bool "conspy" -	default n -	select BUSYBOX_PLATFORM_LINUX -	help -	  A text-mode VNC like program for Linux virtual terminals. -	  example:  conspy NUM      shared access to console num -	  or        conspy -nd NUM  screenshot of console num -	  or        conspy -cs NUM  poor man's GNU screen like - -config BUSYBOX_I2CGET -	bool "i2cget" -	default n -	select BUSYBOX_PLATFORM_LINUX -	help -	  Read from I2C/SMBus chip registers. - -config BUSYBOX_I2CSET -	bool "i2cset" -	default n -	select BUSYBOX_PLATFORM_LINUX -	help -	  Set I2C registers. - -config BUSYBOX_I2CDUMP -	bool "i2cdump" -	default n -	select BUSYBOX_PLATFORM_LINUX -	help -	  Examine I2C registers. - -config BUSYBOX_I2CDETECT -	bool "i2cdetect" -	default n -	select BUSYBOX_PLATFORM_LINUX -	help -	  Detect I2C chips. - -config BUSYBOX_LESS -	bool "less" -	depends on !BUSYBOX_DISABLE_LESS -	default n -	help -	  'less' is a pager, meaning that it displays text files. It possesses -	  a wide array of features, and is an improvement over 'more'. - -config BUSYBOX_FEATURE_LESS_MAXLINES -	int "Max number of input lines less will try to eat" -	default 9999999 -	depends on BUSYBOX_LESS - -config BUSYBOX_FEATURE_LESS_BRACKETS -	bool "Enable bracket searching" +config BUSYBOX_ADJTIMEX +	bool "adjtimex (4.7 kb)"  	default y -	depends on BUSYBOX_LESS  	help -	  This option adds the capability to search for matching left and right -	  brackets, facilitating programming. - -config BUSYBOX_FEATURE_LESS_FLAGS -	bool "Enable -m/-M" +	Adjtimex reads and optionally sets adjustment parameters for +	the Linux clock adjustment algorithm. +config BUSYBOX_ASCII +	bool "ascii"  	default y -	depends on BUSYBOX_LESS  	help -	  The -M/-m flag enables a more sophisticated status line. +	Print ascii table. -config BUSYBOX_FEATURE_LESS_TRUNCATE -	bool "Enable -S" -	default y -	depends on BUSYBOX_LESS +config BUSYBOX_BBCONFIG +	bool "bbconfig (9.7 kb)" +	default n  	help -	  The -S flag causes long lines to be truncated rather than -	  wrapped. +	The bbconfig applet will print the config file with which +	busybox was built. -config BUSYBOX_FEATURE_LESS_MARKS -	bool "Enable marks" +config BUSYBOX_FEATURE_COMPRESS_BBCONFIG +	bool "Compress bbconfig data"  	default y -	depends on BUSYBOX_LESS +	depends on BUSYBOX_BBCONFIG  	help -	  Marks enable positions in a file to be stored for easy reference. +	Store bbconfig data in compressed form, uncompress them on-the-fly +	before output. -config BUSYBOX_FEATURE_LESS_REGEXP -	bool "Enable regular expressions" +	If you have a really tiny busybox with few applets enabled (and +	bunzip2 isn't one of them), the overhead of the decompressor might +	be noticeable. Also, if you run executables directly from ROM +	and have very little memory, this might not be a win. Otherwise, +	you probably want this. +config BUSYBOX_BC +	bool "bc (45 kb)"  	default y -	depends on BUSYBOX_LESS -	help -	  Enable regular expressions, allowing complex file searches. +	select BUSYBOX_FEATURE_DC_BIG +	help +	bc is a command-line, arbitrary-precision calculator with a +	Turing-complete language. See the GNU bc manual +	(https://www.gnu.org/software/bc/manual/bc.html) and bc spec +	(http://pubs.opengroup.org/onlinepubs/9699919799/utilities/bc.html). + +	This bc has five differences to the GNU bc: +	  1) The period (.) is a shortcut for "last", as in the BSD bc. +	  2) Arrays are copied before being passed as arguments to +	     functions. This behavior is required by the bc spec. +	  3) Arrays can be passed to the builtin "length" function to get +	     the number of elements in the array. This prints "1": +		a[0] = 0; length(a[]) +	  4) The precedence of the boolean "not" operator (!) is equal to +	     that of the unary minus (-) negation operator. This still +	     allows POSIX-compliant scripts to work while somewhat +	     preserving expected behavior (versus C) and making parsing +	     easier. +	  5) "read()" accepts expressions, not only numeric literals. -config BUSYBOX_FEATURE_LESS_WINCH -	bool "Enable automatic resizing on window size changes" +config BUSYBOX_DC +	bool "dc (36 kb)"  	default y -	depends on BUSYBOX_LESS  	help -	  Makes less track window size changes. - -config BUSYBOX_FEATURE_LESS_ASK_TERMINAL -	bool "Use 'tell me cursor position' ESC sequence to measure window" +	dc is a reverse-polish notation command-line calculator which +	supports unlimited precision arithmetic. See the FreeBSD man page +	(https://www.unix.com/man-page/FreeBSD/1/dc/) and GNU dc manual +	(https://www.gnu.org/software/bc/manual/dc-1.05/html_mono/dc.html). + +	This dc has a few differences from the two above: +	  1) When printing a byte stream (command "P"), this dc follows what +	     the FreeBSD dc does. +	  2) Implements the GNU extensions for divmod ("~") and +	     modular exponentiation ("|"). +	  3) Implements all FreeBSD extensions, except for "J" and "M". +	  4) Like the FreeBSD dc, this dc supports extended registers. +	     However, they are implemented differently. When it encounters +	     whitespace where a register should be, it skips the whitespace. +	     If the character following is not a lowercase letter, an error +	     is issued. Otherwise, the register name is parsed by the +	     following regex: [a-z][a-z0-9_]* +	     This generally means that register names will be surrounded by +	     whitespace. Examples: +		l idx s temp L index S temp2 < do_thing +	     Also note that, like the FreeBSD dc, extended registers are not +	     allowed unless the "-x" option is given. + +if BUSYBOX_BC || BUSYBOX_DC  # for menuconfig indenting + +config BUSYBOX_FEATURE_DC_BIG +	bool "Use bc code base for dc (larger, more features)"  	default y -	depends on BUSYBOX_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_FEATURE_LESS_DASHCMD -	bool "Enable flag changes ('-' command)" +config BUSYBOX_FEATURE_DC_LIBM +	bool "Enable power and exp functions (requires libm)"  	default y -	depends on BUSYBOX_LESS +	depends on BUSYBOX_DC && !BUSYBOX_BC && !BUSYBOX_FEATURE_DC_BIG  	help -	  This enables the ability to change command-line flags within -	  less itself ('-' keyboard command). +	Enable power and exp functions. +	NOTE: This will require libm to be present for linking. -config BUSYBOX_FEATURE_LESS_LINENUMS -	bool "Enable dynamic switching of line numbers" +config BUSYBOX_FEATURE_BC_INTERACTIVE +	bool "Interactive mode (+4kb)"  	default y -	depends on BUSYBOX_FEATURE_LESS_DASHCMD +	depends on BUSYBOX_BC || (BUSYBOX_DC && BUSYBOX_FEATURE_DC_BIG)  	help -	  Enables "-N" command. +	Enable interactive mode: when started on a tty, +	^C interrupts execution and returns to command line, +	errors also return to command line instead of exiting, +	line editing with history is available. -config BUSYBOX_NANDWRITE -	bool "nandwrite" -	default n -	select BUSYBOX_PLATFORM_LINUX -	help -	  Write to the specified MTD device, with bad blocks awareness - -config BUSYBOX_NANDDUMP -	bool "nanddump" -	default n -	select BUSYBOX_PLATFORM_LINUX -	help -	  Dump the content of raw NAND chip - -config BUSYBOX_SETSERIAL -	bool "setserial" -	default n -	select BUSYBOX_PLATFORM_LINUX -	help -	  Retrieve or set Linux serial port. +	With this option off, input can still be taken from tty, +	but all errors are fatal, ^C is fatal, +	tty is treated exactly the same as any other +	standard input (IOW: no line editing). -config BUSYBOX_UBIATTACH -	bool "ubiattach" -	default n -	select BUSYBOX_PLATFORM_LINUX -	help -	  Attach MTD device to an UBI device. - -config BUSYBOX_UBIDETACH -	bool "ubidetach" -	default n -	select BUSYBOX_PLATFORM_LINUX -	help -	  Detach MTD device from an UBI device. - -config BUSYBOX_UBIMKVOL -	bool "ubimkvol" -	default n -	select BUSYBOX_PLATFORM_LINUX -	help -	  Create a UBI volume. - -config BUSYBOX_UBIRMVOL -	bool "ubirmvol" -	default n -	select BUSYBOX_PLATFORM_LINUX -	help -	  Delete a UBI volume. - -config BUSYBOX_UBIRSVOL -	bool "ubirsvol" -	default n -	select BUSYBOX_PLATFORM_LINUX -	help -	  Resize a UBI volume. - -config BUSYBOX_UBIUPDATEVOL -	bool "ubiupdatevol" -	default n -	select BUSYBOX_PLATFORM_LINUX -	help -	  Update a UBI volume. - -config BUSYBOX_UBIRENAME -	bool "ubirename" -	default n -	select BUSYBOX_PLATFORM_LINUX -	help -	  Utility to rename UBI volumes - -config BUSYBOX_ADJTIMEX -	bool "adjtimex" -	default n -	select BUSYBOX_PLATFORM_LINUX -	help -	  Adjtimex reads and optionally sets adjustment parameters for -	  the Linux clock adjustment algorithm. - -config BUSYBOX_BBCONFIG -	bool "bbconfig" -	default n -	help -	  The bbconfig applet will print the config file with which -	  busybox was built. - -config BUSYBOX_FEATURE_COMPRESS_BBCONFIG -	bool "Compress bbconfig data" +config BUSYBOX_FEATURE_BC_LONG_OPTIONS +	bool "Enable bc/dc long options"  	default y -	depends on BUSYBOX_BBCONFIG -	help -	  Store bbconfig data in compressed form, uncompress them on-the-fly -	  before output. - -	  If you have a really tiny busybox with few applets enabled (and -	  bunzip2 isn't one of them), the overhead of the decompressor might -	  be noticeable. Also, if you run executables directly from ROM -	  and have very little memory, this might not be a win. Otherwise, -	  you probably want this. +	depends on BUSYBOX_BC || (BUSYBOX_DC && BUSYBOX_FEATURE_DC_BIG) +endif  config BUSYBOX_BEEP -	bool "beep" -	default n -	select BUSYBOX_PLATFORM_LINUX +	bool "beep (2.4 kb)" +	default y  	help -	  The beep applets beeps in a given freq/Hz. +	The beep applets beeps in a given freq/Hz.  config BUSYBOX_FEATURE_BEEP_FREQ  	int "default frequency" -	range 0 2147483647 +	range 20 50000	# allowing 0 here breaks the build  	default 4000  	depends on BUSYBOX_BEEP  	help -	  Frequency for default beep. +	Frequency for default beep.  config BUSYBOX_FEATURE_BEEP_LENGTH_MS  	int "default length" @@ -249,392 +144,471 @@ config BUSYBOX_FEATURE_BEEP_LENGTH_MS  	default 30  	depends on BUSYBOX_BEEP  	help -	  Length in ms for default beep. - +	Length in ms for default beep.  config BUSYBOX_CHAT -	bool "chat" -	default n +	bool "chat (6.3 kb)" +	default y  	help -	  Simple chat utility. +	Simple chat utility.  config BUSYBOX_FEATURE_CHAT_NOFAIL  	bool "Enable NOFAIL expect strings"  	depends on BUSYBOX_CHAT  	default y  	help -	  When enabled expect strings which are started with a dash trigger -	  no-fail mode. That is when expectation is not met within timeout -	  the script is not terminated but sends next SEND string and waits -	  for next EXPECT string. This allows to compose far more flexible -	  scripts. +	When enabled expect strings which are started with a dash trigger +	no-fail mode. That is when expectation is not met within timeout +	the script is not terminated but sends next SEND string and waits +	for next EXPECT string. This allows to compose far more flexible +	scripts.  config BUSYBOX_FEATURE_CHAT_TTY_HIFI  	bool "Force STDIN to be a TTY"  	depends on BUSYBOX_CHAT  	default n  	help -	  Original chat always treats STDIN as a TTY device and sets for it -	  so-called raw mode. This option turns on such behaviour. +	Original chat always treats STDIN as a TTY device and sets for it +	so-called raw mode. This option turns on such behaviour.  config BUSYBOX_FEATURE_CHAT_IMPLICIT_CR  	bool "Enable implicit Carriage Return"  	depends on BUSYBOX_CHAT  	default y  	help -	  When enabled make chat to terminate all SEND strings with a "\r" -	  unless "\c" is met anywhere in the string. +	When enabled make chat to terminate all SEND strings with a "\r" +	unless "\c" is met anywhere in the string.  config BUSYBOX_FEATURE_CHAT_SWALLOW_OPTS  	bool "Swallow options"  	depends on BUSYBOX_CHAT  	default y  	help -	  Busybox chat require no options. To make it not fail when used -	  in place of original chat (which has a bunch of options) turn -	  this on. +	Busybox chat require no options. To make it not fail when used +	in place of original chat (which has a bunch of options) turn +	this on.  config BUSYBOX_FEATURE_CHAT_SEND_ESCAPES  	bool "Support weird SEND escapes"  	depends on BUSYBOX_CHAT  	default y  	help -	  Original chat uses some escape sequences in SEND arguments which -	  are not sent to device but rather performs special actions. -	  E.g. "\K" means to send a break sequence to device. -	  "\d" delays execution for a second, "\p" -- for a 1/100 of second. -	  Before turning this option on think twice: do you really need them? +	Original chat uses some escape sequences in SEND arguments which +	are not sent to device but rather performs special actions. +	E.g. "\K" means to send a break sequence to device. +	"\d" delays execution for a second, "\p" -- for a 1/100 of second. +	Before turning this option on think twice: do you really need them?  config BUSYBOX_FEATURE_CHAT_VAR_ABORT_LEN  	bool "Support variable-length ABORT conditions"  	depends on BUSYBOX_CHAT  	default y  	help -	  Original chat uses fixed 50-bytes length ABORT conditions. Say N here. +	Original chat uses fixed 50-bytes length ABORT conditions. Say N here.  config BUSYBOX_FEATURE_CHAT_CLR_ABORT  	bool "Support revoking of ABORT conditions"  	depends on BUSYBOX_CHAT  	default y  	help -	  Support CLR_ABORT directive. - -config BUSYBOX_CHRT -	bool "chrt" -	default n +	Support CLR_ABORT directive. +config BUSYBOX_CONSPY +	bool "conspy (10 kb)" +	default y  	help -	  manipulate real-time attributes of a process. -	  This requires sched_{g,s}etparam support in your libc. - +	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_CROND -	bool "crond" -	default n +	bool "crond (14 kb)" +	default y  	select BUSYBOX_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 +	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_FEATURE_CROND_D -	bool "Support option -d to redirect output to stderr" +	bool "Support -d (redirect output to stderr)"  	depends on BUSYBOX_CROND  	default y  	help -	  -d sets loglevel to 0 (most verbose) and directs all output to stderr. +	-d N sets loglevel (0:most verbose) and directs all output to stderr.  config BUSYBOX_FEATURE_CROND_CALL_SENDMAIL  	bool "Report command output via email (using sendmail)" -	default n +	default y  	depends on BUSYBOX_CROND  	help -	  Command output will be sent to corresponding user via email. +	Command output will be sent to corresponding user via email. + +config BUSYBOX_FEATURE_CROND_SPECIAL_TIMES +	bool "Support special times (@reboot, @daily, etc) in crontabs" +	default y +	depends on BUSYBOX_CROND +	help +	string        meaning +	------        ------- +	@reboot       Run once, at startup +	@yearly       Run once a year:  "0 0 1 1 *" +	@annually     Same as @yearly:  "0 0 1 1 *" +	@monthly      Run once a month: "0 0 1 * *" +	@weekly       Run once a week:  "0 0 * * 0" +	@daily        Run once a day:   "0 0 * * *" +	@midnight     Same as @daily:   "0 0 * * *" +	@hourly       Run once an hour: "0 * * * *"  config BUSYBOX_FEATURE_CROND_DIR  	string "crond spool directory"  	default "/var/spool/cron"  	depends on BUSYBOX_CROND || BUSYBOX_CRONTAB  	help -	  Location of crond spool. - +	Location of crond spool.  config BUSYBOX_CRONTAB -	bool "crontab" -	default n -	help -	  Crontab manipulates the crontab for a particular user. Only -	  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_DC -	bool "dc" -	default n -	help -	  Dc is a reverse-polish desk calculator which supports unlimited -	  precision arithmetic. - -config BUSYBOX_FEATURE_DC_LIBM -	bool "Enable power and exp functions (requires libm)" -	default n -	depends on BUSYBOX_DC +	bool "crontab (10 kb)" +	default y  	help -	  Enable power and exp functions. -	  NOTE: This will require libm to be present for linking. - +	Crontab manipulates the crontab for a particular user. Only +	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_DEVFSD  	bool "devfsd (obsolete)"  	default n -	select BUSYBOX_PLATFORM_LINUX  	select BUSYBOX_FEATURE_SYSLOG  	help -	  This is deprecated and should NOT be used anymore. -	  Use linux >= 2.6 (optionally with hotplug) and mdev instead! -	  See docs/mdev.txt for detailed instructions on how to use mdev -	  instead. +	This is deprecated and should NOT be used anymore. +	Use linux >= 2.6 (optionally with hotplug) and mdev instead! +	See docs/mdev.txt for detailed instructions on how to use mdev +	instead. -	  Provides compatibility with old device names on a devfs systems. -	  You should set it to true if you have devfs enabled. -	  The following keywords in devsfd.conf are supported: -	  "CLEAR_CONFIG", "INCLUDE", "OPTIONAL_INCLUDE", "RESTORE", -	  "PERMISSIONS", "EXECUTE", "COPY", "IGNORE", -	  "MKOLDCOMPAT", "MKNEWCOMPAT","RMOLDCOMPAT", "RMNEWCOMPAT". +	Provides compatibility with old device names on a devfs systems. +	You should set it to true if you have devfs enabled. +	The following keywords in devsfd.conf are supported: +	"CLEAR_CONFIG", "INCLUDE", "OPTIONAL_INCLUDE", "RESTORE", +	"PERMISSIONS", "EXECUTE", "COPY", "IGNORE", +	"MKOLDCOMPAT", "MKNEWCOMPAT","RMOLDCOMPAT", "RMNEWCOMPAT". -	  But only if they are written UPPERCASE!!!!!!!! +	But only if they are written UPPERCASE!!!!!!!!  config BUSYBOX_DEVFSD_MODLOAD  	bool "Adds support for MODLOAD keyword in devsfd.conf" -	default n +	default y  	depends on BUSYBOX_DEVFSD  	help -	  This actually doesn't work with busybox modutils but needs -	  the external modutils. +	This actually doesn't work with busybox modutils but needs +	the external modutils.  config BUSYBOX_DEVFSD_FG_NP -	bool "Enables the -fg and -np options" -	default n +	bool "Enable the -fg and -np options" +	default y  	depends on BUSYBOX_DEVFSD  	help -	  -fg  Run the daemon in the foreground. -	  -np  Exit after parsing the configuration file. -	       Do not poll for events. +	-fg  Run the daemon in the foreground. +	-np  Exit after parsing config. Do not poll for events.  config BUSYBOX_DEVFSD_VERBOSE  	bool "Increases logging (and size)" -	default n +	default y  	depends on BUSYBOX_DEVFSD  	help -	  Increases logging to stderr or syslog. +	Increases logging to stderr or syslog.  config BUSYBOX_FEATURE_DEVFS  	bool "Use devfs names for all devices (obsolete)"  	default n -	select BUSYBOX_PLATFORM_LINUX  	help -	  This is obsolete and should NOT be used anymore. -	  Use linux >= 2.6 (optionally with hotplug) and mdev instead! - -	  For legacy systems -- if there is no way around devfsd -- this -	  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. +	This is obsolete and should NOT be used anymore. +	Use linux >= 2.6 (optionally with hotplug) and mdev instead! +	For legacy systems -- if there is no way around devfsd -- this +	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_DEVMEM -	bool "devmem" -	default n -	help -	  devmem is a small program that reads and writes from physical -	  memory using /dev/mem. - -config BUSYBOX_EJECT -	bool "eject" -	default n -	select BUSYBOX_PLATFORM_LINUX -	help -	  Used to eject cdroms. (defaults to /dev/cdrom) - -config BUSYBOX_FEATURE_EJECT_SCSI -	bool "SCSI support" -	default n -	depends on BUSYBOX_EJECT +	bool "devmem (2.5 kb)" +	default y  	help -	  Add the -s option to eject, this allows to eject SCSI-Devices and -	  usb-storage devices. - +	devmem is a small program that reads and writes from physical +	memory using /dev/mem.  config BUSYBOX_FBSPLASH -	bool "fbsplash" -	default n -	select BUSYBOX_PLATFORM_LINUX -	help -	  Shows splash image and progress bar on framebuffer device. -	  Can be used during boot phase of an embedded device. ~2kb. -	  Usage: -	  - use kernel option 'vga=xxx' or otherwise enable fb device. -	  - put somewhere fbsplash.cfg file and an image in .ppm format. -	  - $ setsid fbsplash [params] & +	bool "fbsplash (26 kb)" +	default y +	help +	Shows splash image and progress bar on framebuffer device. +	Can be used during boot phase of an embedded device. +	Usage: +	- use kernel option 'vga=xxx' or otherwise enable fb device. +	- put somewhere fbsplash.cfg file and an image in .ppm format. +	- $ setsid fbsplash [params] &  	    -c: hide cursor  	    -d /dev/fbN: framebuffer device (if not /dev/fb0)  	    -s path_to_image_file (can be "-" for stdin)  	    -i path_to_cfg_file (can be "-" for stdin)  	    -f path_to_fifo (can be "-" for stdin) -	  - if you want to run it only in presence of kernel parameter: -	    grep -q "fbsplash=on" </proc/cmdline && BUSYBOX_setsid fbsplash [params] & -	  - commands for fifo: +	- if you want to run it only in presence of kernel parameter: +	    grep -q "fbsplash=on" </proc/cmdline && setsid fbsplash [params] & +	- commands for fifo:  	    "NN" (ASCII decimal number) - percentage to show on progress bar  	    "exit" - well you guessed it - -config BUSYBOX_FLASHCP -	bool "flashcp" +config BUSYBOX_FLASH_ERASEALL +	bool "flash_eraseall (5.9 kb)"  	default n  # 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. - +	The flash_eraseall binary from mtd-utils as of git head c4c6a59eb. +	This utility is used to erase the whole MTD device.  config BUSYBOX_FLASH_LOCK -	bool "flash_lock" +	bool "flash_lock (2.1 kb)"  	default n  # 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. +	The flash_lock binary from mtd-utils as of git head 5ec0c10d0. This +	utility locks part or all of the flash device.  config BUSYBOX_FLASH_UNLOCK -	bool "flash_unlock" +	bool "flash_unlock (1.3 kb)"  	default n  # 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_FLASH_ERASEALL -	bool "flash_eraseall" +	The flash_unlock binary from mtd-utils as of git head 5ec0c10d0. This +	utility unlocks part or all of the flash device. +config BUSYBOX_FLASHCP +	bool "flashcp (5.3 kb)"  	default n  # 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_IONICE -	bool "ionice" -	default n -	select BUSYBOX_PLATFORM_LINUX -	help -	  Set/set program io scheduling class and priority -	  Requires kernel >= 2.6.13 - -config BUSYBOX_INOTIFYD -	bool "inotifyd" -	default n  # doesn't build on Knoppix 5 -	help -	  Simple inotify daemon. Reports filesystem changes. Requires -	  kernel >= 2.6.13 - -config BUSYBOX_LAST -	bool "last" -	default n -	depends on BUSYBOX_FEATURE_WTMP -	help -	  'last' displays a list of the last users that logged into the system. - -choice -	prompt "Choose last implementation" -	depends on BUSYBOX_LAST -	default FEATURE_LAST_FANCY - -config BUSYBOX_FEATURE_LAST_SMALL -	bool "small" -	help -	  This is a small version of last with just the basic set of -	  features. - -config BUSYBOX_FEATURE_LAST_FANCY -	bool "huge" +	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_GETFATTR +	bool "getfattr (12.3 kb)" +	default y  	help -	  'last' displays detailed information about the last users that -	  logged into the system (mimics sysvinit last). +900 bytes. -endchoice - +	Get extended attributes on files  config BUSYBOX_HDPARM -	bool "hdparm" -	default n -	depends on !BUSYBOX_DISABLE_HDPARM -	select BUSYBOX_PLATFORM_LINUX +	bool "hdparm (25 kb)" +	default y  	help -	  Get/Set hard drive parameters. Primarily intended for ATA -	  drives. Adds about 13k (or around 30k if you enable the -	  FEATURE_HDPARM_GET_IDENTITY option).... +	Get/Set hard drive parameters. Primarily intended for ATA +	drives.  config BUSYBOX_FEATURE_HDPARM_GET_IDENTITY  	bool "Support obtaining detailed information directly from drives"  	default y  	depends on BUSYBOX_HDPARM  	help -	  Enables the -I and -i options to obtain detailed information -	  directly from drives about their capabilities and supported ATA -	  feature set. If no device name is specified, hdparm will read -	  identify data from stdin. Enabling this option will add about 16k... +	Enable the -I and -i options to obtain detailed information +	directly from drives about their capabilities and supported ATA +	feature set. If no device name is specified, hdparm will read +	identify data from stdin. Enabling this option will add about 16k...  config BUSYBOX_FEATURE_HDPARM_HDIO_SCAN_HWIF  	bool "Register an IDE interface (DANGEROUS)"  	default y  	depends on BUSYBOX_HDPARM  	help -	  Enables the 'hdparm -R' option to register an IDE interface. -	  This is dangerous stuff, so you should probably say N. +	Enable the 'hdparm -R' option to register an IDE interface. +	This is dangerous stuff, so you should probably say N.  config BUSYBOX_FEATURE_HDPARM_HDIO_UNREGISTER_HWIF  	bool "Un-register an IDE interface (DANGEROUS)"  	default y  	depends on BUSYBOX_HDPARM  	help -	  Enables the 'hdparm -U' option to un-register an IDE interface. -	  This is dangerous stuff, so you should probably say N. +	Enable the 'hdparm -U' option to un-register an IDE interface. +	This is dangerous stuff, so you should probably say N.  config BUSYBOX_FEATURE_HDPARM_HDIO_DRIVE_RESET  	bool "Perform device reset (DANGEROUS)"  	default y  	depends on BUSYBOX_HDPARM  	help -	  Enables the 'hdparm -w' option to perform a device reset. -	  This is dangerous stuff, so you should probably say N. +	Enable the 'hdparm -w' option to perform a device reset. +	This is dangerous stuff, so you should probably say N.  config BUSYBOX_FEATURE_HDPARM_HDIO_TRISTATE_HWIF  	bool "Tristate device for hotswap (DANGEROUS)"  	default y  	depends on BUSYBOX_HDPARM  	help -	  Enables the 'hdparm -x' option to tristate device for hotswap, -	  and the '-b' option to get/set bus state. This is dangerous -	  stuff, so you should probably say N. +	Enable the 'hdparm -x' option to tristate device for hotswap, +	and the '-b' option to get/set bus state. This is dangerous +	stuff, so you should probably say N.  config BUSYBOX_FEATURE_HDPARM_HDIO_GETSET_DMA  	bool "Get/set using_dma flag"  	default y  	depends on BUSYBOX_HDPARM  	help -	  Enables the 'hdparm -d' option to get/set using_dma flag. +	Enable the 'hdparm -d' option to get/set using_dma flag. +config BUSYBOX_HEXEDIT +	bool "hexedit (21 kb)" +	default y +	help +	Edit file in hexadecimal. +config BUSYBOX_I2CGET +	bool "i2cget (5.5 kb)" +	default y +	help +	Read from I2C/SMBus chip registers. + +config BUSYBOX_I2CSET +	bool "i2cset (6.7 kb)" +	default y +	help +	Set I2C registers. + +config BUSYBOX_I2CDUMP +	bool "i2cdump (7.1 kb)" +	default y +	help +	Examine I2C registers. + +config BUSYBOX_I2CDETECT +	bool "i2cdetect (7.1 kb)" +	default y +	help +	Detect I2C chips. + +config BUSYBOX_I2CTRANSFER +	bool "i2ctransfer (4.0 kb)" +	default y +	help +	Send user-defined I2C messages in one transfer. + +config BUSYBOX_INOTIFYD +	bool "inotifyd (3.6 kb)" +	default n  # doesn't build on Knoppix 5 +	help +	Simple inotify daemon. Reports filesystem changes. Requires +	kernel >= 2.6.13 +config BUSYBOX_LESS +	bool "less (16 kb)" +	default y +	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_FEATURE_LESS_MAXLINES +	int "Max number of input lines less will try to eat" +	default 9999999 +	depends on BUSYBOX_LESS + +config BUSYBOX_FEATURE_LESS_BRACKETS +	bool "Enable bracket searching" +	default y +	depends on BUSYBOX_LESS +	help +	This option adds the capability to search for matching left and right +	brackets, facilitating programming. + +config BUSYBOX_FEATURE_LESS_FLAGS +	bool "Enable -m/-M" +	default y +	depends on BUSYBOX_LESS +	help +	The -M/-m flag enables a more sophisticated status line. + +config BUSYBOX_FEATURE_LESS_TRUNCATE +	bool "Enable -S" +	default y +	depends on BUSYBOX_LESS +	help +	The -S flag causes long lines to be truncated rather than +	wrapped. + +config BUSYBOX_FEATURE_LESS_MARKS +	bool "Enable marks" +	default y +	depends on BUSYBOX_LESS +	help +	Marks enable positions in a file to be stored for easy reference. + +config BUSYBOX_FEATURE_LESS_REGEXP +	bool "Enable regular expressions" +	default y +	depends on BUSYBOX_LESS +	help +	Enable regular expressions, allowing complex file searches. + +config BUSYBOX_FEATURE_LESS_WINCH +	bool "Enable automatic resizing on window size changes" +	default y +	depends on BUSYBOX_LESS +	help +	Makes less track window size changes. + +config BUSYBOX_FEATURE_LESS_ASK_TERMINAL +	bool "Use 'tell me cursor position' ESC sequence to measure window" +	default y +	depends on BUSYBOX_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_FEATURE_LESS_DASHCMD +	bool "Enable flag changes ('-' command)" +	default y +	depends on BUSYBOX_LESS +	help +	This enables the ability to change command-line flags within +	less itself ('-' keyboard command). + +config BUSYBOX_FEATURE_LESS_LINENUMS +	bool "Enable -N (dynamic switching of line numbers)" +	default y +	depends on BUSYBOX_FEATURE_LESS_DASHCMD + +config BUSYBOX_FEATURE_LESS_RAW +	bool "Enable -R ('raw control characters')" +	default y +	depends on BUSYBOX_FEATURE_LESS_DASHCMD +	help +	This is essential for less applet to work with tools that use colors +	and paging, such as git, systemd tools or nmcli. + +config BUSYBOX_FEATURE_LESS_ENV +	bool "Take options from $LESS environment variable" +	default y +	depends on BUSYBOX_FEATURE_LESS_DASHCMD +	help +	This is essential for less applet to work with tools that use colors +	and paging, such as git, systemd tools or nmcli. +config BUSYBOX_LSSCSI +	bool "lsscsi (2.5 kb)" +	default y +	help +	lsscsi is a utility for displaying information about SCSI buses in the +	system and devices connected to them. +	This version uses sysfs (/sys/bus/scsi/devices) only.  config BUSYBOX_MAKEDEVS -	bool "makedevs" -	default n +	bool "makedevs (9.2 kb)" +	default y  	help -	  'makedevs' is a utility used to create a batch of devices with -	  one command. +	'makedevs' is a utility used to create a batch of devices with +	one command. -	  There are two choices for command line behaviour, the interface -	  as used by LEAF/Linux Router Project, or a device table file. +	There are two choices for command line behaviour, the interface +	as used by LEAF/Linux Router Project, or a device table file. -	  'leaf' is traditionally what busybox follows, it allows multiple -	  devices of a particluar type to be created per command. -	  e.g. /dev/hda[0-9] -	  Device properties are passed as command line arguments. +	'leaf' is traditionally what busybox follows, it allows multiple +	devices of a particluar type to be created per command. +	e.g. /dev/hda[0-9] +	Device properties are passed as command line arguments. -	  'table' reads device properties from a file or stdin, allowing -	  a batch of unrelated devices to be made with one command. -	  User/group names are allowed as an alternative to uid/gid. +	'table' reads device properties from a file or stdin, allowing +	a batch of unrelated devices to be made with one command. +	User/group names are allowed as an alternative to uid/gid.  choice  	prompt "Choose makedevs behaviour"  	depends on BUSYBOX_MAKEDEVS -	default FEATURE_MAKEDEVS_TABLE +	default BUSYBOX_FEATURE_MAKEDEVS_TABLE  config BUSYBOX_FEATURE_MAKEDEVS_LEAF  	bool "leaf" @@ -643,167 +617,208 @@ config BUSYBOX_FEATURE_MAKEDEVS_TABLE  	bool "table"  endchoice -  config BUSYBOX_MAN -	bool "man" -	default n +	bool "man (26 kb)" +	default y  	help -	  Format and display manual pages. - +	Format and display manual pages.  config BUSYBOX_MICROCOM -	bool "microcom" -	default n +	bool "microcom (5.7 kb)" +	default y  	help -	  The poor man's minicom utility for chatting with serial port devices. - -config BUSYBOX_MOUNTPOINT -	bool "mountpoint" -	default n +	The poor man's minicom utility for chatting with serial port devices. +config BUSYBOX_MIM +	bool "mim (0.5 kb)" +	default y +	depends on BUSYBOX_FEATURE_SH_EMBEDDED_SCRIPTS  	help -	  mountpoint checks if the directory is a mountpoint. - +	Run a script from a Makefile-like specification file. +	Unlike 'make' dependencies aren't supported.  config BUSYBOX_MT -	bool "mt" -	default n +	bool "mt (2.5 kb)" +	default y +	help +	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_NANDWRITE +	bool "nandwrite (4.8 kb)" +	default y  	help -	  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. +	Write to the specified MTD device, with bad blocks awareness +config BUSYBOX_NANDDUMP +	bool "nanddump (5.2 kb)" +	default y +	help +	Dump the content of raw NAND chip +config BUSYBOX_PARTPROBE +	bool "partprobe (3.5 kb)" +	default y +	help +	Ask kernel to rescan partition table.  config BUSYBOX_RAIDAUTORUN -	bool "raidautorun" -	default n -	select BUSYBOX_PLATFORM_LINUX +	bool "raidautorun (1.3 kb)" +	default y  	help -	  raidautorun tells the kernel md driver to -	  search and start RAID arrays. - +	raidautorun tells the kernel md driver to +	search and start RAID arrays.  config BUSYBOX_READAHEAD -	bool "readahead" -	default n +	bool "readahead (1.5 kb)" +	default y  	depends on BUSYBOX_LFS -	select BUSYBOX_PLATFORM_LINUX  	help -	  Preload the files listed on the command line into RAM cache so that -	  subsequent reads on these files will not block on disk I/O. - -	  This applet just calls the readahead(2) system call on each file. -	  It is mainly useful in system startup scripts to preload files -	  or executables before they are used. When used at the right time -	  (in particular when a CPU bound process is running) it can -	  significantly speed up system startup. +	Preload the files listed on the command line into RAM cache so that +	subsequent reads on these files will not block on disk I/O. -	  As readahead(2) blocks until each file has been read, it is best to -	  run this applet as a background job. +	This applet just calls the readahead(2) system call on each file. +	It is mainly useful in system startup scripts to preload files +	or executables before they are used. When used at the right time +	(in particular when a CPU bound process is running) it can +	significantly speed up system startup. +	As readahead(2) blocks until each file has been read, it is best to +	run this applet as a background job.  config BUSYBOX_RFKILL -	bool "rfkill" -	depends on !BUSYBOX_DISABLE_RFKILL -	default n -	select BUSYBOX_PLATFORM_LINUX +	bool "rfkill (4.4 kb)" +	default n # doesn't build on Ubuntu 9.04  	help -	  Enable/disable wireless devices. +	Enable/disable wireless devices. -	  rfkill list : list all wireless devices -	  rfkill list bluetooth : list all bluetooth devices -	  rfkill list 1 : list device corresponding to the given index -	  rfkill block|unblock wlan : block/unblock all wlan(wifi) devices +	rfkill list : list all 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_RUNLEVEL -	bool "runlevel" -	default n +	bool "runlevel (559 bytes)" +	default y  	depends on BUSYBOX_FEATURE_UTMP  	help -	  find the current and previous system runlevel. - -	  This applet uses utmp but does not rely on busybox supporing -	  utmp on purpose. It is used by e.g. emdebian via /etc/init.d/rc. +	Find the current and previous system runlevel. +	This applet uses utmp but does not rely on busybox supporing +	utmp on purpose. It is used by e.g. emdebian via /etc/init.d/rc.  config BUSYBOX_RX -	bool "rx" -	default n -	select BUSYBOX_PLATFORM_LINUX +	bool "rx (2.9 kb)" +	default y  	help -	  Receive files using the Xmodem protocol. - -config BUSYBOX_SETSID -	bool "setsid" +	Receive files using the Xmodem protocol. +config BUSYBOX_SEEDRNG +	bool "seedrng (1.3 kb)"  	default n  	help -	  setsid runs a program in a new session - -config BUSYBOX_STRINGS -	bool "strings" -	default n +	Seed the kernel RNG from seed files, meant to be called +	once during startup, once during shutdown, and optionally +	at some periodic interval in between. +config BUSYBOX_SETFATTR +	bool "setfattr (3.7 kb)" +	default y  	help -	  strings prints the printable character sequences for each file -	  specified. - -config BUSYBOX_TASKSET -	bool "taskset" -	default n  # doesn't build on some non-x86 targets (m68k) +	Set/delete extended attributes on files +config BUSYBOX_SETSERIAL +	bool "setserial (6.9 kb)" +	default y  	help -	  Retrieve or set a processes's CPU affinity. -	  This requires sched_{g,s}etaffinity support in your libc. - -config BUSYBOX_FEATURE_TASKSET_FANCY -	bool "Fancy output" +	Retrieve or set Linux serial port. +config BUSYBOX_STRINGS +	bool "strings (4.6 kb)"  	default y -	depends on BUSYBOX_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. - +	strings prints the printable character sequences for each file +	specified.  config BUSYBOX_TIME -	bool "time" -	default n +	bool "time (6.8 kb)" +	default y +	help +	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_TREE +	bool "tree (0.6 kb)" +	default y +	help +	List files and directories in a tree structure. +config BUSYBOX_TS +	bool "ts (450 bytes)" +	default y +config BUSYBOX_TTYSIZE +	bool "ttysize (432 bytes)" +	default y +	help +	A replacement for "stty size". Unlike stty, can report only width, +	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_UBIATTACH +	bool "ubiattach (4.2 kb)" +	default y  	help -	  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. +	Attach MTD device to an UBI device. -config BUSYBOX_TIMEOUT -	bool "timeout" -	default n +config BUSYBOX_UBIDETACH +	bool "ubidetach (4.1 kb)" +	default y  	help -	  Runs a program and watches it. If it does not terminate in -	  specified number of seconds, it is sent a signal. +	Detach MTD device from an UBI device. -config BUSYBOX_TTYSIZE -	bool "ttysize" -	default n +config BUSYBOX_UBIMKVOL +	bool "ubimkvol (5.3 kb)" +	default y  	help -	  A replacement for "stty size". Unlike stty, can report only width, -	  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`. +	Create a UBI volume. -config BUSYBOX_VOLNAME -	bool "volname" -	default n +config BUSYBOX_UBIRMVOL +	bool "ubirmvol (4.9 kb)" +	default y  	help -	  Prints a CD-ROM volume name. +	Delete a UBI volume. -config BUSYBOX_WALL -	bool "wall" -	default n -	depends on BUSYBOX_FEATURE_UTMP +config BUSYBOX_UBIRSVOL +	bool "ubirsvol (4.2 kb)" +	default y  	help -	  Write a message to all users that are logged in. +	Resize a UBI volume. +config BUSYBOX_UBIUPDATEVOL +	bool "ubiupdatevol (5.2 kb)" +	default y +	help +	Update a UBI volume. +config BUSYBOX_UBIRENAME +	bool "ubirename (2.4 kb)" +	default y +	help +	Utility to rename UBI volumes +config BUSYBOX_VOLNAME +	bool "volname (1.6 kb)" +	default y +	help +	Prints a CD-ROM volume name.  config BUSYBOX_WATCHDOG -	bool "watchdog" -	default y if ADK_TARGET_WITH_WATCHDOG -	default n -	depends on !BUSYBOX_DISABLE_WATCHDOG -	select BUSYBOX_PLATFORM_LINUX -	help -	  The watchdog utility is used with hardware or software watchdog -	  device drivers. It opens the specified watchdog device special file -	  and periodically writes a magic character to the device. If the -	  watchdog applet ever fails to write the magic character within a -	  certain amount of time, the watchdog device assumes the system has -	  hung, and will cause the hardware to reboot. +	bool "watchdog (5.3 kb)" +	default y +	help +	The watchdog utility is used with hardware or software watchdog +	device drivers. It opens the specified watchdog device special file +	and periodically writes a magic character to the device. If the +	watchdog applet ever fails to write the magic character within a +	certain amount of time, the watchdog device assumes the system has +	hung, and will cause the hardware to reboot. + +config BUSYBOX_FEATURE_WATCHDOG_OPEN_TWICE +	bool "Open watchdog device twice, closing it gracefully in between" +	depends on BUSYBOX_WATCHDOG +	default n   # this behavior was essentially a hack for a broken driver +	help +	When enabled, the watchdog device is opened and then immediately +	magic-closed, before being opened a second time. This may be necessary +	for some watchdog devices, but can cause spurious warnings in the +	kernel log if the nowayout feature is enabled. If this workaround +	is really needed for you machine to work properly, consider whether +	it should be fixed in the kernel driver instead. Even when disabled, +	the behaviour is easily emulated with a "printf 'V' > /dev/watchdog" +	immediately before starting the busybox watchdog daemon. Say n unless +	you know that you absolutely need this.  endmenu diff --git a/package/busybox/config/modutils/Config.in b/package/busybox/config/modutils/Config.in index 27709277d..795b00a0d 100644 --- a/package/busybox/config/modutils/Config.in +++ b/package/busybox/config/modutils/Config.in @@ -1,276 +1,239 @@  # DO NOT EDIT. This file is generated from Config.src  #  # For a description of the syntax of this configuration file, -# see scripts/kbuild/config-language.txt. +# see docs/Kconfig-language.txt.  #  menu "Linux Module Utilities" -config BUSYBOX_MODINFO -	bool "modinfo" -	default n -	depends on !BUSYBOX_DISABLE_KMOD -	select BUSYBOX_PLATFORM_LINUX -	help -	  Show information about a Linux Kernel module -  config BUSYBOX_MODPROBE_SMALL  	bool "Simplified modutils" -	default n -	depends on !BUSYBOX_DISABLE_KMOD -	select BUSYBOX_PLATFORM_LINUX +	default y  	help -	  Simplified modutils. - -	  With this option modprobe does not require modules.dep file -	  and does not use /etc/modules.conf file. -	  It scans module files in /lib/modules/`uname -r` and -	  determines dependencies and module alias names on the fly. -	  This may make module loading slower, most notably -	  when one needs to load module by alias (this requires -	  scanning through module _bodies_). - -	  At the first attempt to load a module by alias modprobe -	  will try to generate modules.dep.bb file in order to speed up -	  future loads by alias. Failure to do so (read-only /lib/modules, -	  etc) is not reported, and future modprobes will be slow too. +	Build smaller (~1.5 kbytes), simplified module tools. -	  NB: modules.dep.bb file format is not compatible -	  with modules.dep file as created/used by standard module tools. +	This option by itself does not enable any applets - +	you need to select applets individually below. -	  Additional module parameters can be stored in -	  /etc/modules/$module_name files. +	With this option modprobe does not require modules.dep file +	and does not use /etc/modules.conf file. +	It scans module files in /lib/modules/`uname -r` and +	determines dependencies and module alias names on the fly. +	This may make module loading slower, most notably +	when one needs to load module by alias (this requires +	scanning through module _bodies_). -	  Apart from modprobe, other utilities are also provided: -	  - insmod is an alias to modprobe -	  - rmmod is an alias to modprobe -r -	  - depmod generates modules.dep.bb +	At the first attempt to load a module by alias modprobe +	will try to generate modules.dep.bb file in order to speed up +	future loads by alias. Failure to do so (read-only /lib/modules, +	etc) is not reported, and future modprobes will be slow too. -	  As of 2008-07, this code is experimental. It is 14kb smaller -	  than "non-small" modutils. +	NB: modules.dep.bb file format is not compatible +	with modules.dep file as created/used by standard module tools. -config BUSYBOX_FEATURE_MODPROBE_SMALL_OPTIONS_ON_CMDLINE -	bool "Accept module options on modprobe command line" -	default y -	depends on BUSYBOX_MODPROBE_SMALL -	select BUSYBOX_PLATFORM_LINUX -	help -	  Allow insmod and modprobe take module options from command line. +	Additional module parameters can be stored in +	/etc/modules/$module_name files. -config BUSYBOX_FEATURE_MODPROBE_SMALL_CHECK_ALREADY_LOADED -	bool "Skip loading of already loaded modules" +config BUSYBOX_DEPMOD +	bool "depmod (27 kb)"  	default y -	depends on BUSYBOX_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_INSMOD -	bool "insmod" +	bool "insmod (22 kb)"  	default y -	depends on !BUSYBOX_MODPROBE_SMALL -	depends on !BUSYBOX_DISABLE_KMOD -	select BUSYBOX_PLATFORM_LINUX  	help -	  insmod is used to load specified modules in the running kernel. - -config BUSYBOX_RMMOD -	bool "rmmod" -	default y -	depends on !BUSYBOX_MODPROBE_SMALL -	depends on !BUSYBOX_DISABLE_KMOD -	select BUSYBOX_PLATFORM_LINUX -	help -	  rmmod is used to unload specified modules from the kernel. - +	insmod is used to load specified modules in the running kernel.  config BUSYBOX_LSMOD -	bool "lsmod" +	bool "lsmod (1.9 kb)"  	default y -	depends on !BUSYBOX_MODPROBE_SMALL -	depends on !BUSYBOX_DISABLE_KMOD -	select BUSYBOX_PLATFORM_LINUX  	help -	  lsmod is used to display a list of loaded modules. +	lsmod is used to display a list of loaded modules.  config BUSYBOX_FEATURE_LSMOD_PRETTY_2_6_OUTPUT  	bool "Pretty output" -	default n -	depends on BUSYBOX_LSMOD -	select BUSYBOX_PLATFORM_LINUX +	default y +	depends on BUSYBOX_LSMOD && !BUSYBOX_MODPROBE_SMALL  	help -	  This option makes output format of lsmod adjusted to -	  the format of module-init-tools for Linux kernel 2.6. -	  Increases size somewhat. - +	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_MODINFO +	bool "modinfo (24 kb)" +	default y +	help +	Show information about a Linux Kernel module  config BUSYBOX_MODPROBE -	bool "modprobe" -	default n -	depends on !BUSYBOX_DISABLE_KMOD -	depends on !BUSYBOX_MODPROBE_SMALL -	select BUSYBOX_PLATFORM_LINUX +	bool "modprobe (28 kb)" +	default y  	help -	  Handle the loading of modules, and their dependencies on a high -	  level. +	Handle the loading of modules, and their dependencies on a high +	level.  config BUSYBOX_FEATURE_MODPROBE_BLACKLIST  	bool "Blacklist support" -	default n -	depends on BUSYBOX_MODPROBE -	select BUSYBOX_PLATFORM_LINUX +	default y +	depends on BUSYBOX_MODPROBE && !BUSYBOX_MODPROBE_SMALL  	help -	  Say 'y' here to enable support for the 'blacklist' command in -	  modprobe.conf. This prevents the alias resolver to resolve -	  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_DEPMOD -	bool "depmod" -	default n -	depends on !BUSYBOX_DISABLE_KMOD -	depends on !BUSYBOX_MODPROBE_SMALL -	select BUSYBOX_PLATFORM_LINUX +	Say 'y' here to enable support for the 'blacklist' command in +	modprobe.conf. This prevents the alias resolver to resolve +	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_RMMOD +	bool "rmmod (3.3 kb)" +	default y  	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" -config BUSYBOX_FEATURE_2_4_MODULES -	bool "Support version 2.2/2.4 Linux kernels" -	default n -	depends on BUSYBOX_INSMOD || BUSYBOX_RMMOD || BUSYBOX_LSMOD -	select BUSYBOX_PLATFORM_LINUX +config BUSYBOX_FEATURE_CMDLINE_MODULE_OPTIONS +	bool "Accept module options on modprobe command line" +	default y +	depends on BUSYBOX_INSMOD || BUSYBOX_MODPROBE  	help -	  Support module loading for 2.2.x and 2.4.x Linux kernels. -	  This increases size considerably. Say N unless you plan -	  to run ancient kernels. +	Allow insmod and modprobe take module options from the applets' +	command line. -config BUSYBOX_FEATURE_INSMOD_TRY_MMAP -	bool "Try to load module from a mmap'ed area" -	default n -	depends on BUSYBOX_INSMOD || BUSYBOX_MODPROBE_SMALL -	select BUSYBOX_PLATFORM_LINUX +config BUSYBOX_FEATURE_MODPROBE_SMALL_CHECK_ALREADY_LOADED +	bool "Skip loading of already loaded modules" +	default y +	depends on BUSYBOX_MODPROBE_SMALL && (BUSYBOX_DEPMOD || BUSYBOX_INSMOD || BUSYBOX_MODPROBE)  	help -	  This option causes module loading code to try to mmap -	  module first. If it does not work (for example, -	  it does not work for compressed modules), module will be read -	  (and unpacked if needed) into a memory block allocated by malloc. +	Check if the module is already loaded. -	  The only case when mmap works but malloc does not is when -	  you are trying to load a big module on a very memory-constrained -	  machine. Malloc will momentarily need 2x as much memory as mmap. - -	  Choosing N saves about 250 bytes of code (on 32-bit x86). +config BUSYBOX_FEATURE_2_4_MODULES +	bool "Support version 2.2/2.4 Linux kernels" +	default n +	depends on (BUSYBOX_INSMOD || BUSYBOX_LSMOD || BUSYBOX_MODPROBE || BUSYBOX_RMMOD) && !BUSYBOX_MODPROBE_SMALL +	help +	Support module loading for 2.2.x and 2.4.x Linux kernels. +	This increases size considerably. Say N unless you plan +	to run ancient kernels.  config BUSYBOX_FEATURE_INSMOD_VERSION_CHECKING  	bool "Enable module version checking"  	default n  	depends on BUSYBOX_FEATURE_2_4_MODULES && (BUSYBOX_INSMOD || BUSYBOX_MODPROBE) -	select BUSYBOX_PLATFORM_LINUX  	help -	  Support checking of versions for modules. This is used to -	  ensure that the kernel and module are made for each other. +	Support checking of versions for modules. This is used to +	ensure that the kernel and module are made for each other.  config BUSYBOX_FEATURE_INSMOD_KSYMOOPS_SYMBOLS  	bool "Add module symbols to kernel symbol table"  	default n  	depends on BUSYBOX_FEATURE_2_4_MODULES && (BUSYBOX_INSMOD || BUSYBOX_MODPROBE) -	select BUSYBOX_PLATFORM_LINUX  	help -	  By adding module symbols to the kernel symbol table, Oops messages -	  occuring within kernel modules can be properly debugged. By enabling -	  this feature, module symbols will always be added to the kernel symbol -	  table for proper debugging support. If you are not interested in -	  Oops messages from kernel modules, say N. +	By adding module symbols to the kernel symbol table, Oops messages +	occurring within kernel modules can be properly debugged. By enabling +	this feature, module symbols will always be added to the kernel symbol +	table for proper debugging support. If you are not interested in +	Oops messages from kernel modules, say N.  config BUSYBOX_FEATURE_INSMOD_LOADINKMEM  	bool "In kernel memory optimization (uClinux only)"  	default n  	depends on BUSYBOX_FEATURE_2_4_MODULES && (BUSYBOX_INSMOD || BUSYBOX_MODPROBE) -	select BUSYBOX_PLATFORM_LINUX  	help -	  This is a special uClinux only memory optimization that lets insmod -	  load the specified kernel module directly into kernel space, reducing -	  memory usage by preventing the need for two copies of the module -	  being loaded into memory. +	This is a special uClinux only memory optimization that lets insmod +	load the specified kernel module directly into kernel space, reducing +	memory usage by preventing the need for two copies of the module +	being loaded into memory.  config BUSYBOX_FEATURE_INSMOD_LOAD_MAP  	bool "Enable insmod load map (-m) option"  	default n  	depends on BUSYBOX_FEATURE_2_4_MODULES && BUSYBOX_INSMOD -	select BUSYBOX_PLATFORM_LINUX  	help -	  Enabling this, one would be able to get a load map -	  output on stdout. This makes kernel module debugging -	  easier. -	  If you don't plan to debug kernel modules, you -	  don't need this option. +	Enabling this, one would be able to get a load map +	output on stdout. This makes kernel module debugging +	easier. +	If you don't plan to debug kernel modules, you +	don't need this option.  config BUSYBOX_FEATURE_INSMOD_LOAD_MAP_FULL  	bool "Symbols in load map" -	default n -	depends on BUSYBOX_FEATURE_INSMOD_LOAD_MAP && !BUSYBOX_MODPROBE_SMALL -	select BUSYBOX_PLATFORM_LINUX +	default y +	depends on BUSYBOX_FEATURE_INSMOD_LOAD_MAP  	help -	  Without this option, -m will only output section -	  load map. With this option, -m will also output -	  symbols load map. +	Without this option, -m will only output section +	load map. With this option, -m will also output +	symbols load map.  config BUSYBOX_FEATURE_CHECK_TAINTED_MODULE  	bool "Support tainted module checking with new kernels"  	default y  	depends on (BUSYBOX_LSMOD || BUSYBOX_FEATURE_2_4_MODULES) && !BUSYBOX_MODPROBE_SMALL -	select BUSYBOX_PLATFORM_LINUX  	help -	  Support checking for tainted modules. These are usually binary -	  only modules that will make the linux-kernel list ignore your -	  support request. -	  This option is required to support GPLONLY modules. +	Support checking for tainted modules. These are usually binary +	only modules that will make the linux-kernel list ignore your +	support request. +	This option is required to support GPLONLY modules. + +config BUSYBOX_FEATURE_INSMOD_TRY_MMAP +	bool "Try to load module from a mmap'ed area" +	default n +	depends on (BUSYBOX_INSMOD || BUSYBOX_MODPROBE) && !BUSYBOX_MODPROBE_SMALL +	help +	This option causes module loading code to try to mmap +	module first. If it does not work (for example, +	it does not work for compressed modules), module will be read +	(and unpacked if needed) into a memory block allocated by malloc. + +	The only case when mmap works but malloc does not is when +	you are trying to load a big module on a very memory-constrained +	machine. Malloc will momentarily need 2x as much memory as mmap. + +	Choosing N saves about 250 bytes of code (on 32-bit x86).  config BUSYBOX_FEATURE_MODUTILS_ALIAS -	bool "Support for module.aliases file" +	bool "Support module.aliases file"  	default y -	depends on BUSYBOX_DEPMOD || BUSYBOX_MODPROBE -	select BUSYBOX_PLATFORM_LINUX +	depends on (BUSYBOX_DEPMOD || BUSYBOX_MODPROBE) && !BUSYBOX_MODPROBE_SMALL  	help -	  Generate and parse modules.alias containing aliases for bus -	  identifiers: -	    alias pcmcia:m*c*f03fn*pfn*pa*pb*pc*pd* parport_cs +	Generate and parse modules.alias containing aliases for bus +	identifiers: +		alias pcmcia:m*c*f03fn*pfn*pa*pb*pc*pd* parport_cs -	  and aliases for logical modules names e.g.: -	    alias padlock_aes aes -	    alias aes_i586 aes -	    alias aes_generic aes +	and aliases for logical modules names e.g.: +		alias padlock_aes aes +		alias aes_i586 aes +		alias aes_generic aes -	  Say Y if unsure. +	Say Y if unsure.  config BUSYBOX_FEATURE_MODUTILS_SYMBOLS -	bool "Support for module.symbols file" +	bool "Support module.symbols file"  	default y -	depends on BUSYBOX_DEPMOD || BUSYBOX_MODPROBE -	select BUSYBOX_PLATFORM_LINUX +	depends on (BUSYBOX_DEPMOD || BUSYBOX_MODPROBE) && !BUSYBOX_MODPROBE_SMALL  	help -	  Generate and parse modules.symbols containing aliases for -	  symbol_request() kernel calls, such as: -	    alias symbol:usb_sg_init usbcore +	Generate and parse modules.symbols containing aliases for +	symbol_request() kernel calls, such as: +		alias symbol:usb_sg_init usbcore -	  Say Y if unsure. +	Say Y if unsure.  config BUSYBOX_DEFAULT_MODULES_DIR  	string "Default directory containing modules"  	default "/lib/modules" -	depends on BUSYBOX_DEPMOD || BUSYBOX_MODPROBE || BUSYBOX_MODPROBE_SMALL || BUSYBOX_MODINFO +	depends on BUSYBOX_DEPMOD || BUSYBOX_MODPROBE || BUSYBOX_MODINFO  	help -	  Directory that contains kernel modules. -	  Defaults to "/lib/modules" +	Directory that contains kernel modules. +	Defaults to "/lib/modules"  config BUSYBOX_DEFAULT_DEPMOD_FILE  	string "Default name of modules.dep"  	default "modules.dep" -	depends on BUSYBOX_DEPMOD || BUSYBOX_MODPROBE || BUSYBOX_MODPROBE_SMALL || BUSYBOX_MODINFO -	help -	  Filename that contains kernel modules dependencies. -	  Defaults to "modules.dep" +	depends on BUSYBOX_DEPMOD || BUSYBOX_MODPROBE || BUSYBOX_MODINFO +	help +	Filename that contains kernel modules dependencies. +	Defaults to "modules.dep". +	If you configured the "simplified modutils" (BUSYBOX_MODPROBE_SMALL), a +	".bb" suffix will be added after this name. Do not specify ".bb" +	here unless you intend your depmod or modprobe to work on +	"modules.dep.bb.bb" or such.  endmenu diff --git a/package/busybox/config/networking/Config.in b/package/busybox/config/networking/Config.in index 8592e66ef..9ed63b71f 100644 --- a/package/busybox/config/networking/Config.in +++ b/package/busybox/config/networking/Config.in @@ -1,1147 +1,1265 @@  # DO NOT EDIT. This file is generated from Config.src  #  # For a description of the syntax of this configuration file, -# see scripts/kbuild/config-language.txt. +# see docs/Kconfig-language.txt.  #  menu "Networking Utilities" -config BUSYBOX_NAMEIF -	bool "nameif" -	default n -	select BUSYBOX_PLATFORM_LINUX -	select BUSYBOX_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_FEATURE_NAMEIF_EXTENDED -	bool "Extended nameif" +config BUSYBOX_FEATURE_IPV6 +	bool "Enable IPv6 support"  	default y -	depends on BUSYBOX_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_NBDCLIENT -	bool "nbd-client" -	default n  	help -	  Network block device client +	Enable IPv6 support in busybox. +	This adds IPv6 support in the networking applets. -config BUSYBOX_NC -	bool "nc" +config BUSYBOX_FEATURE_UNIX_LOCAL +	bool "Enable Unix domain socket support (usually not needed)"  	default n  	help -	  A simple Unix utility which reads and writes data across network -	  connections. +	Enable Unix domain socket support in all busybox networking +	applets.  Address of the form local:/path/to/unix/socket +	will be recognized. -config BUSYBOX_NC_SERVER -	bool "Netcat server options (-l)" -	default y -	depends on BUSYBOX_NC -	help -	  Allow netcat to act as a server. +	This extension is almost never used in real world usage. +	You most likely want to say N. -config BUSYBOX_NC_EXTRA -	bool "Netcat extensions (-eiw and filename)" +config BUSYBOX_FEATURE_PREFER_IPV4_ADDRESS +	bool "Prefer IPv4 addresses from DNS queries"  	default y -	depends on BUSYBOX_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_NC_110_COMPAT -	bool "Netcat 1.10 compatibility (+2.5k)" -	default n  # off specially for Rob -	depends on BUSYBOX_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 and -ll. - -config BUSYBOX_PING -	bool "ping" -	default y if ADK_TARGET_WITH_NET -	select BUSYBOX_PLATFORM_LINUX +	depends on BUSYBOX_FEATURE_IPV6  	help -	  ping uses the ICMP protocol's mandatory ECHO_REQUEST datagram to -	  elicit an ICMP ECHO_RESPONSE from a host or gateway. +	Use IPv4 address of network host if it has one. -config BUSYBOX_PING6 -	bool "ping6" -	default y if ADK_TARGET_WITH_NET -	depends on BUSYBOX_FEATURE_IPV6 && BUSYBOX_PING -	help -	  This will give you a ping that can talk IPv6. +	If this option is off, the first returned address will be used. +	This may cause problems when your DNS server is IPv6-capable and +	is returning IPv6 host addresses too. If IPv6 address +	precedes IPv4 one in DNS reply, busybox network applets +	(e.g. wget) will use IPv6 address. On an IPv6-incapable host +	or network applets will fail to connect to the host +	using IPv6 address. -config BUSYBOX_FEATURE_FANCY_PING -	bool "Enable fancy ping output" -	default y -	depends on BUSYBOX_PING -	help -	  Make the output from the ping applet include statistics, and at the -	  same time provide full support for ICMP packets. - -config BUSYBOX_WHOIS -	bool "whois" +config BUSYBOX_VERBOSE_RESOLUTION_ERRORS +	bool "Verbose resolution errors"  	default n  	help -	  whois is a client for the whois directory service +	Enable if you are not satisfied with simplistic +	"can't resolve 'hostname.com'" and want to know more. +	This may increase size of your executable a bit. -config BUSYBOX_FEATURE_IPV6 -	bool "Enable IPv6 support" +config BUSYBOX_FEATURE_ETC_NETWORKS +	bool "Support /etc/networks"  	default n  	help -	  Enable IPv6 support in busybox. -	  This adds IPv6 support in the networking applets. +	Enable support for network names in /etc/networks. This is +	a rarely used feature which allows you to use names +	instead of IP/mask pairs in route command. -config BUSYBOX_FEATURE_UNIX_LOCAL -	bool "Enable Unix domain socket support (usually not needed)" +config BUSYBOX_FEATURE_ETC_SERVICES +	bool "Consult /etc/services even for well-known ports"  	default n  	help -	  Enable Unix domain socket support in all busybox networking -	  applets.  Address of the form local:/path/to/unix/socket -	  will be recognized. - -	  This extension is almost never used in real world usage. -	  You most likely want to say N. +	Look up e.g. "telnet" and "http" in /etc/services file +	instead of assuming ports 23 and 80. +	This is almost never necessary (everybody uses standard ports), +	and it makes sense to avoid reading this file. +	If you disable this option, in the cases where port is explicitly +	specified as a service name (e.g. "telnet HOST PORTNAME"), +	it will still be looked up in /etc/services. -config BUSYBOX_FEATURE_PREFER_IPV4_ADDRESS -	bool "Prefer IPv4 addresses from DNS queries" +config BUSYBOX_FEATURE_HWIB +	bool "Support infiniband HW"  	default y -	depends on BUSYBOX_FEATURE_IPV6  	help -	  Use IPv4 address of network host if it has one. +	Support for printing infiniband addresses in network applets. -	  If this option is off, the first returned address will be used. -	  This may cause problems when your DNS server is IPv6-capable and -	  is returning IPv6 host addresses too. If IPv6 address -	  precedes IPv4 one in DNS reply, busybox network applets -	  (e.g. wget) will use IPv6 address. On an IPv6-incapable host -	  or network applets will fail to connect to the host -	  using IPv6 address. - -config BUSYBOX_VERBOSE_RESOLUTION_ERRORS -	bool "Verbose resolution errors" +config BUSYBOX_FEATURE_TLS_SHA1 +	bool "In TLS code, support ciphers which use deprecated SHA1" +	depends on BUSYBOX_TLS  	default n  	help -	  Enable if you are not satisfied with simplistic -	  "can't resolve 'hostname.com'" and want to know more. -	  This may increase size of your executable a bit. +	Selecting this option increases interoperability with very old +	servers, but slightly increases code size. + +	Most TLS servers support SHA256 today (2018), since SHA1 is +	considered possibly insecure (although not yet definitely broken).  config BUSYBOX_ARP -	bool "arp" -	default n -	select BUSYBOX_PLATFORM_LINUX +	bool "arp (10 kb)" +	default y  	help -	  Manipulate the system ARP cache. - +	Manipulate the system ARP cache.  config BUSYBOX_ARPING -	bool "arping" -	default n -	select BUSYBOX_PLATFORM_LINUX +	bool "arping (9 kb)" +	default y  	help -	  Ping hosts by ARP packets. - +	Ping hosts by ARP packets.  config BUSYBOX_BRCTL -	bool "brctl" -	depends on !BUSYBOX_DISABLE_BRCTL -	default n -	select BUSYBOX_PLATFORM_LINUX +	bool "brctl (4.7 kb)" +	default y  	help -	  Manage ethernet bridges. -	  Supports addbr/delbr and addif/delif. +	Manage ethernet bridges. +	Supports addbr/delbr and addif/delif.  config BUSYBOX_FEATURE_BRCTL_FANCY  	bool "Fancy options"  	default y  	depends on BUSYBOX_BRCTL  	help -	  Add support for extended option like: -	    setageing, setfd, sethello, setmaxage, -	    setpathcost, setportprio, setbridgeprio, -	    stp -	  This adds about 600 bytes. +	Add support for extended option like: +		setageing, setfd, sethello, setmaxage, +		setpathcost, setportprio, setbridgeprio, +		stp +	This adds about 600 bytes.  config BUSYBOX_FEATURE_BRCTL_SHOW -	bool "Support show, showmac and showstp" +	bool "Support show"  	default y  	depends on BUSYBOX_BRCTL && BUSYBOX_FEATURE_BRCTL_FANCY  	help -	  Add support for option which prints the current config: -	    showmacs, showstp, show - +	Add support for option which prints the current config: +		show  config BUSYBOX_DNSD -	bool "dnsd" -	default n +	bool "dnsd (9.8 kb)" +	default y  	help -	  Small and static DNS server daemon. - +	Small and static DNS server daemon.  config BUSYBOX_ETHER_WAKE -	bool "ether-wake" -	depends on !BUSYBOX_DISABLE_ETHER_WAKE -	default n -	select BUSYBOX_PLATFORM_LINUX -	help -	  Send a magic packet to wake up sleeping machines. - -config BUSYBOX_FAKEIDENTD -	bool "fakeidentd" -	default n -	select BUSYBOX_FEATURE_SYSLOG +	bool "ether-wake (4.9 kb)" +	default y  	help -	  fakeidentd listens on the ident port and returns a predefined -	  fake value on any query. - +	Send a magic packet to wake up sleeping machines.  config BUSYBOX_FTPD -	bool "ftpd" -	default n +	bool "ftpd (30 kb)" +	default y  	help -	  simple FTP daemon. You have to run it via inetd. +	Simple FTP daemon. You have to run it via inetd. -config BUSYBOX_FEATURE_FTP_WRITE -	bool "Enable upload commands" +config BUSYBOX_FEATURE_FTPD_WRITE +	bool "Enable -w (upload commands)"  	default y  	depends on BUSYBOX_FTPD  	help -	  Enable all kinds of FTP upload commands (-w option) +	Enable -w option. "ftpd -w" will accept upload commands +	such as STOR, STOU, APPE, DELE, MKD, RMD, rename commands.  config BUSYBOX_FEATURE_FTPD_ACCEPT_BROKEN_LIST  	bool "Enable workaround for RFC-violating clients"  	default y  	depends on BUSYBOX_FTPD  	help -	  Some ftp clients (among them KDE's Konqueror) issue illegal -	  "LIST -l" requests. This option works around such problems. -	  It might prevent you from listing files starting with "-" and -	  it increases the code size by ~40 bytes. -	  Most other ftp servers seem to behave similar to this. +	Some ftp clients (among them KDE's Konqueror) issue illegal +	"LIST -l" requests. This option works around such problems. +	It might prevent you from listing files starting with "-" and +	it increases the code size by ~40 bytes. +	Most other ftp servers seem to behave similar to this. +config BUSYBOX_FEATURE_FTPD_AUTHENTICATION +	bool "Enable authentication" +	default y +	depends on BUSYBOX_FTPD +	help +	Require login, and change to logged in user's UID:GID before +	accessing any files. Option "-a USER" allows "anonymous" +	logins (treats them as if USER logged in). + +	If this option is not selected, ftpd runs with the rights +	of the user it was started under, and does not require login. +	Take care to not launch it under root.  config BUSYBOX_FTPGET -	bool "ftpget" -	default n +	bool "ftpget (7.8 kb)" +	default y  	help -	  Retrieve a remote file via FTP. +	Retrieve a remote file via FTP.  config BUSYBOX_FTPPUT -	bool "ftpput" -	default n +	bool "ftpput (7.5 kb)" +	default y  	help -	  Store a remote file via FTP. +	Store a remote file via FTP.  config BUSYBOX_FEATURE_FTPGETPUT_LONG_OPTIONS  	bool "Enable long options in ftpget/ftpput"  	default y  	depends on BUSYBOX_LONG_OPTS && (BUSYBOX_FTPGET || BUSYBOX_FTPPUT) -	help -	  Support long options for the ftpget/ftpput applet. -  config BUSYBOX_HOSTNAME -	bool "hostname" +	bool "hostname (5.5 kb)"  	default y  	help -	  Show or set the system's host name. +	Show or set the system's host name.  config BUSYBOX_DNSDOMAINNAME -	bool "dnsdomainname" -	default n +	bool "dnsdomainname (3.6 kb)" +	default y  	help -	  Alias to "hostname -d". - +	Alias to "hostname -d".  config BUSYBOX_HTTPD -	bool "httpd" -	default n +	bool "httpd (32 kb)" +	default y  	help -	  Serve web pages via an HTTP server. +	HTTP server. -config BUSYBOX_FEATURE_HTTPD_RANGES -	bool "Support 'Ranges:' header" -	default y +config BUSYBOX_FEATURE_HTTPD_PORT_DEFAULT +	int "Default port" +	default 80 +	range 1 65535  	depends on BUSYBOX_HTTPD -	help -	  Makes httpd emit "Accept-Ranges: bytes" header and understand -	  "Range: bytes=NNN-[MMM]" header. Allows for resuming interrupted -	  downloads, seeking in multimedia players etc. -config BUSYBOX_FEATURE_HTTPD_USE_SENDFILE -	bool "Use sendfile system call" +config BUSYBOX_FEATURE_HTTPD_RANGES +	bool "Support 'Ranges:' header"  	default y  	depends on BUSYBOX_HTTPD  	help -	  When enabled, httpd will use the kernel sendfile() function -	  instead of read/write loop. +	Makes httpd emit "Accept-Ranges: bytes" header and understand +	"Range: bytes=NNN-[MMM]" header. Allows for resuming interrupted +	downloads, seeking in multimedia players etc.  config BUSYBOX_FEATURE_HTTPD_SETUID  	bool "Enable -u <user> option"  	default y  	depends on BUSYBOX_HTTPD  	help -	  This option allows the server to run as a specific user -	  rather than defaulting to the user that starts the server. -	  Use of this option requires special privileges to change to a -	  different user. +	This option allows the server to run as a specific user +	rather than defaulting to the user that starts the server. +	Use of this option requires special privileges to change to a +	different user.  config BUSYBOX_FEATURE_HTTPD_BASIC_AUTH -	bool "Enable Basic http Authentication" +	bool "Enable HTTP authentication"  	default y  	depends on BUSYBOX_HTTPD  	help -	  Utilizes password settings from /etc/httpd.conf for basic -	  authentication on a per url basis. -	  Example for httpd.conf file: -	  /adm:toor:PaSsWd +	Utilizes password settings from /etc/httpd.conf for basic +	authentication on a per url basis. +	Example for httpd.conf file: +	/adm:toor:PaSsWd  config BUSYBOX_FEATURE_HTTPD_AUTH_MD5 -	bool "Support MD5 crypted passwords for http Authentication" +	bool "Support MD5-encrypted passwords in HTTP authentication"  	default y  	depends on BUSYBOX_FEATURE_HTTPD_BASIC_AUTH  	help -	  Enables encrypted passwords, and wildcard user/passwords -	  in httpd.conf file. -	  User '*' means 'any system user name is ok', -	  password of '*' means 'use system password for this user' -	  Examples: -	  /adm:toor:$1$P/eKnWXS$aI1aPGxT.dJD5SzqAKWrF0 -	  /adm:root:* -	  /wiki:*:* +	Enables encrypted passwords, and wildcard user/passwords +	in httpd.conf file. +	User '*' means 'any system user name is ok', +	password of '*' means 'use system password for this user' +	Examples: +	/adm:toor:$1$P/eKnWXS$aI1aPGxT.dJD5SzqAKWrF0 +	/adm:root:* +	/wiki:*:*  config BUSYBOX_FEATURE_HTTPD_CGI  	bool "Support Common Gateway Interface (CGI)"  	default y  	depends on BUSYBOX_HTTPD  	help -	  This option allows scripts and executables to be invoked -	  when specific URLs are requested. +	This option allows scripts and executables to be invoked +	when specific URLs are requested.  config BUSYBOX_FEATURE_HTTPD_CONFIG_WITH_SCRIPT_INTERPR -	bool "Support for running scripts through an interpreter" +	bool "Support running scripts through an interpreter"  	default y  	depends on BUSYBOX_FEATURE_HTTPD_CGI  	help -	  This option enables support for running scripts through an -	  interpreter. Turn this on if you want PHP scripts to work -	  properly. You need to supply an additional line in your -	  httpd.conf file: -	  *.php:/path/to/your/php +	This option enables support for running scripts through an +	interpreter. Turn this on if you want PHP scripts to work +	properly. You need to supply an additional line in your +	httpd.conf file: +	*.php:/path/to/your/php  config BUSYBOX_FEATURE_HTTPD_SET_REMOTE_PORT_TO_ENV  	bool "Set REMOTE_PORT environment variable for CGI"  	default y  	depends on BUSYBOX_FEATURE_HTTPD_CGI  	help -	  Use of this option can assist scripts in generating -	  references that contain a unique port number. +	Use of this option can assist scripts in generating +	references that contain a unique port number.  config BUSYBOX_FEATURE_HTTPD_ENCODE_URL_STR  	bool "Enable -e option (useful for CGIs written as shell scripts)"  	default y  	depends on BUSYBOX_HTTPD  	help -	  This option allows html encoding of arbitrary strings for display -	  by the browser. Output goes to stdout. -	  For example, httpd -e "<Hello World>" produces -	  "<Hello World>". +	This option allows html encoding of arbitrary strings for display +	by the browser. Output goes to stdout. +	For example, httpd -e "<Hello World>" produces +	"<Hello World>".  config BUSYBOX_FEATURE_HTTPD_ERROR_PAGES -	bool "Support for custom error pages" +	bool "Support custom error pages"  	default y  	depends on BUSYBOX_HTTPD  	help -	  This option allows you to define custom error pages in -	  the configuration file instead of the default HTTP status -	  error pages. For instance, if you add the line: -	        E404:/path/e404.html -	  in the config file, the server will respond the specified -	  '/path/e404.html' file instead of the terse '404 NOT FOUND' -	  message. +	This option allows you to define custom error pages in +	the configuration file instead of the default HTTP status +	error pages. For instance, if you add the line: +		E404:/path/e404.html +	in the config file, the server will respond the specified +	'/path/e404.html' file instead of the terse '404 NOT FOUND' +	message.  config BUSYBOX_FEATURE_HTTPD_PROXY -	bool "Support for reverse proxy" +	bool "Support reverse proxy"  	default y  	depends on BUSYBOX_HTTPD  	help -	  This option allows you to define URLs that will be forwarded -	  to another HTTP server. To setup add the following line to the -	  configuration file -	        P:/url/:http://hostname[:port]/new/path/ -	  Then a request to /url/myfile will be forwarded to -	  http://hostname[:port]/new/path/myfile. +	This option allows you to define URLs that will be forwarded +	to another HTTP server. To setup add the following line to the +	configuration file +		P:/url/:http://hostname[:port]/new/path/ +	Then a request to /url/myfile will be forwarded to +	http://hostname[:port]/new/path/myfile.  config BUSYBOX_FEATURE_HTTPD_GZIP -	bool "Support for GZIP content encoding" +	bool "Support GZIP content encoding" +	default y +	depends on BUSYBOX_HTTPD +	help +	Makes httpd send files using GZIP content encoding if the +	client supports it and a pre-compressed <file>.gz exists. + +config BUSYBOX_FEATURE_HTTPD_ETAG +	bool "Support caching via ETag header"  	default y  	depends on BUSYBOX_HTTPD  	help -	  Makes httpd send files using GZIP content encoding if the -	  client supports it and a pre-compressed <file>.gz exists. +	If server responds with ETag then next time client (browser) +	resend it via If-None-Match header. +	Then httpd will check if file wasn't modified and if not, +	return 304 Not Modified status code. +	The ETag value is constructed from last modification date +	in unix epoch, and size: "hex(last_mod)-hex(file_size)". +	It's not completely reliable as hash functions but fair enough. +config BUSYBOX_FEATURE_HTTPD_LAST_MODIFIED +	bool "Add Last-Modified header to response" +	default y +	depends on BUSYBOX_HTTPD +	help +	The Last-Modified header is used for cache validation. +	The client sends last seen mtime to server in If-Modified-Since. +	Both headers MUST be an RFC 1123 formatted, which is hard to parse. +	Use ETag header instead. + +config BUSYBOX_FEATURE_HTTPD_DATE +	bool "Add Date header to response" +	default y +	depends on BUSYBOX_HTTPD +	help +	RFC2616 says that server MUST add Date header to response. +	But it is almost useless and can be omitted. + +config BUSYBOX_FEATURE_HTTPD_ACL_IP +	bool "ACL IP" +	default y +	depends on BUSYBOX_HTTPD +	help +	Support IP deny/allow rules  config BUSYBOX_IFCONFIG -	bool "ifconfig" -	default y if ADK_TARGET_WITH_NET -	select BUSYBOX_PLATFORM_LINUX +	bool "ifconfig (12 kb)" +	default y  	help -	  Ifconfig is used to configure the kernel-resident network interfaces. +	Ifconfig is used to configure the kernel-resident network interfaces.  config BUSYBOX_FEATURE_IFCONFIG_STATUS  	bool "Enable status reporting output (+7k)"  	default y  	depends on BUSYBOX_IFCONFIG  	help -	  If ifconfig is called with no arguments it will display the status -	  of the currently active interfaces. +	If ifconfig is called with no arguments it will display the status +	of the currently active interfaces.  config BUSYBOX_FEATURE_IFCONFIG_SLIP  	bool "Enable slip-specific options \"keepalive\" and \"outfill\"" -	default n +	default y  	depends on BUSYBOX_IFCONFIG  	help -	  Allow "keepalive" and "outfill" support for SLIP. If you're not -	  planning on using serial lines, leave this unchecked. +	Allow "keepalive" and "outfill" support for SLIP. If you're not +	planning on using serial lines, leave this unchecked.  config BUSYBOX_FEATURE_IFCONFIG_MEMSTART_IOADDR_IRQ  	bool "Enable options \"mem_start\", \"io_addr\", and \"irq\"" -	default n +	default y  	depends on BUSYBOX_IFCONFIG  	help -	  Allow the start address for shared memory, start address for I/O, -	  and/or the interrupt line used by the specified device. +	Allow the start address for shared memory, start address for I/O, +	and/or the interrupt line used by the specified device.  config BUSYBOX_FEATURE_IFCONFIG_HW  	bool "Enable option \"hw\" (ether only)"  	default y  	depends on BUSYBOX_IFCONFIG  	help -	  Set the hardware address of this interface, if the device driver -	  supports  this  operation. Currently, we only support the 'ether' -	  class. +	Set the hardware address of this interface, if the device driver +	supports  this  operation. Currently, we only support the 'ether' +	class.  config BUSYBOX_FEATURE_IFCONFIG_BROADCAST_PLUS  	bool "Set the broadcast automatically"  	default y  	depends on BUSYBOX_IFCONFIG  	help -	  Setting this will make ifconfig attempt to find the broadcast -	  automatically if the value '+' is used. - +	Setting this will make ifconfig attempt to find the broadcast +	automatically if the value '+' is used.  config BUSYBOX_IFENSLAVE -	bool "ifenslave" -	select ADK_LINUX_KERNEL_BONDING m if ADK_TARGET_OS_LINUX -	default n -	select BUSYBOX_PLATFORM_LINUX +	bool "ifenslave (13 kb)" +	default y  	help -	  Userspace application to bind several interfaces -	  to a logical interface (use with kernel bonding driver). - +	Userspace application to bind several interfaces +	to a logical interface (use with kernel bonding driver).  config BUSYBOX_IFPLUGD -	bool "ifplugd" -	default n -	select BUSYBOX_PLATFORM_LINUX +	bool "ifplugd (10 kb)" +	default y  	help -	  Network interface plug detection daemon. - +	Network interface plug detection daemon.  config BUSYBOX_IFUP -	bool "ifup" -	default y if ADK_TARGET_WITH_NET -	help -	  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 -	  course you could use non-busybox versions of these programs, so -	  against my better judgement (since this will surely result in plenty -	  of support questions on the mailing list), I do not force you to -	  enable these additional options. It is up to you to supply either -	  "ifconfig", "route" and "run-parts" or the "ip" command, either -	  via busybox or via standalone utilities. +	bool "ifup (14 kb)" +	default y +	help +	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 +	course you could use non-busybox versions of these programs, so +	against my better judgement (since this will surely result in plenty +	of support questions on the mailing list), I do not force you to +	enable these additional options. It is up to you to supply either +	"ifconfig", "route" and "run-parts" or the "ip" command, either +	via busybox or via standalone utilities.  config BUSYBOX_IFDOWN -	bool "ifdown" -	default y if ADK_TARGET_WITH_NET +	bool "ifdown (13 kb)" +	default y  	help -	  Deactivate the specified interfaces. +	Deactivate the specified interfaces.  config BUSYBOX_IFUPDOWN_IFSTATE_PATH  	string "Absolute path to ifstate file"  	default "/var/run/ifstate" -	depends on BUSYBOX_IFUP +	depends on BUSYBOX_IFUP || BUSYBOX_IFDOWN  	help -	  ifupdown keeps state information in a file called ifstate. -	  Typically it is located in /var/run/ifstate, however -	  some distributions tend to put it in other places -	  (debian, for example, uses /etc/network/run/ifstate). -	  This config option defines location of ifstate. +	ifupdown keeps state information in a file called ifstate. +	Typically it is located in /var/run/ifstate, however +	some distributions tend to put it in other places +	(debian, for example, uses /etc/network/run/ifstate). +	This config option defines location of ifstate.  config BUSYBOX_FEATURE_IFUPDOWN_IP -	bool "Use ip applet" +	bool "Use ip tool (else ifconfig/route is used)"  	default y -	depends on BUSYBOX_IFUP +	depends on BUSYBOX_IFUP || BUSYBOX_IFDOWN  	help -	  Use the iproute "ip" command to implement "ifup" and "ifdown", rather -	  than the default of using the older 'ifconfig' and 'route' utilities. +	Use the iproute "ip" command to implement "ifup" and "ifdown", rather +	than the default of using the older "ifconfig" and "route" utilities. -config BUSYBOX_FEATURE_IFUPDOWN_IFCONFIG_BUILTIN -	bool "Use busybox ifconfig and route applets" -	default n -	depends on BUSYBOX_IFUP && !BUSYBOX_FEATURE_IFUPDOWN_IP -	select BUSYBOX_IFCONFIG -	select BUSYBOX_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_FEATURE_IFUPDOWN_IPV4 -	bool "Support for IPv4" +	bool "Support IPv4"  	default y -	depends on BUSYBOX_IFUP +	depends on BUSYBOX_IFUP || BUSYBOX_IFDOWN  	help -	  If you want ifup/ifdown to talk IPv4, leave this on. +	If you want ifup/ifdown to talk IPv4, leave this on.  config BUSYBOX_FEATURE_IFUPDOWN_IPV6 -	bool "Support for IPv6" +	bool "Support IPv6"  	default y -	depends on BUSYBOX_IFUP && BUSYBOX_FEATURE_IPV6 +	depends on (BUSYBOX_IFUP || BUSYBOX_IFDOWN) && BUSYBOX_FEATURE_IPV6  	help -	  If you need support for IPv6, turn this option on. +	If you need support for IPv6, turn this option on. -### UNUSED -###config FEATURE_IFUPDOWN_IPX -###	bool "Support for IPX" -###	default y -###	depends on BUSYBOX_IFUPDOWN -###	help -###	  If this option is selected you can use busybox to work with IPX -###	  networks.  config BUSYBOX_FEATURE_IFUPDOWN_MAPPING  	bool "Enable mapping support" -	default n -	depends on BUSYBOX_IFUP +	default y +	depends on BUSYBOX_IFUP || BUSYBOX_IFDOWN  	help -	  This enables support for the "mapping" stanza, unless you have -	  a weird network setup you don't need it. +	This enables support for the "mapping" stanza, unless you have +	a weird network setup you don't need it.  config BUSYBOX_FEATURE_IFUPDOWN_EXTERNAL_DHCP -	bool "Support for external dhcp clients" +	bool "Support external DHCP clients"  	default n -	depends on BUSYBOX_IFUP +	depends on BUSYBOX_IFUP || BUSYBOX_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. - +	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_INETD -	bool "inetd" -	default n +	bool "inetd (18 kb)" +	default y  	select BUSYBOX_FEATURE_SYSLOG  	help -	  Internet superserver daemon +	Internet superserver daemon  config BUSYBOX_FEATURE_INETD_SUPPORT_BUILTIN_ECHO -	bool "Support echo service" +	bool "Support echo service on port 7"  	default y  	depends on BUSYBOX_INETD  	help -	  Echo received data internal inetd service +	Internal service which echoes data back. +	Activated by configuration lines like these: +		echo stream tcp nowait root internal +		echo dgram  udp wait   root internal  config BUSYBOX_FEATURE_INETD_SUPPORT_BUILTIN_DISCARD -	bool "Support discard service" +	bool "Support discard service on port 8"  	default y  	depends on BUSYBOX_INETD  	help -	  Internet /dev/null internal inetd service +	Internal service which discards all input. +	Activated by configuration lines like these: +		discard stream tcp nowait root internal +		discard dgram  udp wait   root internal  config BUSYBOX_FEATURE_INETD_SUPPORT_BUILTIN_TIME -	bool "Support time service" +	bool "Support time service on port 37"  	default y  	depends on BUSYBOX_INETD  	help -	  Return 32 bit time since 1900 internal inetd service +	Internal service which returns big-endian 32-bit number +	of seconds passed since 1900-01-01. The number wraps around +	on overflow. +	Activated by configuration lines like these: +		time stream tcp nowait root internal +		time dgram  udp wait   root internal  config BUSYBOX_FEATURE_INETD_SUPPORT_BUILTIN_DAYTIME -	bool "Support daytime service" +	bool "Support daytime service on port 13"  	default y  	depends on BUSYBOX_INETD  	help -	  Return human-readable time internal inetd service +	Internal service which returns human-readable time. +	Activated by configuration lines like these: +		daytime stream tcp nowait root internal +		daytime dgram  udp wait   root internal  config BUSYBOX_FEATURE_INETD_SUPPORT_BUILTIN_CHARGEN -	bool "Support chargen service" +	bool "Support chargen service on port 19"  	default y  	depends on BUSYBOX_INETD  	help -	  Familiar character generator internal inetd service +	Internal service which generates endless stream +	of all ASCII chars beetween space and char 126. +	Activated by configuration lines like these: +		chargen stream tcp nowait root internal +		chargen dgram  udp wait   root internal  config BUSYBOX_FEATURE_INETD_RPC  	bool "Support RPC services" -	default n +	default n  # very rarely used, and needs Sun RPC support in libc  	depends on BUSYBOX_INETD -	select BUSYBOX_FEATURE_HAVE_RPC  	help -	  Support Sun-RPC based services - +	Support Sun-RPC based services  config BUSYBOX_IP -	bool "ip" -	depends on !BUSYBOX_DISABLE_IP -	default y if ADK_TARGET_WITH_NET -	select BUSYBOX_PLATFORM_LINUX +	bool "ip (35 kb)" +	default y +	help +	The "ip" applet is a TCP/BUSYBOX_IP interface configuration and routing +	utility. +	Short forms (enabled below) are busybox-specific extensions. +	The standard "ip" utility does not provide them. If you are +	trying to be portable, it's better to use "ip CMD" forms. + +config BUSYBOX_IPADDR +	bool "ipaddr (14 kb)" +	default y +	select BUSYBOX_FEATURE_IP_ADDRESS +	help +	Short form of "ip addr" + +config BUSYBOX_IPLINK +	bool "iplink (17 kb)" +	default y +	select BUSYBOX_FEATURE_IP_LINK +	help +	Short form of "ip link" + +config BUSYBOX_FEATURE_IP_LINK_CAN +	bool "ip link set type can" +	default n +	help +	Configure CAN devices with "ip". + +config BUSYBOX_IPROUTE +	bool "iproute (15 kb)" +	default y +	select BUSYBOX_FEATURE_IP_ROUTE +	help +	Short form of "ip route" + +config BUSYBOX_IPTUNNEL +	bool "iptunnel (9.6 kb)" +	default y +	select BUSYBOX_FEATURE_IP_TUNNEL +	help +	Short form of "ip tunnel" + +config BUSYBOX_IPRULE +	bool "iprule (10 kb)" +	default y +	select BUSYBOX_FEATURE_IP_RULE +	help +	Short form of "ip rule" + +config BUSYBOX_IPNEIGH +	bool "ipneigh (8.3 kb)" +	default y +	select BUSYBOX_FEATURE_IP_NEIGH  	help -	  The "ip" applet is a TCP/IP interface configuration and routing -	  utility. You generally don't need "ip" to use busybox with -	  TCP/IP. +	Short form of "ip neigh"  config BUSYBOX_FEATURE_IP_ADDRESS  	bool "ip address"  	default y -	depends on BUSYBOX_IP +	depends on BUSYBOX_IP || BUSYBOX_IPADDR  	help -	  Address manipulation support for the "ip" applet. +	Address manipulation support for the "ip" applet.  config BUSYBOX_FEATURE_IP_LINK  	bool "ip link"  	default y -	depends on BUSYBOX_IP +	depends on BUSYBOX_IP || BUSYBOX_IPLINK  	help -	  Configure network devices with "ip". +	Configure network devices with "ip".  config BUSYBOX_FEATURE_IP_ROUTE  	bool "ip route"  	default y -	depends on BUSYBOX_IP +	depends on BUSYBOX_IP || BUSYBOX_IPROUTE  	help -	  Add support for routing table management to "ip". +	Add support for routing table management to "ip".  config BUSYBOX_FEATURE_IP_ROUTE_DIR  	string "ip route configuration directory"  	default "/etc/iproute2"  	depends on BUSYBOX_FEATURE_IP_ROUTE  	help -	  Location of the "ip" applet routing configuration. +	Location of the "ip" applet routing configuration.  config BUSYBOX_FEATURE_IP_TUNNEL  	bool "ip tunnel" -	default n -	depends on BUSYBOX_IP +	default y +	depends on BUSYBOX_IP || BUSYBOX_IPTUNNEL  	help -	  Add support for tunneling commands to "ip". +	Add support for tunneling commands to "ip".  config BUSYBOX_FEATURE_IP_RULE  	bool "ip rule" -	default n -	depends on BUSYBOX_IP +	default y +	depends on BUSYBOX_IP || BUSYBOX_IPRULE  	help -	  Add support for rule commands to "ip". +	Add support for rule commands to "ip".  config BUSYBOX_FEATURE_IP_NEIGH  	bool "ip neighbor" -	default n -	depends on BUSYBOX_IP +	default y +	depends on BUSYBOX_IP || BUSYBOX_IPNEIGH  	help -	  Add support for neighbor commands to "ip". +	Add support for neighbor commands to "ip".  config BUSYBOX_FEATURE_IP_RARE_PROTOCOLS  	bool "Support displaying rarely used link types"  	default n -	depends on BUSYBOX_IP +	depends on BUSYBOX_IP || BUSYBOX_IPADDR || BUSYBOX_IPLINK || BUSYBOX_IPROUTE || BUSYBOX_IPTUNNEL || BUSYBOX_IPRULE || BUSYBOX_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_IPADDR -	bool -	default n - -config BUSYBOX_IPLINK -	bool -	default n - -config BUSYBOX_IPROUTE -	bool -	default n +	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_IPCALC +	bool "ipcalc (4.4 kb)" +	default y +	help +	ipcalc takes an IP address and netmask and calculates the +	resulting broadcast, network, and host range. -config BUSYBOX_IPTUNNEL -	bool -	default n +config BUSYBOX_FEATURE_IPCALC_LONG_OPTIONS +	bool "Enable long options" +	default y +	depends on BUSYBOX_IPCALC && BUSYBOX_LONG_OPTS -config BUSYBOX_IPRULE -	bool -	default n +config BUSYBOX_FEATURE_IPCALC_FANCY +	bool "Fancy IPCALC, more options, adds 1 kbyte" +	default y +	depends on BUSYBOX_IPCALC +	help +	Adds the options hostname, prefix and silent to the output of +	"ipcalc". +config BUSYBOX_FAKEIDENTD +	bool "fakeidentd (8.7 kb)" +	default y +	select BUSYBOX_FEATURE_SYSLOG +	help +	fakeidentd listens on the ident port and returns a predefined +	fake value on any query. +config BUSYBOX_NAMEIF +	bool "nameif (6.6 kb)" +	default y +	select BUSYBOX_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_IPNEIGH -	bool -	default n +config BUSYBOX_FEATURE_NAMEIF_EXTENDED +	bool "Extended nameif" +	default y +	depends on BUSYBOX_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_NBDCLIENT +	bool "nbd-client (6 kb)" +	default y +	help +	Network block device client +config BUSYBOX_NC +	bool "nc (11 kb)" +	default y +	help +	A simple Unix utility which reads and writes data across network +	connections. -config BUSYBOX_IPCALC -	bool "ipcalc" +config BUSYBOX_NETCAT +	bool "netcat (11 kb)"  	default n  	help -	  ipcalc takes an IP address and netmask and calculates the -	  resulting broadcast, network, and host range. +	Alias to nc. -config BUSYBOX_FEATURE_IPCALC_FANCY -	bool "Fancy IPCALC, more options, adds 1 kbyte" +config BUSYBOX_NC_SERVER +	bool "Netcat server options (-l)"  	default y -	depends on BUSYBOX_IPCALC +	depends on BUSYBOX_NC || BUSYBOX_NETCAT  	help -	  Adds the options hostname, prefix and silent to the output of -	  "ipcalc". +	Allow netcat to act as a server. -config BUSYBOX_FEATURE_IPCALC_LONG_OPTIONS -	bool "Enable long options" +config BUSYBOX_NC_EXTRA +	bool "Netcat extensions (-eiw and -f FILE)"  	default y -	depends on BUSYBOX_IPCALC && BUSYBOX_LONG_OPTS +	depends on BUSYBOX_NC || BUSYBOX_NETCAT  	help -	  Support long options for the ipcalc applet. +	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_NC_110_COMPAT +	bool "Netcat 1.10 compatibility (+2.5k)" +	default y +	depends on BUSYBOX_NC || BUSYBOX_NETCAT +	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_NETSTAT -	bool "netstat" -	default y if ADK_TARGET_WITH_NET -	select BUSYBOX_PLATFORM_LINUX +	bool "netstat (10 kb)" +	default y  	help -	  netstat prints information about the Linux networking subsystem. +	netstat prints information about the Linux networking subsystem.  config BUSYBOX_FEATURE_NETSTAT_WIDE -	bool "Enable wide netstat output" -	default n +	bool "Enable wide output" +	default y  	depends on BUSYBOX_NETSTAT  	help -	  Add support for wide columns. Useful when displaying IPv6 addresses -	  (-W option). +	Add support for wide columns. Useful when displaying IPv6 addresses +	(-W option).  config BUSYBOX_FEATURE_NETSTAT_PRG  	bool "Enable PID/Program name output"  	default y  	depends on BUSYBOX_NETSTAT  	help -	  Add support for -p flag to print out PID and program name. -	  +700 bytes of code. - +	Add support for -p flag to print out PID and program name. +	+700 bytes of code.  config BUSYBOX_NSLOOKUP -	bool "nslookup" -	default y if ADK_TARGET_WITH_NET +	bool "nslookup (9.7 kb)" +	default y  	help -	  nslookup is a tool to query Internet name servers. +	nslookup is a tool to query Internet name servers. + +config BUSYBOX_FEATURE_NSLOOKUP_BIG +	bool "Use internal resolver code instead of libc" +	depends on BUSYBOX_NSLOOKUP +	default y +config BUSYBOX_FEATURE_NSLOOKUP_LONG_OPTIONS +	bool "Enable long options" +	default y +	depends on BUSYBOX_FEATURE_NSLOOKUP_BIG && BUSYBOX_LONG_OPTS  config BUSYBOX_NTPD -	bool "ntpd" -	depends on !BUSYBOX_DISABLE_NTPD -	default n -	select BUSYBOX_PLATFORM_LINUX +	bool "ntpd (22 kb)" +	default y  	help -	  The NTP client/server daemon. +	The NTP client/server daemon.  config BUSYBOX_FEATURE_NTPD_SERVER  	bool "Make ntpd usable as a NTP server" -	default n -	depends on !BUSYBOX_DISABLE_NTPD +	default y  	depends on BUSYBOX_NTPD  	help -	  Make ntpd usable as a NTP server. If you disable this option -	  ntpd will be usable only as a NTP client. +	Make ntpd usable as a NTP server. If you disable this option +	ntpd will be usable only as a NTP client.  config BUSYBOX_FEATURE_NTPD_CONF  	bool "Make ntpd understand /etc/ntp.conf" -	default n +	default y  	depends on BUSYBOX_NTPD  	help -	  Make ntpd look in /etc/ntp.conf for peers. Only "server address" -	  is supported. +	Make ntpd look in /etc/ntp.conf for peers. Only "server address" +	is supported. -config BUSYBOX_PSCAN -	bool "pscan" -	default n +config BUSYBOX_FEATURE_NTP_AUTH +	bool "Support md5/sha1 message authentication codes" +	default y +	depends on BUSYBOX_NTPD +config BUSYBOX_PING +	bool "ping (10 kb)" +	default y  	help -	  Simple network port scanner. +	ping uses the ICMP protocol's mandatory ECHO_REQUEST datagram to +	elicit an ICMP ECHO_RESPONSE from a host or gateway. -config BUSYBOX_ROUTE -	bool "route" -	default y if ADK_TARGET_WITH_NET -	select BUSYBOX_PLATFORM_LINUX +config BUSYBOX_PING6 +	bool "ping6 (11 kb)" +	default y +	depends on BUSYBOX_FEATURE_IPV6  	help -	  Route displays or manipulates the kernel's IP routing tables. +	Alias to "ping -6". +config BUSYBOX_FEATURE_FANCY_PING +	bool "Enable fancy ping output" +	default y +	depends on BUSYBOX_PING || BUSYBOX_PING6 +	help +	With this option off, ping will say "HOST is alive!" +	or terminate with SIGALRM in 5 seconds otherwise. +	No command-line options will be recognized. +config BUSYBOX_PSCAN +	bool "pscan (6 kb)" +	default y +	help +	Simple network port scanner. +config BUSYBOX_ROUTE +	bool "route (8.7 kb)" +	default y +	help +	Route displays or manipulates the kernel's IP routing tables.  config BUSYBOX_SLATTACH -	bool "slattach" +	bool "slattach (6.2 kb)" +	default y +	help +	slattach configures serial line as SLIP network interface. +config BUSYBOX_SSL_CLIENT +	bool "ssl_client (25 kb)" +	default y +	select BUSYBOX_TLS +	help +	This tool pipes data to/from a socket, TLS-encrypting it. +config BUSYBOX_TC +	bool "tc (8.3 kb)"  	default n -	select BUSYBOX_PLATFORM_LINUX  	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 BUSYBOX_TC +	Show / manipulate traffic control settings +config BUSYBOX_FEATURE_TC_INGRESS +	bool "Enable ingress" +	default y +	depends on BUSYBOX_TC  config BUSYBOX_TCPSVD -	bool "tcpsvd" -	default n +	bool "tcpsvd (14 kb)" +	default y  	help -	  tcpsvd listens on a TCP port and runs a program for each new -	  connection. +	tcpsvd listens on a TCP port and runs a program for each new +	connection. +config BUSYBOX_UDPSVD +	bool "udpsvd (13 kb)" +	default y +	help +	udpsvd listens on an UDP port and runs a program for each new +	connection.  config BUSYBOX_TELNET -	bool "telnet" -	default y if ADK_TARGET_WITH_NET +	bool "telnet (8.8 kb)" +	default y  	help -	  Telnet is an interface to the TELNET protocol, but is also commonly -	  used to test other simple protocols. +	Telnet is an interface to the TELNET protocol, but is also commonly +	used to test other simple protocols.  config BUSYBOX_FEATURE_TELNET_TTYPE  	bool "Pass TERM type to remote host"  	default y  	depends on BUSYBOX_TELNET  	help -	  Setting this option will forward the TERM environment variable to the -	  remote host you are connecting to. This is useful to make sure that -	  things like ANSI colors and other control sequences behave. +	Setting this option will forward the TERM environment variable to the +	remote host you are connecting to. This is useful to make sure that +	things like ANSI colors and other control sequences behave.  config BUSYBOX_FEATURE_TELNET_AUTOLOGIN  	bool "Pass USER type to remote host"  	default y  	depends on BUSYBOX_TELNET  	help -	  Setting this option will forward the USER environment variable to the -	  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. +	Setting this option will forward the USER environment variable to the +	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' options. +config BUSYBOX_FEATURE_TELNET_WIDTH +	bool "Enable window size autodetection" +	default y +	depends on BUSYBOX_TELNET  config BUSYBOX_TELNETD -	bool "telnetd" -	default n +	bool "telnetd (12 kb)" +	default y  	select BUSYBOX_FEATURE_SYSLOG  	help -	  A daemon for the TELNET protocol, allowing you to log onto the host -	  running the daemon. Please keep in mind that the TELNET protocol -	  sends passwords in plain text. If you can't afford the space for an -	  SSH daemon and you trust your network, you may say 'y' here. As a -	  more secure alternative, you should seriously consider installing the -	  very small Dropbear SSH daemon instead: +	A daemon for the TELNET protocol, allowing you to log onto the host +	running the daemon. Please keep in mind that the TELNET protocol +	sends passwords in plain text. If you can't afford the space for an +	SSH daemon and you trust your network, you may say 'y' here. As a +	more secure alternative, you should seriously consider installing the +	very small Dropbear SSH daemon instead:  		http://matt.ucc.asn.au/dropbear/dropbear.html -	  Note that for busybox telnetd to work you need several things: -	  First of all, your kernel needs: -		  UNIX98_PTYS=y -		  DEVPTS_FS=y +	Note that for busybox telnetd to work you need several things: +	First of all, your kernel needs: +		  CONFIG_UNIX98_PTYS=y -	  Next, you need a /dev/pts directory on your root filesystem: +	Next, you need a /dev/pts directory on your root filesystem:  		  $ ls -ld /dev/pts  		  drwxr-xr-x  2 root root 0 Sep 23 13:21 /dev/pts/ -	  Next you need the pseudo terminal master multiplexer /dev/ptmx: +	Next you need the pseudo terminal master multiplexer /dev/ptmx:  		  $ ls -la /dev/ptmx  		  crw-rw-rw-  1 root tty 5, 2 Sep 23 13:55 /dev/ptmx -	  Any /dev/ttyp[0-9]* files you may have can be removed. -	  Next, you need to mount the devpts filesystem on /dev/pts using: +	Any /dev/ttyp[0-9]* files you may have can be removed. +	Next, you need to mount the devpts filesystem on /dev/pts using:  		  mount -t devpts devpts /dev/pts -	  You need to be sure that busybox has LOGIN and -	  FEATURE_SUID enabled. And finally, you should make -	  certain that Busybox has been installed setuid root: +	You need to be sure that busybox has LOGIN and +	FEATURE_SUID enabled. And finally, you should make +	certain that busybox has been installed setuid root:  		chown root.root /bin/busybox  		chmod 4755 /bin/busybox -	  with all that done, telnetd _should_ work.... - +	with all that done, telnetd _should_ work....  config BUSYBOX_FEATURE_TELNETD_STANDALONE  	bool "Support standalone telnetd (not inetd only)"  	default y  	depends on BUSYBOX_TELNETD  	help -	  Selecting this will make telnetd able to run standalone. +	Selecting this will make telnetd able to run standalone. + +config BUSYBOX_FEATURE_TELNETD_PORT_DEFAULT +	int "Default port" +	default 23 +	range 1 65535 +	depends on BUSYBOX_FEATURE_TELNETD_STANDALONE  config BUSYBOX_FEATURE_TELNETD_INETD_WAIT  	bool "Support -w SEC option (inetd wait mode)"  	default y  	depends on BUSYBOX_FEATURE_TELNETD_STANDALONE  	help -	  This option allows you to run telnetd in "inet wait" mode. -	  Example inetd.conf line (note "wait", not usual "nowait"): - -	  telnet stream tcp wait root /bin/telnetd telnetd -w10 +	This option allows you to run telnetd in "inet wait" mode. +	Example inetd.conf line (note "wait", not usual "nowait"): -	  In this example, inetd passes _listening_ socket_ as fd 0 -	  to telnetd when connection appears. -	  telnetd will wait for connections until all existing -	  connections are closed, and no new connections -	  appear during 10 seconds. Then it exits, and inetd continues -	  to listen for new connections. +	telnet stream tcp wait root /bin/telnetd telnetd -w10 -	  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. +	In this example, inetd passes _listening_ socket_ as fd 0 +	to telnetd when connection appears. +	telnetd will wait for connections until all existing +	connections are closed, and no new connections +	appear during 10 seconds. Then it exits, and inetd continues +	to listen for new connections. +	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_TFTP -	bool "tftp" -	default n +	bool "tftp (11 kb)" +	default y  	help -	  This enables the Trivial File Transfer Protocol client program. TFTP -	  is usually used for simple, small transfers such as a root image -	  for a network-enabled bootloader. +	Trivial File Transfer Protocol client. TFTP is usually used +	for simple, small transfers such as a root image +	for a network-enabled bootloader. + +config BUSYBOX_FEATURE_TFTP_PROGRESS_BAR +	bool "Enable progress bar" +	default y +	depends on BUSYBOX_TFTP + +config BUSYBOX_FEATURE_TFTP_HPA_COMPAT +	bool "tftp-hpa compat (support -c get/put FILE)" +	default y +	depends on BUSYBOX_TFTP  config BUSYBOX_TFTPD -	bool "tftpd" -	default n +	bool "tftpd (10 kb)" +	default y  	help -	  This enables the Trivial File Transfer Protocol server program. -	  It expects that stdin is a datagram socket and a packet -	  is already pending on it. It will exit after one transfer. -	  In other words: it should be run from inetd in nowait mode, -	  or from udpsvd. Example: "udpsvd -E 0 69 tftpd DIR" - -comment "Common options for tftp/tftpd" -	depends on BUSYBOX_TFTP || BUSYBOX_TFTPD +	Trivial File Transfer Protocol server. +	It expects that stdin is a datagram socket and a packet +	is already pending on it. It will exit after one transfer. +	In other words: it should be run from inetd in nowait mode, +	or from udpsvd. Example: "udpsvd -E 0 69 tftpd DIR"  config BUSYBOX_FEATURE_TFTP_GET  	bool "Enable 'tftp get' and/or tftpd upload code"  	default y  	depends on BUSYBOX_TFTP || BUSYBOX_TFTPD  	help -	  Add support for the GET command within the TFTP client. This allows -	  a client to retrieve a file from a TFTP server. -	  Also enable upload support in tftpd, if tftpd is selected. +	Add support for the GET command within the TFTP client. This allows +	a client to retrieve a file from a TFTP server. +	Also enable upload support in tftpd, if tftpd is selected. -	  Note: this option does _not_ make tftpd capable of download -	  (the usual operation people need from it)! +	Note: this option does _not_ make tftpd capable of download +	(the usual operation people need from it)!  config BUSYBOX_FEATURE_TFTP_PUT  	bool "Enable 'tftp put' and/or tftpd download code"  	default y  	depends on BUSYBOX_TFTP || BUSYBOX_TFTPD  	help -	  Add support for the PUT command within the TFTP client. This allows -	  a client to transfer a file to a TFTP server. -	  Also enable download support in tftpd, if tftpd is selected. +	Add support for the PUT command within the TFTP client. This allows +	a client to transfer a file to a TFTP server. +	Also enable download support in tftpd, if tftpd is selected.  config BUSYBOX_FEATURE_TFTP_BLOCKSIZE  	bool "Enable 'blksize' and 'tsize' protocol options"  	default y  	depends on BUSYBOX_TFTP || BUSYBOX_TFTPD  	help -	  Allow tftp to specify block size, and tftpd to understand -	  "blksize" and "tsize" options. - -config BUSYBOX_FEATURE_TFTP_PROGRESS_BAR -	bool "Enable tftp progress meter" -	default y -	depends on BUSYBOX_TFTP && BUSYBOX_FEATURE_TFTP_BLOCKSIZE -	help -	  Show progress bar. +	Allow tftp to specify block size, and tftpd to understand +	"blksize" and "tsize" options.  config BUSYBOX_TFTP_DEBUG  	bool "Enable debug"  	default n  	depends on BUSYBOX_TFTP || BUSYBOX_TFTPD  	help -	  Make tftp[d] print debugging messages on stderr. -	  This is useful if you are diagnosing a bug in tftp[d]. - -config BUSYBOX_TRACEROUTE -	bool "traceroute" +	Make tftp[d] print debugging messages on stderr. +	This is useful if you are diagnosing a bug in tftp[d]. +config BUSYBOX_TLS +	bool #No description makes it a hidden option  	default n -	select BUSYBOX_PLATFORM_LINUX +config BUSYBOX_TRACEROUTE +	bool "traceroute (11 kb)" +	default y  	help -	  Utility to trace the route of IP packets. +	Utility to trace the route of IP packets.  config BUSYBOX_TRACEROUTE6 -	bool "traceroute6" -	default n -	depends on BUSYBOX_FEATURE_IPV6 && BUSYBOX_TRACEROUTE +	bool "traceroute6 (13 kb)" +	default y +	depends on BUSYBOX_FEATURE_IPV6  	help -	  Utility to trace the route of IPv6 packets. +	Utility to trace the route of IPv6 packets.  config BUSYBOX_FEATURE_TRACEROUTE_VERBOSE  	bool "Enable verbose output"  	default y -	depends on BUSYBOX_TRACEROUTE -	help -	  Add some verbosity to traceroute. This includes among other things -	  hostnames and ICMP response types. - -config BUSYBOX_FEATURE_TRACEROUTE_SOURCE_ROUTE -	bool "Enable loose source route" -	default n -	depends on BUSYBOX_TRACEROUTE +	depends on BUSYBOX_TRACEROUTE || BUSYBOX_TRACEROUTE6  	help -	  Add option to specify a loose source route gateway -	  (8 maximum). +	Add some verbosity to traceroute. This includes among other things +	hostnames and ICMP response types.  config BUSYBOX_FEATURE_TRACEROUTE_USE_ICMP -	bool "Use ICMP instead of UDP" -	default n -	depends on BUSYBOX_TRACEROUTE -	help -	  Add option -I to use ICMP ECHO instead of UDP datagrams. - +	bool "Enable -I option (use ICMP instead of UDP)" +	default y +	depends on BUSYBOX_TRACEROUTE || BUSYBOX_TRACEROUTE6  config BUSYBOX_TUNCTL -	bool "tunctl" -	default n -	select BUSYBOX_PLATFORM_LINUX +	bool "tunctl (6.2 kb)" +	default y  	help -	  tunctl creates or deletes tun devices. +	tunctl creates or deletes tun devices.  config BUSYBOX_FEATURE_TUNCTL_UG  	bool "Support owner:group assignment"  	default y  	depends on BUSYBOX_TUNCTL  	help -	  Allow to specify owner and group of newly created interface. -	  340 bytes of pure bloat. Say no here. - -source package/busybox/config/networking/udhcp/Config.in - -config BUSYBOX_IFUPDOWN_UDHCPC_CMD_OPTIONS -	string "ifup udhcpc command line options" -	default "-R" if BUSYBOX_NOMMU -	default "-R -b" -	depends on BUSYBOX_IFUP && BUSYBOX_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...) - -config BUSYBOX_UDPSVD -	bool "udpsvd" -	default n -	help -	  udpsvd listens on an UDP port and runs a program for each new -	  connection. - +	Allow to specify owner and group of newly created interface. +	340 bytes of pure bloat. Say no here.  config BUSYBOX_VCONFIG -	bool "vconfig" -	default n -	select BUSYBOX_PLATFORM_LINUX +	bool "vconfig (2.3 kb)" +	default y  	help -	  Creates, removes, and configures VLAN interfaces - +	Creates, removes, and configures VLAN interfaces  config BUSYBOX_WGET -	bool "wget" -	depends on !BUSYBOX_DISABLE_WGET -	default n +	bool "wget (38 kb)" +	default y  	help -	  wget is a utility for non-interactive download of files from HTTP, -	  HTTPS, and FTP servers. +	wget is a utility for non-interactive download of files from HTTP +	and FTP servers. + +config BUSYBOX_FEATURE_WGET_LONG_OPTIONS +	bool "Enable long options" +	default y +	depends on BUSYBOX_WGET && BUSYBOX_LONG_OPTS  config BUSYBOX_FEATURE_WGET_STATUSBAR -	bool "Enable a nifty process meter (+2k)" -	default n +	bool "Enable progress bar (+2k)" +	default y +	depends on BUSYBOX_WGET + +config BUSYBOX_FEATURE_WGET_FTP +	bool "Enable FTP protocol (+1k)" +	default y  	depends on BUSYBOX_WGET  	help -	  Enable the transfer progress bar for wget transfers. +	To support FTPS, enable FEATURE_WGET_HTTPS as well.  config BUSYBOX_FEATURE_WGET_AUTHENTICATION  	bool "Enable HTTP authentication"  	default y  	depends on BUSYBOX_WGET  	help -	  Support authenticated HTTP transfers. +	Support authenticated HTTP transfers. -config BUSYBOX_FEATURE_WGET_LONG_OPTIONS -	bool "Enable long options" +config BUSYBOX_FEATURE_WGET_TIMEOUT +	bool "Enable timeout option -T SEC"  	default y -	depends on BUSYBOX_WGET && BUSYBOX_LONG_OPTS +	depends on BUSYBOX_WGET  	help -	  Support long options for the wget applet. +	Supports network read and connect timeouts for wget, +	so that wget will give up and timeout, through the -T +	command line option. -config BUSYBOX_FEATURE_WGET_TIMEOUT -	bool "Enable read timeout option -T SEC" +	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_FEATURE_WGET_HTTPS +	bool "Support HTTPS using internal TLS code"  	default y  	depends on BUSYBOX_WGET -	help -	  Supports network read timeout for wget, so that wget will give -	  up and timeout when reading network data, through the -T command -	  line option.  Currently only network data read timeout is -	  supported (i.e., timeout is not applied to the DNS nor TCP -	  connection initialization).  When FEATURE_WGET_LONG_OPTIONS is -	  also enabled, the --timeout option will work in addition to -T. +	select BUSYBOX_TLS +	help +	wget will use internal TLS code to connect to https:// URLs. +	It also enables FTPS support, but it's not well tested yet. +	Note: +	On NOMMU machines, ssl_helper applet should be available +	in the $PATH for this to work. Make sure to select that applet. + +	Note: currently, TLS code only makes TLS I/O work, it +	does *not* check that the peer is who it claims to be, etc. +	IOW: it uses peer-supplied public keys to establish encryption +	and signing keys, then encrypts and signs outgoing data and +	decrypts incoming data. +	It does not check signature hashes on the incoming data: +	this means that attackers manipulating TCP packets can +	send altered data and we unknowingly receive garbage. +	(This check might be relatively easy to add). +	It does not check public key's certificate: +	this means that the peer may be an attacker impersonating +	the server we think we are talking to. + +	If you think this is unacceptable, consider this. As more and more +	servers switch to HTTPS-only operation, without such "crippled" +	TLS code it is *impossible* to simply download a kernel source +	from kernel.org. Which can in real world translate into +	"my small automatic tooling to build cross-compilers from sources +	no longer works, I need to additionally keep a local copy +	of ~4 megabyte source tarball of a SSL library and ~2 megabyte +	source of wget, need to compile and built both before I can +	download anything. All this despite the fact that the build +	is done in a QEMU sandbox on a machine with absolutely nothing +	worth stealing, so I don't care if someone would go to a lot +	of trouble to intercept my HTTPS download to send me an altered +	kernel tarball". + +	If you still think this is unacceptable, send patches. + +	If you still think this is unacceptable, do not want to send +	patches, but do want to waste bandwidth expaining how wrong +	it is, you will be ignored. + +	FEATURE_WGET_OPENSSL does implement TLS verification +	using the certificates available to OpenSSL.  config BUSYBOX_FEATURE_WGET_OPENSSL  	bool "Try to connect to HTTPS using openssl" -	default n +	default y  	depends on BUSYBOX_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_FEATURE_WGET_SSL_HELPER -	bool "Try to connect to HTTPS using ssl_helper" -	default n -	depends on BUSYBOX_WGET +	Try to use openssl to handle HTTPS. + +	OpenSSL has a simple SSL client for debug purposes. +	If you select this option, 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. + +	If openssl can't be executed, internal TLS code will be used +	(if you enabled it); if openssl can be executed but fails later, +	wget can't detect this, and download will fail. + +	By default BUSYBOX_TLS verification is performed, unless +	--no-check-certificate option is passed. +config BUSYBOX_WHOIS +	bool "whois (6.3 kb)" +	default y  	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/ - +	whois is a client for the whois directory service  config BUSYBOX_ZCIP -	bool "zcip" -	default n -	select BUSYBOX_PLATFORM_LINUX +	bool "zcip (8.4 kb)" +	default y  	select BUSYBOX_FEATURE_SYSLOG  	help -	  ZCIP provides ZeroConf IPv4 address selection, according to RFC 3927. -	  It's a daemon that allocates and defends a dynamically assigned -	  address on the 169.254/16 network, requiring no system administrator. +	BUSYBOX_ZCIP provides ZeroConf IPv4 address selection, according to RFC 3927. +	It's a daemon that allocates and defends a dynamically assigned +	address on the 169.254/16 network, requiring no system administrator. + +	See http://www.zeroconf.org for further details, and "zcip.script" +	in the busybox examples. -	  See http://www.zeroconf.org for further details, and "zcip.script" -	  in the busybox examples. +source package/busybox/config/networking/udhcp/Config.in + +config BUSYBOX_IFUPDOWN_UDHCPC_CMD_OPTIONS +	string "ifup udhcpc command line options" +	default "-R -n" if BUSYBOX_NOMMU +	default "-R -n -b" +	depends on BUSYBOX_IFUP || BUSYBOX_IFDOWN +	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 diff --git a/package/busybox/config/networking/udhcp/Config.in b/package/busybox/config/networking/udhcp/Config.in index 02e56c3ef..9018780aa 100644 --- a/package/busybox/config/networking/udhcp/Config.in +++ b/package/busybox/config/networking/udhcp/Config.in @@ -1,148 +1,186 @@  # DO NOT EDIT. This file is generated from Config.src  #  # For a description of the syntax of this configuration file, -# see scripts/kbuild/config-language.txt. +# see docs/Kconfig-language.txt.  # -config BUSYBOX_UDHCPC6 -       bool "udhcp client for DHCPv6 (udhcpc6)" -       default n  # not yet ready -       help -         udhcpc6 is a DHCPv6 client -  config BUSYBOX_UDHCPD -	bool "udhcp server (udhcpd)" -	default n -	select BUSYBOX_PLATFORM_LINUX -	help -	  udhcpd is a DHCP server geared primarily toward embedded systems, -	  while striving to be fully functional and RFC compliant. - -config BUSYBOX_DHCPRELAY -	bool "dhcprelay" -	default n -	help -	  dhcprelay listens for dhcp requests on one or more interfaces -	  and forwards these requests to a different interface or dhcp -	  server. - -config BUSYBOX_DUMPLEASES -	bool "Lease display utility (dumpleases)" -	default n +	bool "udhcpd (21 kb)" +	default y  	help -	  dumpleases displays the leases written out by the udhcpd server. -	  Lease times are stored in the file by time remaining in lease, or -	  by the absolute time that it expires in seconds from epoch. +	udhcpd is a DHCP server geared primarily toward embedded systems, +	while striving to be fully functional and RFC compliant. -config BUSYBOX_FEATURE_UDHCPD_WRITE_LEASES_EARLY -	bool "Rewrite the lease file at every new acknowledge" +config BUSYBOX_FEATURE_UDHCPD_BOOTP +	bool "Answer to BOOTP requests as well"  	default y  	depends on BUSYBOX_UDHCPD  	help -	  If selected, udhcpd will write a new file with leases every -	  time a new lease has been accepted, thus eliminating the need -	  to send SIGUSR1 for the initial writing or updating. Any timed -	  rewriting remains undisturbed. +	Support old BOOTP protocol too.  config BUSYBOX_FEATURE_UDHCPD_BASE_IP_ON_MAC  	bool "Select IP address based on client MAC"  	default n  	depends on BUSYBOX_UDHCPD  	help -	  If selected, udhcpd will base its selection of IP address to offer -	  on the client's hardware address. Otherwise udhcpd uses the next -	  consecutive free address. +	If selected, udhcpd will base its selection of BUSYBOX_IP address to offer +	on the client's hardware address. Otherwise udhcpd uses the next +	consecutive free address. -	  This reduces the frequency of IP address changes for clients -	  which let their lease expire, and makes consecutive DHCPOFFERS -	  for the same client to (almost always) contain the same -	  IP address. +	This reduces the frequency of IP address changes for clients +	which let their lease expire, and makes consecutive DHCPOFFERS +	for the same client to (almost always) contain the same +	IP address. + +config BUSYBOX_FEATURE_UDHCPD_WRITE_LEASES_EARLY +	bool "Rewrite lease file at every new acknowledge" +	default y +	depends on BUSYBOX_UDHCPD +	help +	If selected, udhcpd will write a new file with leases every +	time a new lease has been accepted, thus eliminating the need +	to send SIGUSR1 for the initial writing or updating. Any timed +	rewriting remains undisturbed.  config BUSYBOX_DHCPD_LEASES_FILE  	string "Absolute path to lease file"  	default "/var/lib/misc/udhcpd.leases"  	depends on BUSYBOX_UDHCPD  	help -	  udhcpd stores addresses in a lease file. This is the absolute path -	  of the file. Normally it is safe to leave it untouched. +	udhcpd stores addresses in a lease file. This is the absolute path +	of the file. Normally it is safe to leave it untouched. + +config BUSYBOX_DUMPLEASES +	bool "dumpleases (5.1 kb)" +	default y +	help +	dumpleases displays the leases written out by the udhcpd. +	Lease times are stored in the file by time remaining in lease, or +	by the absolute time that it expires in seconds from epoch. + +config BUSYBOX_DHCPRELAY +	bool "dhcprelay (5.2 kb)" +	default y +	help +	dhcprelay listens for DHCP requests on one or more interfaces +	and forwards these requests to a different interface or DHCP +	server.  config BUSYBOX_UDHCPC -	bool "udhcp client (udhcpc)" +	bool "udhcpc (24 kb)"  	default y -	select BUSYBOX_PLATFORM_LINUX  	help -	  udhcpc is a DHCP client geared primarily toward embedded systems, -	  while striving to be fully functional and RFC compliant. +	udhcpc is a DHCP client geared primarily toward embedded systems, +	while striving to be fully functional and RFC compliant. -	  The udhcp client negotiates a lease with the DHCP server and -	  runs a script when a lease is obtained or lost. +	The udhcp client negotiates a lease with the DHCP server and +	runs a script when a lease is obtained or lost.  config BUSYBOX_FEATURE_UDHCPC_ARPING  	bool "Verify that the offered address is free, using ARP ping"  	default y  	depends on BUSYBOX_UDHCPC  	help -	  If selected, udhcpc will send ARP probes and make sure -	  the offered address is really not in use by anyone. The client -	  will DHCPDECLINE the offer if the address is in use, -	  and restart the discover process. +	If selected, udhcpc will send BUSYBOX_ARP probes and make sure +	the offered address is really not in use by anyone. The client +	will DHCPDECLINE the offer if the address is in use, +	and restart the discover process.  config BUSYBOX_FEATURE_UDHCPC_SANITIZEOPT  	bool "Do not pass malformed host and domain names"  	default y  	depends on BUSYBOX_UDHCPC  	help -	  If selected, udhcpc will check some options (such as option 12 - -	  hostname) and if they don't look like valid hostnames -	  (for example, if they start with dash or contain spaces), -	  they will be replaced with string "bad" when exporting -	  to the environment. +	If selected, udhcpc will check some options (such as option 12 - +	hostname) and if they don't look like valid hostnames +	(for example, if they start with dash or contain spaces), +	they will be replaced with string "bad" when exporting +	to the environment. -config BUSYBOX_FEATURE_UDHCP_PORT -	bool "Enable '-P port' option for udhcpd and udhcpc" -	default n -	depends on BUSYBOX_UDHCPD || BUSYBOX_UDHCPC +config BUSYBOX_UDHCPC_DEFAULT_SCRIPT +	string "Absolute path to config script" +	default "/usr/share/udhcpc/default.script" +	depends on BUSYBOX_UDHCPC  	help -	  At the cost of ~300 bytes, enables -P port option. -	  This feature is typically not needed. +	This script is called after udhcpc receives an answer. See +	examples/udhcp for a working example. Normally it is safe +	to leave this untouched. -config BUSYBOX_UDHCP_DEBUG -	int "Maximum verbosity level for udhcp applets (0..9)" -	default 0 -	range 0 9 -	depends on BUSYBOX_UDHCPD || BUSYBOX_UDHCPC || BUSYBOX_DHCPRELAY +config BUSYBOX_UDHCPC6_DEFAULT_SCRIPT +	string "Absolute path to config script for IPv6" +	default "/usr/share/udhcpc/default6.script" +	depends on BUSYBOX_UDHCPC6 + +# udhcpc6 config is inserted here: +config BUSYBOX_UDHCPC6 +	bool "udhcpc6 (21 kb)" +	default y +	depends on BUSYBOX_FEATURE_IPV6  	help -	  Verbosity can be increased with multiple -v options. -	  This option controls how high it can be cranked up. +	udhcpc6 is a DHCPv6 client -	  Bigger values result in bigger code. Levels above 1 -	  are very verbose and useful for debugging only. +config BUSYBOX_FEATURE_UDHCPC6_RFC3646 +	bool "Support RFC 3646 (DNS server and search list)" +	default y +	depends on BUSYBOX_UDHCPC6 +	help +	List of DNS servers and domain search list can be requested with +	"-O dns" and "-O search". If server gives these values, +	they will be set in environment variables "dns" and "search". -config BUSYBOX_FEATURE_UDHCP_RFC3397 -	bool "Support for RFC3397 domain search (experimental)" +config BUSYBOX_FEATURE_UDHCPC6_RFC4704 +	bool "Support RFC 4704 (Client FQDN)"  	default y -	depends on BUSYBOX_UDHCPD || BUSYBOX_UDHCPC +	depends on BUSYBOX_UDHCPC6  	help -	  If selected, both client and server will support passing of domain -	  search lists via option 119, specified in RFC 3397, -	  and SIP servers option 120, specified in RFC 3361. +	You can request FQDN to be given by server using "-O fqdn". -config BUSYBOX_FEATURE_UDHCP_8021Q -	bool "Support for 802.1Q VLAN parameters" +config BUSYBOX_FEATURE_UDHCPC6_RFC4833 +	bool "Support RFC 4833 (Timezones)"  	default y -	depends on BUSYBOX_UDHCPD || BUSYBOX_UDHCPC +	depends on BUSYBOX_UDHCPC6  	help -	  If selected, both client and server will support passing of VLAN -	  ID and priority via options 132 and 133 as per 802.1Q. +	You can request POSIX timezone with "-O tz" and timezone name +	with "-O timezone". -config BUSYBOX_UDHCPC_DEFAULT_SCRIPT -	string "Absolute path to config script" -	default "/usr/share/udhcpc/default.script" -	depends on BUSYBOX_UDHCPC +config BUSYBOX_FEATURE_UDHCPC6_RFC5970 +	bool "Support RFC 5970 (Network Boot)" +	default y +	depends on BUSYBOX_UDHCPC6 +	help +	You can request bootfile-url with "-O bootfile_url" and +	bootfile-params with "-O bootfile_params". + +comment "Common options for DHCP applets" +        depends on BUSYBOX_UDHCPD || BUSYBOX_UDHCPC || BUSYBOX_UDHCPC6 || BUSYBOX_DHCPRELAY + +config BUSYBOX_UDHCPC_DEFAULT_INTERFACE +	string "Default interface name" +	default "eth0" +	depends on BUSYBOX_UDHCPC || BUSYBOX_UDHCPC6 +	help +	The interface that will be used if no other interface is +	specified on the commandline. + +config BUSYBOX_FEATURE_UDHCP_PORT +	bool "Enable '-P port' option for udhcpd and udhcpc" +	default n +	depends on BUSYBOX_UDHCPD || BUSYBOX_UDHCPC || BUSYBOX_UDHCPC6  	help -	  This script is called after udhcpc receives an answer. See -	  examples/udhcp for a working example. Normally it is safe -	  to leave this untouched. +	At the cost of ~300 bytes, enables -P port option. +	This feature is typically not needed. + +config BUSYBOX_UDHCP_DEBUG +	int "Maximum verbosity level (0..9)" +	default 2 +	range 0 9 +	depends on BUSYBOX_UDHCPD || BUSYBOX_UDHCPC || BUSYBOX_UDHCPC6 || BUSYBOX_DHCPRELAY +	help +	Verbosity can be increased with multiple -v options. +	This option controls how high it can be cranked up. + +	Bigger values result in bigger code. Levels above 1 +	are very verbose and useful for debugging only.  config BUSYBOX_UDHCPC_SLACK_FOR_BUGGY_SERVERS  	int "DHCP options slack buffer size" @@ -150,19 +188,36 @@ config BUSYBOX_UDHCPC_SLACK_FOR_BUGGY_SERVERS  	range 0 924  	depends on BUSYBOX_UDHCPD || BUSYBOX_UDHCPC  	help -	  Some buggy DHCP servers send DHCP offer packets with option -	  field larger than we expect (which might also be considered a -	  buffer overflow attempt). These packets are normally discarded. -	  If circumstances beyond your control force you to support such -	  servers, this may help. The upper limit (924) makes dhcpc accept -	  even 1500 byte packets (maximum-sized ethernet packets). - -	  This option does not make dhcp[cd] emit non-standard -	  sized packets. - -	  Known buggy DHCP servers: -	  3Com OfficeConnect Remote 812 ADSL Router: -	    seems to confuse maximum allowed UDP packet size with -	    maximum size of entire IP packet, and sends packets which are -	    28 bytes too large. -	  Seednet (ISP) VDSL: sends packets 2 bytes too large. +	Some buggy DHCP servers send DHCP offer packets with option +	field larger than we expect (which might also be considered a +	buffer overflow attempt). These packets are normally discarded. +	If circumstances beyond your control force you to support such +	servers, this may help. The upper limit (924) makes udhcpc accept +	even 1500 byte packets (maximum-sized ethernet packets). + +	This option does not make udhcp[cd] emit non-standard +	sized packets. + +	Known buggy DHCP servers: +	3Com OfficeConnect Remote 812 ADSL Router: +		seems to confuse maximum allowed UDP packet size with +		maximum size of entire IP packet, and sends packets +		which are 28 bytes too large. +	Seednet (ISP) VDSL: sends packets 2 bytes too large. + +config BUSYBOX_FEATURE_UDHCP_RFC3397 +	bool "Support RFC 3397 domain search options" +	default y +	depends on BUSYBOX_UDHCPD || BUSYBOX_UDHCPC +	help +	If selected, both client and server will support passing of domain +	search lists via option 119, specified in RFC 3397, +	and SIP servers option 120, specified in RFC 3361. + +config BUSYBOX_FEATURE_UDHCP_8021Q +	bool "Support 802.1Q VLAN parameters options" +	default y +	depends on BUSYBOX_UDHCPD || BUSYBOX_UDHCPC +	help +	If selected, both client and server will support passing of VLAN +	ID and priority via options 132 and 133 as per 802.1Q. diff --git a/package/busybox/config/printutils/Config.in b/package/busybox/config/printutils/Config.in index b5dd69e39..2f3d8a680 100644 --- a/package/busybox/config/printutils/Config.in +++ b/package/busybox/config/printutils/Config.in @@ -1,28 +1,26 @@  # DO NOT EDIT. This file is generated from Config.src  #  # For a description of the syntax of this configuration file, -# see scripts/kbuild/config-language.txt. +# see docs/Kconfig-language.txt.  #  menu "Print Utilities" -  config BUSYBOX_LPD -	bool "lpd" -	default n +	bool "lpd (5.5 kb)" +	default y  	help -	  lpd is a print spooling daemon. - +	lpd is a print spooling daemon.  config BUSYBOX_LPR -	bool "lpr" -	default n +	bool "lpr (9.9 kb)" +	default y  	help -	  lpr sends files (or standard input) to a print spooling daemon. +	lpr sends files (or standard input) to a print spooling daemon.  config BUSYBOX_LPQ -	bool "lpq" -	default n +	bool "lpq (9.9 kb)" +	default y  	help -	  lpq is a print spool queue examination and manipulation program. +	lpq is a print spool queue examination and manipulation program.  endmenu diff --git a/package/busybox/config/procps/Config.in b/package/busybox/config/procps/Config.in index 6da62d0ce..0c1733b9f 100644 --- a/package/busybox/config/procps/Config.in +++ b/package/busybox/config/procps/Config.in @@ -1,284 +1,277 @@  # DO NOT EDIT. This file is generated from Config.src  #  # For a description of the syntax of this configuration file, -# see scripts/kbuild/config-language.txt. +# see docs/Kconfig-language.txt.  #  menu "Process Utilities" -config BUSYBOX_IOSTAT -	bool "iostat" -	default n -	help -	  Report CPU and I/O statistics - -config BUSYBOX_LSOF -	bool "lsof" -	default n -	help -	  Show open files in the format of: -	  PID <TAB> /path/to/executable <TAB> /path/to/opened/file - -config BUSYBOX_MPSTAT -	bool "mpstat" -	default n -	help -	  Per-processor statistics - -config BUSYBOX_NMETER -	bool "nmeter" -	default n -	help -	  Prints selected system stats continuously, one line per update. - -config BUSYBOX_PMAP -       bool "pmap" -       default n -       help -         Display processes' memory mappings. - -config BUSYBOX_POWERTOP -	bool "powertop" -	default n -	help -	  Analyze power consumption on Intel-based laptops - -config BUSYBOX_PSTREE -	bool "pstree" -	default n -	help -	  Display a tree of processes. - -config BUSYBOX_PWDX -	bool "pwdx" -	default n -	help -	  Report current working directory of a process - -config BUSYBOX_SMEMCAP -	bool "smemcap" -	default n +config BUSYBOX_FEATURE_FAST_TOP +	bool "Faster /proc scanning code (+100 bytes)" +	default n  # all "fast or small" options default to small  	help -	  smemcap is a tool for capturing process data for smem, -	  a memory usage statistic tool. +	This option makes top and ps ~20% faster (or 20% less CPU hungry), +	but code size is slightly bigger. -config BUSYBOX_UPTIME -	bool "uptime" +config BUSYBOX_FEATURE_SHOW_THREADS +	bool "Support thread display in ps/pstree/top"  	default y -	select BUSYBOX_PLATFORM_LINUX #sysinfo() -	help -	  uptime gives a one line display of the current time, how long -	  the system has been running, how many users are currently logged -	  on, and the system load averages for the past 1, 5, and 15 minutes. - -config BUSYBOX_FEATURE_UPTIME_UTMP_SUPPORT -	bool "Support for showing the number of users" -	default n -	depends on BUSYBOX_UPTIME && BUSYBOX_FEATURE_UTMP +	depends on BUSYBOX_PS || BUSYBOX_TOP || BUSYBOX_PSTREE  	help -	  Makes uptime display the number of users currently logged on. +	Enables the ps -T option, showing of threads in pstree, +	and 'h' command in top.  config BUSYBOX_FREE -	bool "free" -	default n -	select BUSYBOX_PLATFORM_LINUX #sysinfo() +	bool "free (3.1 kb)" +	default y  	help -	  free displays the total amount of free and used physical and swap -	  memory in the system, as well as the buffers used by the kernel. -	  The shared memory column should be ignored; it is obsolete. - +	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_FUSER -	bool "fuser" -	default n +	bool "fuser (7 kb)" +	default y  	help -	  fuser lists all PIDs (Process IDs) that currently have a given -	  file open. fuser can also list all PIDs that have a given network -	  (TCP or UDP) port open. - +	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_IOSTAT +	bool "iostat (7.6 kb)" +	default y +	help +	Report CPU and I/O statistics  config BUSYBOX_KILL -	bool "kill" +	bool "kill (3.1 kb)"  	default y  	help -	  The command kill sends the specified signal to the specified -	  process or process group. If no signal is specified, the TERM -	  signal is sent. +	The command kill sends the specified signal to the specified +	process or process group. If no signal is specified, the TERM +	signal is sent.  config BUSYBOX_KILLALL -	bool "killall" -	default n -	depends on BUSYBOX_KILL +	bool "killall (5.6 kb)" +	default y  	help -	  killall sends a signal to all processes running any of the -	  specified commands. If no signal name is specified, SIGTERM is -	  sent. +	killall sends a signal to all processes running any of the +	specified commands. If no signal name is specified, SIGTERM is +	sent.  config BUSYBOX_KILLALL5 -	bool "killall5" +	bool "killall5 (5.3 kb)"  	default y -	depends on BUSYBOX_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_LSOF +	bool "lsof (3.4 kb)" +	default y +	help +	Show open files in the format of: +	PID <TAB> /path/to/executable <TAB> /path/to/opened/file +config BUSYBOX_MPSTAT +	bool "mpstat (9.8 kb)" +	default y +	help +	Per-processor statistics +config BUSYBOX_NMETER +	bool "nmeter (11 kb)" +	default y +	help +	Prints selected system stats continuously, one line per update.  config BUSYBOX_PGREP -	bool "pgrep" +	bool "pgrep (6.5 kb)"  	default y  	help -	  Look for processes by name. +	Look for processes by name. +config BUSYBOX_PKILL +	bool "pkill (7.5 kb)" +	default y +	help +	Send signals to processes by name.  config BUSYBOX_PIDOF -	bool "pidof" -	default n +	bool "pidof (6.3 kb)" +	default y  	help -	  Pidof finds the process id's (pids) of the named programs. It prints -	  those id's on the standard output. +	Pidof finds the process id's (pids) of the named programs. It prints +	those id's on the standard output.  config BUSYBOX_FEATURE_PIDOF_SINGLE -	bool "Enable argument for single shot (-s)" +	bool "Enable single shot (-s)"  	default y  	depends on BUSYBOX_PIDOF  	help -	  Support argument '-s' for returning only the first pid found. +	Support '-s' for returning only the first pid found.  config BUSYBOX_FEATURE_PIDOF_OMIT -	bool "Enable argument for omitting pids (-o)" +	bool "Enable omitting pids (-o PID)"  	default y  	depends on BUSYBOX_PIDOF  	help -	  Support argument '-o' for omitting the given pids in output. -	  The special pid %PPID can be used to name the parent process -	  of the pidof, in other words the calling shell or shell script. - -config BUSYBOX_PKILL -	bool "pkill" -	default n +	Support '-o PID' for omitting the given pid(s) 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_PMAP +	bool "pmap (6 kb)" +	default y  	help -	  Send signals to processes by name. +	Display processes' memory mappings. +config BUSYBOX_POWERTOP +	bool "powertop (9.6 kb)" +	default y +	help +	Analyze power consumption on Intel-based laptops +config BUSYBOX_FEATURE_POWERTOP_INTERACTIVE +	bool "Accept keyboard commands" +	default y +	depends on BUSYBOX_POWERTOP +	help +	Without this, powertop will only refresh display every 10 seconds. +	No keyboard commands will work, only ^C to terminate.  config BUSYBOX_PS -	bool "ps" -	depends on !BUSYBOX_DISABLE_PS +	bool "ps (11 kb)"  	default y  	help -	  ps gives a snapshot of the current processes. +	ps gives a snapshot of the current processes.  config BUSYBOX_FEATURE_PS_WIDE -	bool "Enable wide output option (-w)" +	bool "Enable wide output (-w)"  	default y -	depends on BUSYBOX_PS && !BUSYBOX_DESKTOP +	depends on (BUSYBOX_PS || BUSYBOX_MINIPS) && !BUSYBOX_DESKTOP  	help -	  Support argument 'w' for wide output. -	  If given once, 132 chars are printed, and if given more -	  than once, the length is unlimited. +	Support argument 'w' for wide output. +	If given once, 132 chars are printed, and if given more +	than once, the length is unlimited.  config BUSYBOX_FEATURE_PS_LONG -	bool "Enable long output option (-l)" -	default n -	depends on BUSYBOX_PS && !BUSYBOX_DESKTOP +	bool "Enable long output (-l)" +	default y +	depends on (BUSYBOX_PS || BUSYBOX_MINIPS) && !BUSYBOX_DESKTOP  	help -	  Support argument 'l' for long output. -	  Adds fields PPID, RSS, START, TIME & TTY +	Support argument 'l' for long output. +	Adds fields PPID, RSS, START, TIME & TTY  config BUSYBOX_FEATURE_PS_TIME -	bool "Enable time and elapsed time output" -	default n -	depends on BUSYBOX_PS && BUSYBOX_DESKTOP -	select BUSYBOX_PLATFORM_LINUX -	help -	  Support -o time and -o etime output specifiers. - -config BUSYBOX_FEATURE_PS_ADDITIONAL_COLUMNS -	bool "Enable additional ps columns" -	default n -	depends on BUSYBOX_PS && BUSYBOX_DESKTOP -	help -	  Support -o rgroup, -o ruser, -o nice output specifiers. +	bool "Enable -o time and -o etime specifiers" +	default y +	depends on (BUSYBOX_PS || BUSYBOX_MINIPS) && BUSYBOX_DESKTOP  config BUSYBOX_FEATURE_PS_UNUSUAL_SYSTEMS  	bool "Support Linux prior to 2.4.0 and non-ELF systems"  	default n  	depends on BUSYBOX_FEATURE_PS_TIME  	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) +	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_RENICE -	bool "renice" -	default n +config BUSYBOX_FEATURE_PS_ADDITIONAL_COLUMNS +	bool "Enable -o rgroup, -o ruser, -o nice specifiers" +	default y +	depends on (BUSYBOX_PS || BUSYBOX_MINIPS) && BUSYBOX_DESKTOP +config BUSYBOX_PSTREE +	bool "pstree (9.3 kb)" +	default y  	help -	  Renice alters the scheduling priority of one or more running -	  processes. - +	Display a tree of processes. +config BUSYBOX_PWDX +	bool "pwdx (3.7 kb)" +	default y +	help +	Report current working directory of a process +config BUSYBOX_SMEMCAP +	bool "smemcap (2.5 kb)" +	default y +	help +	smemcap is a tool for capturing process data for smem, +	a memory usage statistic tool.  config BUSYBOX_BB_SYSCTL -	bool "sysctl" +	bool "sysctl (7.4 kb)"  	default y  	help -	  Configure kernel parameters at runtime. - +	Configure kernel parameters at runtime.  config BUSYBOX_TOP -	bool "top" -	default n +	bool "top (18 kb)" +	default y  	help -	  The top program provides a dynamic real-time view of a running -	  system. +	The top program provides a dynamic real-time view of a running +	system. + +config BUSYBOX_FEATURE_TOP_INTERACTIVE +	bool "Accept keyboard commands" +	default y +	depends on BUSYBOX_TOP +	help +	Without this, top will only refresh display every 5 seconds. +	No keyboard commands will work, only ^C to terminate.  config BUSYBOX_FEATURE_TOP_CPU_USAGE_PERCENTAGE  	bool "Show CPU per-process usage percentage"  	default y  	depends on BUSYBOX_TOP  	help -	  Make top display CPU usage for each process. -	  This adds about 2k. +	Make top display CPU usage for each process. +	This adds about 2k.  config BUSYBOX_FEATURE_TOP_CPU_GLOBAL_PERCENTS  	bool "Show CPU global usage percentage"  	default y  	depends on BUSYBOX_FEATURE_TOP_CPU_USAGE_PERCENTAGE  	help -	  Makes top display "CPU: NN% usr NN% sys..." line. -	  This adds about 0.5k. +	Makes top display "CPU: NN% usr NN% sys..." line. +	This adds about 0.5k.  config BUSYBOX_FEATURE_TOP_SMP_CPU  	bool "SMP CPU usage display ('c' key)"  	default y  	depends on BUSYBOX_FEATURE_TOP_CPU_GLOBAL_PERCENTS  	help -	  Allow 'c' key to switch between individual/cumulative CPU stats -	  This adds about 0.5k. +	Allow 'c' key to switch between individual/cumulative CPU stats +	This adds about 0.5k.  config BUSYBOX_FEATURE_TOP_DECIMALS  	bool "Show 1/10th of a percent in CPU/mem statistics"  	default y  	depends on BUSYBOX_FEATURE_TOP_CPU_USAGE_PERCENTAGE  	help -	  Show 1/10th of a percent in CPU/mem statistics. -	  This adds about 0.3k. +	Show 1/10th of a percent in CPU/mem statistics. +	This adds about 0.3k.  config BUSYBOX_FEATURE_TOP_SMP_PROCESS  	bool "Show CPU process runs on ('j' field)"  	default y  	depends on BUSYBOX_TOP  	help -	  Show CPU where process was last found running on. -	  This is the 'j' field. +	Show CPU where process was last found running on. +	This is the 'j' field.  config BUSYBOX_FEATURE_TOPMEM  	bool "Topmem command ('s' key)"  	default y  	depends on BUSYBOX_TOP  	help -	  Enable 's' in top (gives lots of memory info). - -config BUSYBOX_FEATURE_SHOW_THREADS -	bool "Support for showing threads in ps/pstree/top" +	Enable 's' in top (gives lots of memory info). +config BUSYBOX_UPTIME +	bool "uptime (3.7 kb)"  	default y -	depends on BUSYBOX_PS || BUSYBOX_TOP || BUSYBOX_PSTREE  	help -	  Enables the ps -T option, showing of threads in pstree, -	  and 'h' command in top. +	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_FEATURE_UPTIME_UTMP_SUPPORT +	bool "Show the number of users" +	default y +	depends on BUSYBOX_UPTIME && BUSYBOX_FEATURE_UTMP +	help +	Display the number of users currently logged on.  config BUSYBOX_WATCH -	bool "watch" -	default n +	bool "watch (4.4 kb)" +	default y  	help -	  watch is used to execute a program periodically, showing -	  output to the screen. +	watch is used to execute a program periodically, showing +	output to the screen.  endmenu diff --git a/package/busybox/config/runit/Config.in b/package/busybox/config/runit/Config.in index 87b9b6b1d..ac1a248ac 100644 --- a/package/busybox/config/runit/Config.in +++ b/package/busybox/config/runit/Config.in @@ -1,96 +1,98 @@  # DO NOT EDIT. This file is generated from Config.src  #  # For a description of the syntax of this configuration file, -# see scripts/kbuild/config-language.txt. +# see docs/Kconfig-language.txt.  #  menu "Runit Utilities" +config BUSYBOX_CHPST +	bool "chpst (9 kb)" +	default y +	help +	chpst changes the process state according to the given options, and +	execs specified program. -config BUSYBOX_RUNSV -	bool "runsv" -	default n +config BUSYBOX_SETUIDGID +	bool "setuidgid (4 kb)" +	default y +	help +	Sets soft resource limits as specified by options + +config BUSYBOX_ENVUIDGID +	bool "envuidgid (3.9 kb)" +	default y +	help +	Sets $UID to account's uid and $GID to account's gid + +config BUSYBOX_ENVDIR +	bool "envdir (2.5 kb)" +	default y  	help -	  runsv starts and monitors a service and optionally an appendant log -	  service. +	Sets various environment variables as specified by files +	in the given directory +config BUSYBOX_SOFTLIMIT +	bool "softlimit (4.5 kb)" +	default y +	help +	Sets soft resource limits as specified by options +config BUSYBOX_RUNSV +	bool "runsv (7.8 kb)" +	default y +	help +	runsv starts and monitors a service and optionally an appendant log +	service.  config BUSYBOX_RUNSVDIR -	bool "runsvdir" -	default n +	bool "runsvdir (6.3 kb)" +	default y  	help -	  runsvdir starts a runsv process for each subdirectory, or symlink to -	  a directory, in the services directory dir, up to a limit of 1000 -	  subdirectories, and restarts a runsv process if it terminates. +	runsvdir starts a runsv process for each subdirectory, or symlink to +	a directory, in the services directory dir, up to a limit of 1000 +	subdirectories, and restarts a runsv process if it terminates.  config BUSYBOX_FEATURE_RUNSVDIR_LOG  	bool "Enable scrolling argument log"  	depends on BUSYBOX_RUNSVDIR  	default n  	help -	  Enable feature where second parameter of runsvdir holds last error -	  message (viewable via top/ps). Otherwise (feature is off -	  or no parameter), error messages go to stderr only. - +	Enable feature where second parameter of runsvdir holds last error +	message (viewable via top/ps). Otherwise (feature is off +	or no parameter), error messages go to stderr only.  config BUSYBOX_SV -	bool "sv" -	default n +	bool "sv (8.5 kb)" +	default y  	help -	  sv reports the current status and controls the state of services -	  monitored by the runsv supervisor. +	sv reports the current status and controls the state of services +	monitored by the runsv supervisor.  config BUSYBOX_SV_DEFAULT_SERVICE_DIR  	string "Default directory for services"  	default "/var/service" -	depends on BUSYBOX_SV +	depends on BUSYBOX_SV || BUSYBOX_SVC || BUSYBOX_SVOK  	help -	  Default directory for services. -	  Defaults to "/var/service" +	Default directory for services. +	Defaults to "/var/service"  config BUSYBOX_SVC -	bool "svc" -	default n +	bool "svc (8.4 kb)" +	default y  	help -	  svc controls the state of services monitored by the runsv supervisor. -	  It is comaptible with daemontools command with the same name. +	svc controls the state of services monitored by the runsv supervisor. +	It is compatible with daemontools command with the same name. -config BUSYBOX_SVLOGD -	bool "svlogd" -	default n +config BUSYBOX_SVOK +	bool "svok (1.5 kb)" +	default y  	help -	  svlogd continuously reads log data from its standard input, optionally -	  filters log messages, and writes the data to one or more automatically -	  rotated logs. - -config BUSYBOX_CHPST -	bool "chpst" -	default n -	help -	  chpst changes the process state according to the given options, and -	  execs specified program. - -config BUSYBOX_SETUIDGID -	bool "setuidgid" -	default n -	help -	  Sets soft resource limits as specified by options - -config BUSYBOX_ENVUIDGID -	bool "envuidgid" -	default n -	help -	  Sets $UID to account's uid and $GID to account's gid - -config BUSYBOX_ENVDIR -	bool "envdir" -	default n -	help -	  Sets various environment variables as specified by files -	  in the given directory - -config BUSYBOX_SOFTLIMIT -	bool "softlimit" -	default n +	svok checks whether runsv supervisor is running. +	It is compatible with daemontools command with the same name. +config BUSYBOX_SVLOGD +	bool "svlogd (16 kb)" +	default y  	help -	  Sets soft resource limits as specified by options +	svlogd continuously reads log data from its standard input, optionally +	filters log messages, and writes the data to one or more automatically +	rotated logs.  endmenu diff --git a/package/busybox/config/selinux/Config.in b/package/busybox/config/selinux/Config.in index 8818ef5a1..ab2d8a206 100644 --- a/package/busybox/config/selinux/Config.in +++ b/package/busybox/config/selinux/Config.in @@ -1,124 +1,99 @@  # DO NOT EDIT. This file is generated from Config.src  #  # For a description of the syntax of this configuration file, -# see scripts/kbuild/config-language.txt. +# see docs/Kconfig-language.txt.  #  menu "SELinux Utilities"  	depends on BUSYBOX_SELINUX -  config BUSYBOX_CHCON -	bool "chcon" +	bool "chcon (8.9 kb)"  	default n  	depends on BUSYBOX_SELINUX  	help -	  Enable support to change the security context of file. - -config BUSYBOX_FEATURE_CHCON_LONG_OPTIONS -	bool "Enable long options" -	default y -	depends on BUSYBOX_CHCON && BUSYBOX_LONG_OPTS -	help -	  Support long options for the chcon applet. - +	Enable support to change the security context of file.  config BUSYBOX_GETENFORCE -	bool "getenforce" +	bool "getenforce (1.7 kb)"  	default n  	depends on BUSYBOX_SELINUX  	help -	  Enable support to get the current mode of SELinux. - +	Enable support to get the current mode of SELinux.  config BUSYBOX_GETSEBOOL -	bool "getsebool" +	bool "getsebool (5.5 kb)"  	default n  	depends on BUSYBOX_SELINUX  	help -	  Enable support to get SELinux boolean values. - +	Enable support to get SELinux boolean values.  config BUSYBOX_LOAD_POLICY -	bool "load_policy" +	bool "load_policy (1.6 kb)"  	default n  	depends on BUSYBOX_SELINUX  	help -	  Enable support to load SELinux policy. - +	Enable support to load SELinux policy.  config BUSYBOX_MATCHPATHCON -	bool "matchpathcon" +	bool "matchpathcon (6.1 kb)"  	default n  	depends on BUSYBOX_SELINUX  	help -	  Enable support to get default security context of the -	  specified path from the file contexts configuration. - -config BUSYBOX_RESTORECON -	bool "restorecon" +	Enable support to get default security context of the +	specified path from the file contexts configuration. +config BUSYBOX_RUNCON +	bool "runcon (6.6 kb)"  	default n  	depends on BUSYBOX_SELINUX  	help -	  Enable support to relabel files. The feature is almost -	  the same as setfiles, but usage is a little different. - -config BUSYBOX_RUNCON -	bool "runcon" +	Enable support to run command in specified security context. +config BUSYBOX_SELINUXENABLED +	bool "selinuxenabled (321 bytes)"  	default n  	depends on BUSYBOX_SELINUX  	help -	  Enable support to run command in speficied security context. - -config BUSYBOX_FEATURE_RUNCON_LONG_OPTIONS -	bool "Enable long options" -	default y -	depends on BUSYBOX_RUNCON && BUSYBOX_LONG_OPTS -	help -	  Support long options for the runcon applet. - -config BUSYBOX_SELINUXENABLED -	bool "selinuxenabled" +	Enable support for this command to be used within shell scripts +	to determine if selinux is enabled. +config BUSYBOX_SESTATUS +	bool "sestatus (12 kb)"  	default n  	depends on BUSYBOX_SELINUX  	help -	  Enable support for this command to be used within shell scripts -	  to determine if selinux is enabled. - +	Displays the status of SELinux.  config BUSYBOX_SETENFORCE -	bool "setenforce" +	bool "setenforce (2.1 kb)"  	default n  	depends on BUSYBOX_SELINUX  	help -	  Enable support to modify the mode SELinux is running in. - +	Enable support to modify the mode SELinux is running in.  config BUSYBOX_SETFILES -	bool "setfiles" +	bool "setfiles (13 kb)"  	default n  	depends on BUSYBOX_SELINUX  	help -	  Enable support to modify to relabel files. -	  Notice: If you built libselinux with -D_FILE_OFFSET_BITS=64, -	  (It is default in libselinux's Makefile), you _must_ enable -	  CONFIG_LFS. +	Enable support to modify to relabel files. +	Notice: If you built libselinux with -D_FILE_OFFSET_BITS=64, +	(It is default in libselinux's Makefile), you _must_ enable +	CONFIG_LFS.  config BUSYBOX_FEATURE_SETFILES_CHECK_OPTION  	bool "Enable check option"  	default n  	depends on BUSYBOX_SETFILES  	help -	  Support "-c" option (check the validity of the contexts against -	  the specified binary policy) for setfiles. Requires libsepol. +	Support "-c" option (check the validity of the contexts against +	the specified binary policy) for setfiles. Requires libsepol. -config BUSYBOX_SETSEBOOL -	bool "setsebool" +config BUSYBOX_RESTORECON +	bool "restorecon (12 kb)"  	default n  	depends on BUSYBOX_SELINUX  	help -	  Enable support for change boolean. -	  semanage and -P option is not supported yet. - -config BUSYBOX_SESTATUS -	bool "sestatus" +	Enable support to relabel files. The feature is almost +	the same as setfiles, but usage is a little different. +config BUSYBOX_SETSEBOOL +	bool "setsebool (1.7 kb)"  	default n  	depends on BUSYBOX_SELINUX  	help -	  Displays the status of SELinux. +	Enable support for change boolean. +	semanage and -P option is not supported yet.  endmenu diff --git a/package/busybox/config/shell/Config.in b/package/busybox/config/shell/Config.in index efc17ff49..b26195889 100644 --- a/package/busybox/config/shell/Config.in +++ b/package/busybox/config/shell/Config.in @@ -1,427 +1,603 @@  # DO NOT EDIT. This file is generated from Config.src  #  # For a description of the syntax of this configuration file, -# see scripts/kbuild/config-language.txt. +# see docs/Kconfig-language.txt.  #  menu "Shells" -config BUSYBOX_ASH + +choice +	prompt "Choose which shell is aliased to 'sh' name" +	default BUSYBOX_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 BUSYBOX_ASH" here, it breaks "make allnoconfig" +config BUSYBOX_SH_IS_ASH +	depends on !BUSYBOX_NOMMU  	bool "ash" -	default n +	select BUSYBOX_SHELL_ASH +	help +	Choose ash to be the shell executed by 'sh' name. +	The ash code will be built into busybox. If you don't select +	"ash" choice (CONFIG_ASH), this shell may only be invoked by +	the name 'sh' (and not 'ash'). + +config BUSYBOX_SH_IS_HUSH +	bool "hush" +	select BUSYBOX_SHELL_HUSH +	help +	Choose hush to be the shell executed by 'sh' name. +	The hush code will be built into busybox. If you don't select +	"hush" choice (CONFIG_HUSH), this shell may only be invoked by +	the name 'sh' (and not 'hush'). + +config BUSYBOX_SH_IS_NONE +	bool "none" + +endchoice + +choice +	prompt "Choose which shell is aliased to 'bash' name" +	default BUSYBOX_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, +	although compatibility is far from being complete. + +	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_BASH_IS_ASH +	depends on !BUSYBOX_NOMMU +	bool "ash" +	select BUSYBOX_SHELL_ASH +	help +	Choose ash to be the shell executed by 'bash' name. +	The ash code will be built into busybox. If you don't select +	"ash" choice (CONFIG_ASH), this shell may only be invoked by +	the name 'bash' (and not 'ash'). + +config BUSYBOX_BASH_IS_HUSH +	bool "hush" +	select BUSYBOX_SHELL_HUSH +	help +	Choose hush to be the shell executed by 'bash' name. +	The hush code will be built into busybox. If you don't select +	"hush" choice (CONFIG_HUSH), this shell may only be invoked by +	the name 'bash' (and not 'hush'). + +config BUSYBOX_BASH_IS_NONE +	bool "none" + +endchoice + + +config BUSYBOX_SHELL_ASH +	bool #hidden option  	depends on !BUSYBOX_NOMMU + +config BUSYBOX_ASH +	bool "ash (78 kb)" +	default y +	depends on !BUSYBOX_NOMMU +	select BUSYBOX_SHELL_ASH +	help +	The most complete and most pedantically correct shell included with +	busybox. This shell is actually a derivative of the Debian 'dash' +	shell (by Herbert Xu), which was created by porting the 'ash' shell +	(written by Kenneth Almquist) from NetBSD. + +# ash options +# note: Don't remove !NOMMU part in the next line; it would break +# menuconfig's indenting. +if !BUSYBOX_NOMMU && (BUSYBOX_SHELL_ASH || BUSYBOX_ASH || BUSYBOX_SH_IS_ASH || BUSYBOX_BASH_IS_ASH) + +config BUSYBOX_ASH_OPTIMIZE_FOR_SIZE +	bool "Optimize for size instead of speed" +	default y +	depends on BUSYBOX_SHELL_ASH + +config BUSYBOX_ASH_INTERNAL_GLOB +	bool "Use internal glob() implementation" +	default y	# Y is bigger, but because of uclibc glob() bug, let Y be default for now +	depends on BUSYBOX_SHELL_ASH  	help -	  Tha 'ash' shell adds about 60k in the default configuration and is -	  the most complete and most pedantically correct shell included with -	  busybox. This shell is actually a derivative of the Debian 'dash' -	  shell (by Herbert Xu), which was created by porting the 'ash' shell -	  (written by Kenneth Almquist) from NetBSD. +	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. +	Note that as of now (2017-01), uclibc and musl glob() both have bugs +	which would break ash if you select N here.  config BUSYBOX_ASH_BASH_COMPAT  	bool "bash-compatible extensions"  	default y -	depends on BUSYBOX_ASH +	depends on BUSYBOX_SHELL_ASH + +config BUSYBOX_ASH_BASH_SOURCE_CURDIR +	bool "'source' and '.' builtins search current directory after $PATH" +	default n   # do not encourage non-standard behavior +	depends on BUSYBOX_ASH_BASH_COMPAT  	help -	  Enable bash-compatible extensions. +	This is not compliant with standards. Avoid if possible. -config BUSYBOX_ASH_IDLE_TIMEOUT -	bool "Idle timeout variable" -	default n -	depends on BUSYBOX_ASH +config BUSYBOX_ASH_BASH_NOT_FOUND_HOOK +	bool "command_not_found_handle hook support" +	default y +	depends on BUSYBOX_ASH_BASH_COMPAT  	help -	  Enables bash-like auto-logout after $TMOUT seconds of idle time. +	Enable support for the 'command_not_found_handle' hook function, +	from GNU bash, which allows for alternative command not found +	handling.  config BUSYBOX_ASH_JOB_CONTROL  	bool "Job control"  	default y -	depends on BUSYBOX_ASH -	help -	  Enable job control in the ash shell. +	depends on BUSYBOX_SHELL_ASH  config BUSYBOX_ASH_ALIAS  	bool "Alias support"  	default y -	depends on BUSYBOX_ASH -	help -	  Enable alias support in the ash shell. +	depends on BUSYBOX_SHELL_ASH -config BUSYBOX_ASH_GETOPTS -	bool "Builtin getopt to parse positional parameters" +config BUSYBOX_ASH_RANDOM_SUPPORT +	bool "Pseudorandom generator and $RANDOM variable"  	default y -	depends on BUSYBOX_ASH +	depends on BUSYBOX_SHELL_ASH  	help -	  Enable support for getopts builtin in ash. +	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_ASH_BUILTIN_ECHO -	bool "Builtin version of 'echo'" +config BUSYBOX_ASH_EXPAND_PRMT +	bool "Expand prompt string"  	default y -	depends on BUSYBOX_ASH +	depends on BUSYBOX_SHELL_ASH  	help -	  Enable support for echo builtin in ash. +	$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_ASH_BUILTIN_PRINTF -	bool "Builtin version of 'printf'" +config BUSYBOX_ASH_IDLE_TIMEOUT +	bool "Idle timeout variable $TMOUT"  	default y -	depends on BUSYBOX_ASH +	depends on BUSYBOX_SHELL_ASH  	help -	  Enable support for printf builtin in ash. +	Enable bash-like auto-logout after $TMOUT seconds of idle time. -config BUSYBOX_ASH_BUILTIN_TEST -	bool "Builtin version of 'test'" +config BUSYBOX_ASH_MAIL +	bool "Check for new mail in interactive shell"  	default y -	depends on BUSYBOX_ASH +	depends on BUSYBOX_SHELL_ASH  	help -	  Enable support for test builtin in ash. +	Enable "check for new mail" function: +	if set, $MAIL file and $MAILPATH list of files +	are checked for mtime changes, and "you have mail" +	message is printed if change is detected. -config BUSYBOX_ASH_HELP -	bool "help builtin" +config BUSYBOX_ASH_ECHO +	bool "echo builtin"  	default y -	depends on BUSYBOX_ASH -	help -	  Enable help builtin in ash. +	depends on BUSYBOX_SHELL_ASH -config BUSYBOX_ASH_CMDCMD -	bool "'command' command to override shell builtins" +config BUSYBOX_ASH_PRINTF +	bool "printf builtin"  	default y -	depends on BUSYBOX_ASH -	help -	  Enable support for the ash 'command' builtin, which allows -	  you to run the specified command with the specified arguments, -	  even when there is an ash builtin command with the same name. +	depends on BUSYBOX_SHELL_ASH -config BUSYBOX_ASH_MAIL -	bool "Check for new mail on interactive shells" -	default n -	depends on BUSYBOX_ASH -	help -	  Enable "check for new mail" function in the ash shell. - -config BUSYBOX_ASH_OPTIMIZE_FOR_SIZE -	bool "Optimize for size instead of speed" +config BUSYBOX_ASH_TEST +	bool "test builtin"  	default y -	depends on BUSYBOX_ASH -	help -	  Compile ash for reduced size at the price of speed. +	depends on BUSYBOX_SHELL_ASH -config BUSYBOX_ASH_INTERNAL_GLOB -	bool "Use internal glob() implementation" -	default y	# Y is bigger, but because of uclibc glob() bug, let Y be default for now -	depends on BUSYBOX_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_ASH_HELP +	bool "help builtin" +	default y +	depends on BUSYBOX_SHELL_ASH -config BUSYBOX_ASH_RANDOM_SUPPORT -	bool "Pseudorandom generator and $RANDOM variable" +config BUSYBOX_ASH_GETOPTS +	bool "getopts builtin"  	default y -	depends on BUSYBOX_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. +	depends on BUSYBOX_SHELL_ASH -config BUSYBOX_ASH_EXPAND_PRMT -	bool "Expand prompt string" +config BUSYBOX_ASH_CMDCMD +	bool "command builtin"  	default y -	depends on BUSYBOX_ASH +	depends on BUSYBOX_SHELL_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. +	Enable support for the 'command' builtin, which allows +	you to run the specified command or builtin, +	even when there is a function with the same name. +endif # ash options  config BUSYBOX_CTTYHACK -	bool "cttyhack" -	default n +	bool "cttyhack (2.4 kb)" +	default y  	help -	  One common problem reported on the mailing list is the "can't -	  access tty; job control turned off" error message, which typically -	  appears when one tries to use a shell with stdin/stdout on -	  /dev/console. -	  This device is special - it cannot be a controlling tty. - -	  The proper solution is to use the correct device instead of -	  /dev/console. +	One common problem reported on the mailing list is the "can't +	access tty; job control turned off" error message, which typically +	appears when one tries to use a shell with stdin/stdout on +	/dev/console. +	This device is special - it cannot be a controlling tty. -	  cttyhack provides a "quick and dirty" solution to this problem. -	  It analyzes stdin with various ioctls, trying to determine whether -	  it is a /dev/ttyN or /dev/ttySN (virtual terminal or serial line). -	  On Linux it also checks sysfs for a pointer to the active console. -	  If cttyhack is able to find the real console device, it closes -	  stdin/out/err and reopens that device. -	  Then it executes the given program. Opening the device will make -	  that device a controlling tty. This may require cttyhack -	  to be a session leader. +	The proper solution is to use the correct device instead of +	/dev/console. -	  Example for /etc/inittab (for busybox init): +	cttyhack provides a "quick and dirty" solution to this problem. +	It analyzes stdin with various ioctls, trying to determine whether +	it is a /dev/ttyN or /dev/ttySN (virtual terminal or serial line). +	On Linux it also checks sysfs for a pointer to the active console. +	If cttyhack is able to find the real console device, it closes +	stdin/out/err and reopens that device. +	Then it executes the given program. Opening the device will make +	that device a controlling tty. This may require cttyhack +	to be a session leader. -	  ::respawn:/bin/cttyhack /bin/sh +	Example for /etc/inittab (for busybox init): -	  Starting an interactive shell from boot shell script: +	::respawn:/bin/cttyhack /bin/sh -	  setsid cttyhack sh +	Starting an interactive shell from boot shell script: -	  Giving controlling tty to shell running with PID 1: +	setsid cttyhack sh -	  # exec cttyhack sh +	Giving controlling tty to shell running with PID 1: -	  Without cttyhack, you need to know exact tty name, -	  and do something like this: +	# exec cttyhack sh -	  # exec setsid sh -c 'exec sh </dev/tty1 >/dev/tty1 2>&1' +	Without cttyhack, you need to know exact tty name, +	and do something like this: -	  Starting getty on a controlling tty from a shell script: +	# exec setsid sh -c 'exec sh </dev/tty1 >/dev/tty1 2>&1' -	  # getty 115200 $(cttyhack) +	Starting getty on a controlling tty from a shell script: +	# getty 115200 $(cttyhack)  config BUSYBOX_HUSH -	bool "hush" -	default y if ADK_TARGET_UCLINUX -	default n +	bool "hush (68 kb)" +	default y +	select BUSYBOX_SHELL_HUSH  	help -	  hush is a small shell (25k). It handles the normal flow control -	  constructs such as if/then/elif/else/fi, for/in/do/done, while loops, -	  case/esac. Redirections, here documents, $((arithmetic)) -	  and functions are supported. +	hush is a small shell. It handles the normal flow control +	constructs such as if/then/elif/else/fi, for/in/do/done, while loops, +	case/esac. Redirections, here documents, $((arithmetic)) +	and functions are supported. + +	It will compile and work on no-mmu systems. -	  It will compile and work on no-mmu systems. +	It does not handle select, aliases, tilde expansion, +	&>file and >&file redirection of stdout+stderr. -	  It does not handle select, aliases, tilde expansion, -	  &>file and >&file redirection of stdout+stderr. +config BUSYBOX_SHELL_HUSH +	bool "Internal shell for embedded script support" +	default n + +# hush options +# It's only needed to get "nice" menuconfig indenting. +if BUSYBOX_SHELL_HUSH || BUSYBOX_HUSH || BUSYBOX_SH_IS_HUSH || BUSYBOX_BASH_IS_HUSH  config BUSYBOX_HUSH_BASH_COMPAT  	bool "bash-compatible extensions"  	default y -	depends on BUSYBOX_HUSH -	help -	  Enable bash-compatible extensions. +	depends on BUSYBOX_SHELL_HUSH  config BUSYBOX_HUSH_BRACE_EXPANSION  	bool "Brace expansion"  	default y  	depends on BUSYBOX_HUSH_BASH_COMPAT  	help -	  Enable {abc,def} extension. +	Enable {abc,def} extension. -config BUSYBOX_HUSH_HELP -	bool "help builtin" -	default y -	depends on BUSYBOX_HUSH +config BUSYBOX_HUSH_BASH_SOURCE_CURDIR +	bool "'source' and '.' builtins search current directory after $PATH" +	default n   # do not encourage non-standard behavior +	depends on BUSYBOX_HUSH_BASH_COMPAT  	help -	  Enable help builtin in hush. Code size + ~1 kbyte. +	This is not compliant with standards. Avoid if possible. + +config BUSYBOX_HUSH_LINENO_VAR +	bool "$LINENO variable (bashism)" +	default y +	depends on BUSYBOX_SHELL_HUSH  config BUSYBOX_HUSH_INTERACTIVE  	bool "Interactive mode"  	default y -	depends on BUSYBOX_HUSH +	depends on BUSYBOX_SHELL_HUSH  	help -	  Enable interactive mode (prompt and command editing). -	  Without this, hush simply reads and executes commands -	  from stdin just like a shell script from a file. -	  No prompt, no PS1/PS2 magic shell variables. +	Enable interactive mode (prompt and command editing). +	Without this, hush simply reads and executes commands +	from stdin just like a shell script from a file. +	No prompt, no PS1/PS2 magic shell variables.  config BUSYBOX_HUSH_SAVEHISTORY  	bool "Save command history to .hush_history"  	default y  	depends on BUSYBOX_HUSH_INTERACTIVE && BUSYBOX_FEATURE_EDITING_SAVEHISTORY -	help -	  Enable history saving in hush.  config BUSYBOX_HUSH_JOB  	bool "Job control"  	default y  	depends on BUSYBOX_HUSH_INTERACTIVE  	help -	  Enable job control: Ctrl-Z backgrounds, Ctrl-C interrupts current -	  command (not entire shell), fg/bg builtins work. Without this option, -	  "cmd &" still works by simply spawning a process and immediately -	  prompting for next command (or executing next command in a script), -	  but no separate process group is formed. +	Enable job control: Ctrl-Z backgrounds, Ctrl-C interrupts current +	command (not entire shell), fg/bg builtins work. Without this option, +	"cmd &" still works by simply spawning a process and immediately +	prompting for next command (or executing next command in a script), +	but no separate process group is formed.  config BUSYBOX_HUSH_TICK -	bool "Process substitution" +	bool "Support command substitution"  	default y -	depends on BUSYBOX_HUSH +	depends on BUSYBOX_SHELL_HUSH  	help -	  Enable process substitution `command` and $(command) in hush. +	Enable `command` and $(command).  config BUSYBOX_HUSH_IF  	bool "Support if/then/elif/else/fi"  	default y -	depends on BUSYBOX_HUSH -	help -	  Enable if/then/elif/else/fi in hush. +	depends on BUSYBOX_SHELL_HUSH  config BUSYBOX_HUSH_LOOPS  	bool "Support for, while and until loops"  	default y -	depends on BUSYBOX_HUSH -	help -	  Enable for, while and until loops in hush. +	depends on BUSYBOX_SHELL_HUSH  config BUSYBOX_HUSH_CASE  	bool "Support case ... esac statement"  	default y -	depends on BUSYBOX_HUSH +	depends on BUSYBOX_SHELL_HUSH  	help -	  Enable case ... esac statement in hush. +400 bytes. +	Enable case ... esac statement. +400 bytes.  config BUSYBOX_HUSH_FUNCTIONS  	bool "Support funcname() { commands; } syntax"  	default y -	depends on BUSYBOX_HUSH +	depends on BUSYBOX_SHELL_HUSH  	help -	  Enable support for shell functions in hush. +800 bytes. +	Enable support for shell functions. +800 bytes.  config BUSYBOX_HUSH_LOCAL -	bool "Support local builtin" +	bool "local builtin"  	default y  	depends on BUSYBOX_HUSH_FUNCTIONS  	help -	  Enable support for local variables in functions. +	Enable support for local variables in functions.  config BUSYBOX_HUSH_RANDOM_SUPPORT  	bool "Pseudorandom generator and $RANDOM variable"  	default y -	depends on BUSYBOX_HUSH +	depends on BUSYBOX_SHELL_HUSH  	help -	  Enable pseudorandom generator and dynamic variable "$RANDOM". -	  Each read of "$RANDOM" will generate a new pseudorandom value. +	Enable pseudorandom generator and dynamic variable "$RANDOM". +	Each read of "$RANDOM" will generate a new pseudorandom value. + +config BUSYBOX_HUSH_MODE_X +	bool "Support 'hush -x' option and 'set -x' command" +	default y +	depends on BUSYBOX_SHELL_HUSH +	help +	This instructs hush to print commands before execution. +	Adds ~300 bytes. + +config BUSYBOX_HUSH_ECHO +	bool "echo builtin" +	default y +	depends on BUSYBOX_SHELL_HUSH + +config BUSYBOX_HUSH_PRINTF +	bool "printf builtin" +	default y +	depends on BUSYBOX_SHELL_HUSH + +config BUSYBOX_HUSH_TEST +	bool "test builtin" +	default y +	depends on BUSYBOX_SHELL_HUSH + +config BUSYBOX_HUSH_HELP +	bool "help builtin" +	default y +	depends on BUSYBOX_SHELL_HUSH + +config BUSYBOX_HUSH_EXPORT +	bool "export builtin" +	default y +	depends on BUSYBOX_SHELL_HUSH  config BUSYBOX_HUSH_EXPORT_N  	bool "Support 'export -n' option"  	default y -	depends on BUSYBOX_HUSH +	depends on BUSYBOX_HUSH_EXPORT  	help -	  export -n unexports variables. It is a bash extension. +	export -n unexports variables. It is a bash extension. -config BUSYBOX_HUSH_MODE_X -	bool "Support 'hush -x' option and 'set -x' command" +config BUSYBOX_HUSH_READONLY +	bool "readonly builtin"  	default y -	depends on BUSYBOX_HUSH +	depends on BUSYBOX_SHELL_HUSH  	help -	  This instructs hush to print commands before execution. -	  Adds ~300 bytes. +	Enable support for read-only variables. -config BUSYBOX_MSH -	bool "msh (deprecated: aliased to hush)" -	default n -	select BUSYBOX_HUSH -	help -	  msh is deprecated and will be removed, please migrate to hush. +config BUSYBOX_HUSH_KILL +	bool "kill builtin (supports kill %jobspec)" +	default y +	depends on BUSYBOX_SHELL_HUSH -choice -prompt "Choose which shell is aliased to 'sh' name" +config BUSYBOX_HUSH_WAIT +	bool "wait builtin" +	default y +	depends on BUSYBOX_SHELL_HUSH -config BUSYBOX_SH_IS_NONE -	bool "none" +config BUSYBOX_HUSH_COMMAND +	bool "command builtin" +	default y +	depends on BUSYBOX_SHELL_HUSH -config BUSYBOX_SH_IS_ASH -	bool "ash" +config BUSYBOX_HUSH_TRAP +	bool "trap builtin" +	default y +	depends on BUSYBOX_SHELL_HUSH -config BUSYBOX_SH_IS_HUSH -	bool "hush" +config BUSYBOX_HUSH_TYPE +	bool "type builtin" +	default y +	depends on BUSYBOX_SHELL_HUSH -endchoice +config BUSYBOX_HUSH_TIMES +	bool "times builtin" +	default y +	depends on BUSYBOX_SHELL_HUSH -choice -prompt "Choose which shell is aliased to 'bash' name" +config BUSYBOX_HUSH_READ +	bool "read builtin" +	default y +	depends on BUSYBOX_SHELL_HUSH -config BUSYBOX_BASH_IS_NONE -	bool "none" +config BUSYBOX_HUSH_SET +	bool "set builtin" +	default y +	depends on BUSYBOX_SHELL_HUSH -config BUSYBOX_BASH_IS_ASH -	bool "ash" +config BUSYBOX_HUSH_UNSET +	bool "unset builtin" +	default y +	depends on BUSYBOX_SHELL_HUSH -config BUSYBOX_BASH_IS_HUSH -	bool "hush" +config BUSYBOX_HUSH_ULIMIT +	bool "ulimit builtin" +	default y +	depends on BUSYBOX_SHELL_HUSH -endchoice +config BUSYBOX_HUSH_UMASK +	bool "umask builtin" +	default y +	depends on BUSYBOX_SHELL_HUSH + +config BUSYBOX_HUSH_GETOPTS +	bool "getopts builtin" +	default y +	depends on BUSYBOX_SHELL_HUSH + +config BUSYBOX_HUSH_MEMLEAK +	bool "memleak builtin (debugging)" +	default n +	depends on BUSYBOX_SHELL_HUSH + +endif # hush options + + +comment "Options common to all shells" +if BUSYBOX_SHELL_ASH || BUSYBOX_SHELL_HUSH  config BUSYBOX_FEATURE_SH_MATH  	bool "POSIX math support"  	default y -	depends on BUSYBOX_ASH || BUSYBOX_HUSH +	depends on BUSYBOX_SHELL_ASH || BUSYBOX_SHELL_HUSH  	help -	  Enable math support in the shell via $((...)) syntax. +	Enable math support in the shell via $((...)) syntax.  config BUSYBOX_FEATURE_SH_MATH_64  	bool "Extend POSIX math support to 64 bit"  	default y  	depends on BUSYBOX_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. -	  This is not in POSIX, so do not rely on this in portable code. +	Enable 64-bit math support in the shell. This will make the shell +	slightly larger, but will allow computation with very large numbers. +	This is not in POSIX, so do not rely on this in portable code. + +config BUSYBOX_FEATURE_SH_MATH_BASE +	bool "Support BASE#nnnn literals" +	default y +	depends on BUSYBOX_FEATURE_SH_MATH  config BUSYBOX_FEATURE_SH_EXTRA_QUIET  	bool "Hide message on interactive shell startup"  	default y -	depends on BUSYBOX_HUSH || BUSYBOX_ASH +	depends on BUSYBOX_SHELL_ASH || BUSYBOX_SHELL_HUSH  	help -	  Remove the busybox introduction when starting a shell. +	Remove the busybox introduction when starting a shell.  config BUSYBOX_FEATURE_SH_STANDALONE  	bool "Standalone shell"  	default n -	depends on (BUSYBOX_HUSH || BUSYBOX_ASH) -	help -	  This option causes busybox shells to use busybox applets -	  in preference to executables in the PATH whenever possible. For -	  example, entering the command 'ifconfig' into the shell would cause -	  busybox to use the ifconfig busybox applet. Specifying the fully -	  qualified executable name, such as '/sbin/ifconfig' will still -	  execute the /sbin/ifconfig executable on the filesystem. This option -	  is generally used when creating a statically linked version of busybox -	  for use as a rescue shell, in the event that you screw up your system. - -	  This is implemented by re-execing /proc/self/exe (typically) -	  with right parameters. Some selected applets ("NOFORK" applets) -	  can even be executed without creating new process. -	  Instead, busybox will call <applet>_main() internally. - -	  However, this causes problems in chroot jails without mounted /proc -	  and with ps/top (command name can be shown as 'exe' for applets -	  started this way). -# untrue? -#	  Note that this will *also* cause applets to take precedence -#	  over shell builtins of the same name. So turning this on will -#	  eliminate any performance gained by turning on the builtin "echo" -#	  and "test" commands in ash. -# untrue? -#	  Note that when using this option, the shell will attempt to directly -#	  run '/bin/busybox'. If you do not have the busybox binary sitting in -#	  that exact location with that exact name, this option will not work at -#	  all. +	depends on BUSYBOX_SHELL_ASH || BUSYBOX_SHELL_HUSH +	help +	This option causes busybox shells to use busybox applets +	in preference to executables in the PATH whenever possible. For +	example, entering the command 'ifconfig' into the shell would cause +	busybox to use the ifconfig busybox applet. Specifying the fully +	qualified executable name, such as '/sbin/ifconfig' will still +	execute the /sbin/ifconfig executable on the filesystem. This option +	is generally used when creating a statically linked version of busybox +	for use as a rescue shell, in the event that you screw up your system. + +	This is implemented by re-execing /proc/self/exe (typically) +	with right parameters. + +	However, there are drawbacks: it is problematic in chroot jails +	without mounted /proc, and ps/top may show command name as 'exe' +	for applets started this way.  config BUSYBOX_FEATURE_SH_NOFORK  	bool "Run 'nofork' applets directly"  	default n -	depends on (BUSYBOX_HUSH || BUSYBOX_ASH) +	depends on BUSYBOX_SHELL_ASH || BUSYBOX_SHELL_HUSH  	help -	  This option causes busybox shells to not execute typical -	  fork/exec/wait sequence, but call <applet>_main directly, -	  if possible. (Sometimes it is not possible: for example, -	  this is not possible in pipes). +	This option causes busybox shells to not execute typical +	fork/exec/wait sequence, but call <applet>_main directly, +	if possible. (Sometimes it is not possible: for example, +	this is not possible in pipes). -	  This will be done only for some applets (those which are marked -	  NOFORK in include/applets.h). +	This will be done only for some applets (those which are marked +	NOFORK in include/applets.h). -	  This may significantly speed up some shell scripts. +	This may significantly speed up some shell scripts. -	  This feature is relatively new. Use with care. Report bugs -	  to project mailing list. +	This feature is relatively new. Use with care. Report bugs +	to project mailing list. + +config BUSYBOX_FEATURE_SH_READ_FRAC +	bool "read -t N.NNN support (+110 bytes)" +	default y +	depends on BUSYBOX_SHELL_ASH || BUSYBOX_SHELL_HUSH +	help +	Enable support for fractional second timeout in read builtin.  config BUSYBOX_FEATURE_SH_HISTFILESIZE  	bool "Use $HISTFILESIZE"  	default y -	depends on BUSYBOX_HUSH || BUSYBOX_ASH +	depends on BUSYBOX_SHELL_ASH || BUSYBOX_SHELL_HUSH  	help -	  This option makes busybox shells to use $HISTFILESIZE variable -	  to set shell history size. Note that its max value is capped -	  by "History size" setting in library tuning section. +	This option makes busybox shells to use $HISTFILESIZE variable +	to set shell history size. Note that its max value is capped +	by "History size" setting in library tuning section. + +config BUSYBOX_FEATURE_SH_EMBEDDED_SCRIPTS +	bool "Embed scripts in the binary" +	default y +	depends on BUSYBOX_SHELL_ASH || BUSYBOX_SHELL_HUSH +	help +	Allow scripts to be compressed and embedded in the busybox +	binary. The scripts should be placed in the 'embed' directory +	at build time. Like applets, scripts can be run as +	'busybox SCRIPT ...' or by linking their name to the binary. + +	This also allows applets to be implemented as scripts: place +	the script in 'applets_sh' and a stub C file containing +	configuration in the appropriate subsystem directory. +endif # Options common to all shells  endmenu diff --git a/package/busybox/config/sysklogd/Config.in b/package/busybox/config/sysklogd/Config.in index 6df10efde..0d8b63557 100644 --- a/package/busybox/config/sysklogd/Config.in +++ b/package/busybox/config/sysklogd/Config.in @@ -1,63 +1,127 @@  # DO NOT EDIT. This file is generated from Config.src  #  # For a description of the syntax of this configuration file, -# see scripts/kbuild/config-language.txt. +# see docs/Kconfig-language.txt.  #  menu "System Logging Utilities" +config BUSYBOX_KLOGD +	bool "klogd (5.7 kb)" +	default y +	help +	klogd is a utility which intercepts and logs all +	messages from the Linux kernel and sends the messages +	out to the 'syslogd' utility so they can be logged. If +	you wish to record the messages produced by the kernel, +	you should enable this option. + +comment "klogd should not be used together with syslog to kernel printk buffer" +	depends on BUSYBOX_KLOGD && BUSYBOX_FEATURE_KMSG_SYSLOG + +config BUSYBOX_FEATURE_KLOGD_KLOGCTL +	bool "Use the klogctl() interface" +	default y +	depends on BUSYBOX_KLOGD +	help +	The klogd applet supports two interfaces for reading +	kernel messages. Linux provides the klogctl() interface +	which allows reading messages from the kernel ring buffer +	independently from the file system. + +	If you answer 'N' here, klogd will use the more portable +	approach of reading them from /proc or a device node. +	However, this method requires the file to be available. + +	If in doubt, say 'Y'. +config BUSYBOX_LOGGER +	bool "logger (6.3 kb)" +	default y +	select BUSYBOX_FEATURE_SYSLOG +	help +	The logger utility allows you to send arbitrary text +	messages to the system log (i.e. the 'syslogd' utility) so +	they can be logged. This is generally used to help locate +	problems that occur within programs and scripts. +config BUSYBOX_LOGREAD +	bool "logread (4.8 kb)" +	default y +	help +	If you enabled Circular Buffer support, you almost +	certainly want to enable this feature as well. This +	utility will allow you to read the messages that are +	stored in the syslogd circular buffer. + +config BUSYBOX_FEATURE_LOGREAD_REDUCED_LOCKING +	bool "Double buffering" +	default y +	depends on BUSYBOX_LOGREAD +	help +	'logread' output to slow serial terminals can have +	side effects on syslog because of the semaphore. +	This option make logread to double buffer copy +	from circular buffer, minimizing semaphore +	contention at some minor memory expense.  config BUSYBOX_SYSLOGD -	bool "syslogd" +	bool "syslogd (13 kb)"  	default y  	help -	  The syslogd utility is used to record logs of all the -	  significant events that occur on a system. Every -	  message that is logged records the date and time of the -	  event, and will generally also record the name of the -	  application that generated the message. When used in -	  conjunction with klogd, messages from the Linux kernel -	  can also be recorded. This is terribly useful, -	  especially for finding what happened when something goes -	  wrong. And something almost always will go wrong if -	  you wait long enough.... +	The syslogd utility is used to record logs of all the +	significant events that occur on a system. Every +	message that is logged records the date and time of the +	event, and will generally also record the name of the +	application that generated the message. When used in +	conjunction with klogd, messages from the Linux kernel +	can also be recorded. This is terribly useful, +	especially for finding what happened when something goes +	wrong. And something almost always will go wrong if +	you wait long enough....  config BUSYBOX_FEATURE_ROTATE_LOGFILE  	bool "Rotate message files"  	default y  	depends on BUSYBOX_SYSLOGD  	help -	  This enables syslogd to rotate the message files -	  on his own. No need to use an external rotatescript. +	This enables syslogd to rotate the message files +	on his own. No need to use an external rotate script.  config BUSYBOX_FEATURE_REMOTE_LOG  	bool "Remote Log support"  	default y  	depends on BUSYBOX_SYSLOGD  	help -	  When you enable this feature, the syslogd utility can -	  be used to send system log messages to another system -	  connected via a network. This allows the remote -	  machine to log all the system messages, which can be -	  terribly useful for reducing the number of serial -	  cables you use. It can also be a very good security -	  measure to prevent system logs from being tampered with -	  by an intruder. +	When you enable this feature, the syslogd utility can +	be used to send system log messages to another system +	connected via a network. This allows the remote +	machine to log all the system messages, which can be +	terribly useful for reducing the number of serial +	cables you use. It can also be a very good security +	measure to prevent system logs from being tampered with +	by an intruder.  config BUSYBOX_FEATURE_SYSLOGD_DUP  	bool "Support -D (drop dups) option"  	default y  	depends on BUSYBOX_SYSLOGD  	help -	  Option -D instructs syslogd to drop consecutive messages -	  which are totally the same. +	Option -D instructs syslogd to drop consecutive messages +	which are totally the same.  config BUSYBOX_FEATURE_SYSLOGD_CFG  	bool "Support syslog.conf" +	default y +	depends on BUSYBOX_SYSLOGD +	help +	Supports restricted syslogd config. See docs/syslog.conf.txt + +config BUSYBOX_FEATURE_SYSLOGD_PRECISE_TIMESTAMPS +	bool "Include milliseconds in timestamps"  	default n  	depends on BUSYBOX_SYSLOGD  	help -	  Supports restricted syslogd config. See docs/syslog.conf.txt +	Includes milliseconds (HH:MM:SS.mmm) in timestamp when +	timestamps are added.  config BUSYBOX_FEATURE_SYSLOGD_READ_BUFFER_SIZE  	int "Read buffer size in bytes" @@ -65,105 +129,43 @@ config BUSYBOX_FEATURE_SYSLOGD_READ_BUFFER_SIZE  	range 256 20000  	depends on BUSYBOX_SYSLOGD  	help -	  This option sets the size of the syslog read buffer. -	  Actual memory usage increases around five times the -	  change done here. +	This option sets the size of the syslog read buffer. +	Actual memory usage increases around five times the +	change done here.  config BUSYBOX_FEATURE_IPC_SYSLOG  	bool "Circular Buffer support"  	default y  	depends on BUSYBOX_SYSLOGD  	help -	  When you enable this feature, the syslogd utility will -	  use a circular buffer to record system log messages. -	  When the buffer is filled it will continue to overwrite -	  the oldest messages. This can be very useful for -	  systems with little or no permanent storage, since -	  otherwise system logs can eventually fill up your -	  entire filesystem, which may cause your system to -	  break badly. +	When you enable this feature, the syslogd utility will +	use a circular buffer to record system log messages. +	When the buffer is filled it will continue to overwrite +	the oldest messages. This can be very useful for +	systems with little or no permanent storage, since +	otherwise system logs can eventually fill up your +	entire filesystem, which may cause your system to +	break badly.  config BUSYBOX_FEATURE_IPC_SYSLOG_BUFFER_SIZE  	int "Circular buffer size in Kbytes (minimum 4KB)" -	default 32 +	default 16  	range 4 2147483647  	depends on BUSYBOX_FEATURE_IPC_SYSLOG  	help -	  This option sets the size of the circular buffer -	  used to record system log messages. +	This option sets the size of the circular buffer +	used to record system log messages.  config BUSYBOX_FEATURE_KMSG_SYSLOG -       bool "Linux kernel printk buffer support" -       default n -       depends on BUSYBOX_SYSLOGD -       select BUSYBOX_PLATFORM_LINUX -       help -         When you enable this feature, the syslogd utility will -         write system log message to the Linux kernel's printk buffer. -         This can be used as a smaller alternative to the syslogd IPC -         support, as klogd and logread aren't needed. - -         NOTICE: Syslog facilities in log entries needs kernel 3.5+. - -config BUSYBOX_LOGREAD -	bool "logread" +	bool "Linux kernel printk buffer support"  	default y -	depends on BUSYBOX_FEATURE_IPC_SYSLOG -	help -	  If you enabled Circular Buffer support, you almost -	  certainly want to enable this feature as well. This -	  utility will allow you to read the messages that are -	  stored in the syslogd circular buffer. - -config BUSYBOX_FEATURE_LOGREAD_REDUCED_LOCKING -	bool "Double buffering" -	default y -	depends on BUSYBOX_LOGREAD -	help -	  'logread' ouput to slow serial terminals can have -	  side effects on syslog because of the semaphore. -	  This option make logread to double buffer copy -	  from circular buffer, minimizing semaphore -	  contention at some minor memory expense. - -config BUSYBOX_KLOGD -	bool "klogd" -	default y -	help -	  klogd is a utility which intercepts and logs all -	  messages from the Linux kernel and sends the messages -	  out to the 'syslogd' utility so they can be logged. If -	  you wish to record the messages produced by the kernel, -	  you should enable this option. - -comment "klogd should not be used together with syslog to kernel printk buffer" -       depends on BUSYBOX_KLOGD && BUSYBOX_FEATURE_KMSG_SYSLOG - -config BUSYBOX_FEATURE_KLOGD_KLOGCTL -	bool "Use the klogctl() interface" -	default y -	depends on BUSYBOX_KLOGD -	select BUSYBOX_PLATFORM_LINUX +	depends on BUSYBOX_SYSLOGD  	help -	  The klogd applet supports two interfaces for reading -	  kernel messages. Linux provides the klogctl() interface -	  which allows reading messages from the kernel ring buffer -	  independently from the file system. - -	  If you answer 'N' here, klogd will use the more portable -	  approach of reading them from /proc or a device node. -	  However, this method requires the file to be available. +	When you enable this feature, the syslogd utility will +	write system log message to the Linux kernel's printk buffer. +	This can be used as a smaller alternative to the syslogd IPC +	support, as klogd and logread aren't needed. -	  If in doubt, say 'Y'. - -config BUSYBOX_LOGGER -	bool "logger" -	default y -	select BUSYBOX_FEATURE_SYSLOG -	help -	    The logger utility allows you to send arbitrary text -	    messages to the system log (i.e. the 'syslogd' utility) so -	    they can be logged. This is generally used to help locate -	    problems that occur within programs and scripts. +	NOTICE: Syslog facilities in log entries needs kernel 3.5+.  endmenu diff --git a/package/busybox/config/util-linux/Config.in b/package/busybox/config/util-linux/Config.in index 83830728b..5bc9673d3 100644 --- a/package/busybox/config/util-linux/Config.in +++ b/package/busybox/config/util-linux/Config.in @@ -1,624 +1,585 @@  # DO NOT EDIT. This file is generated from Config.src  #  # For a description of the syntax of this configuration file, -# see scripts/kbuild/config-language.txt. +# see docs/Kconfig-language.txt.  #  menu "Linux System Utilities" -config BUSYBOX_BLKDISCARD -	bool "blkdiscard" -	default n -	help -	  blkdiscard discards sectors on a given device. - -config BUSYBOX_BLOCKDEV -	bool "blockdev" -	default n +config BUSYBOX_ACPID +	bool "acpid (9 kb)" +	default y  	help -	  Performs some ioctls with block devices. +	acpid listens to ACPI events coming either in textual form from +	/proc/acpi/event (though it is marked deprecated it is still widely +	used and _is_ a standard) or in binary form from specified evdevs +	(just use /dev/input/event*). -config BUSYBOX_FATATTR -	bool "fatattr" -	default n -	select BUSYBOX_PLATFORM_LINUX -	help -	  fatattr lists or changes the file attributes on a fat file system. +	It parses the event to retrieve ACTION and a possible PARAMETER. +	It then spawns /etc/acpi/<ACTION>[/<PARAMETER>] either via run-parts +	(if the resulting path is a directory) or directly as an executable. -config BUSYBOX_FSTRIM -	bool "fstrim" -	default n -	select BUSYBOX_PLATFORM_LINUX -	help -	  Discard unused blocks on a mounted filesystem. +	N.B. acpid relies on run-parts so have the latter installed. -config BUSYBOX_MDEV -	bool "mdev" +config BUSYBOX_FEATURE_ACPID_COMPAT +	bool "Accept and ignore redundant options"  	default y -	select BUSYBOX_PLATFORM_LINUX +	depends on BUSYBOX_ACPID  	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_FEATURE_MDEV_CONF -	bool "Support /etc/mdev.conf" +	Accept and ignore compatibility options -g -m -s -S -v. +config BUSYBOX_BLKDISCARD +	bool "blkdiscard (4.3 kb)"  	default y -	depends on BUSYBOX_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_FEATURE_MDEV_RENAME -	bool "Support subdirs/symlinks" +	blkdiscard discards sectors on a given device. +config BUSYBOX_BLKID +	bool "blkid (12 kb)"  	default y -	depends on BUSYBOX_FEATURE_MDEV_CONF +	select BUSYBOX_VOLUMEID  	help -	  Add support for renaming devices and creating symlinks. - -	  For more information, please see docs/mdev.txt +	Lists labels and UUIDs of all filesystems. -config BUSYBOX_FEATURE_MDEV_RENAME_REGEXP -	bool "Support regular expressions substitutions when renaming device" +config BUSYBOX_FEATURE_BLKID_TYPE +	bool "Print filesystem type"  	default y -	depends on BUSYBOX_FEATURE_MDEV_RENAME +	depends on BUSYBOX_BLKID  	help -	  Add support for regular expressions substitutions when renaming -	  device. - -config BUSYBOX_FEATURE_MDEV_EXEC -	bool "Support command execution at device addition/removal" +	Show TYPE="filesystem type" +config BUSYBOX_BLOCKDEV +	bool "blockdev (2.3 kb)"  	default y -	depends on BUSYBOX_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_FEATURE_MDEV_LOAD_FIRMWARE -	bool "Support loading of firmwares" +	Performs some ioctls with block devices. +config BUSYBOX_CAL +	bool "cal (5.8 kb)"  	default y -	depends on BUSYBOX_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_MKE2FS -	bool "mke2fs" -	default n -	select PLATFORM_LINUX -	help -	  Utility to create EXT2 filesystems. - -config BUSYBOX_MKFS_EXT2 -	bool "mkfs.ext2" -	default n -	select PLATFORM_LINUX -	help -	  Alias to "mke2fs". - -config BUSYBOX_MKDOSFS -	bool "mkdosfs" -	default n -	select PLATFORM_LINUX -	help -	  Utility to create FAT32 filesystems. - -config BUSYBOX_NSENTER -	bool "nsenter" -	default n -	select BUSYBOX_PLATFORM_LINUX  	help -	  Run program with namespaces of other processes. - -config BUSYBOX_FEATURE_NSENTER_LONG_OPTS -	bool "Enable long options" -	default n -	depends on BUSYBOX_NSENTER && BUSYBOX_LONG_OPTS -	help -	  Support long options for the nsenter applet. This makes -	  the busybox implementation more compatible with upstream. - -config BUSYBOX_REV -	bool "rev" -	default n -	help -	  Reverse lines of a file or files. - -config BUSYBOX_UEVENT -	bool "uevent" -	default n -	select BUSYBOX_PLATFORM_LINUX +	cal is used to display a monthly calendar. +config BUSYBOX_CHRT +	bool "chrt (4.7 kb)" +	default y  	help -	  uevent is a netlink listener for kernel uevent notifications -	  sent via netlink. It is usually used for dynamic device creation. - -config BUSYBOX_UNSHARE -	bool "unshare" -	default n -	depends on BUSYBOX_LONG_OPTS && !BUSYBOX_NOMMU -	select BUSYBOX_PLATFORM_LINUX +	Manipulate real-time attributes of a process. +	This requires sched_{g,s}etparam support in your libc. +config BUSYBOX_DMESG +	bool "dmesg (3.7 kb)" +	default y  	help -	  Run program with some namespaces unshared from parent. +	dmesg is used to examine or control the kernel ring buffer. When the +	Linux kernel prints messages to the system log, they are stored in +	the kernel ring buffer. You can use dmesg to print the kernel's ring +	buffer, clear the kernel ring buffer, change the size of the kernel +	ring buffer, and change the priority level at which kernel messages +	are also logged to the system console. Enable this option if you +	wish to enable the 'dmesg' utility. -config BUSYBOX_ACPID -	bool "acpid" -	default n -	select BUSYBOX_PLATFORM_LINUX +config BUSYBOX_FEATURE_DMESG_PRETTY +	bool "Pretty output" +	default y +	depends on BUSYBOX_DMESG  	help -	  acpid listens to ACPI events coming either in textual form from -	  /proc/acpi/event (though it is marked deprecated it is still widely -	  used and _is_ a standard) or in binary form from specified evdevs -	  (just use /dev/input/event*). - -	  It parses the event to retrieve ACTION and a possible PARAMETER. -	  It then spawns /etc/acpi/<ACTION>[/<PARAMETER>] either via run-parts -	  (if the resulting path is a directory) or directly as an executable. +	If you wish to scrub the syslog level from the output, say 'Y' here. +	The syslog level is a string prefixed to every line with the form +	"<#>". -	  N.B. acpid relies on run-parts so have the latter installed. +	With this option you will see: +		# dmesg +		Linux version 2.6.17.4 ..... +		BIOS-provided physical RAM map: +		 BIOS-e820: 0000000000000000 - 000000000009f000 (usable) -config BUSYBOX_FEATURE_ACPID_COMPAT -	bool "Accept and ignore redundant options" +	Without this option you will see: +		# dmesg +		<5>Linux version 2.6.17.4 ..... +		<6>BIOS-provided physical RAM map: +		<6> BIOS-e820: 0000000000000000 - 000000000009f000 (usable) +config BUSYBOX_EJECT +	bool "eject (4 kb)"  	default y -	depends on BUSYBOX_ACPID  	help -	  Accept and ignore compatibility options -g -m -s -S -v. +	Used to eject cdroms. (defaults to /dev/cdrom) -config BUSYBOX_BLKID -	bool "blkid" +config BUSYBOX_FEATURE_EJECT_SCSI +	bool "SCSI support"  	default y -	select BUSYBOX_PLATFORM_LINUX -	select BUSYBOX_VOLUMEID -	help -	  Lists labels and UUIDs of all filesystems. -	  WARNING: -	  With all submodules selected, it will add ~8k to busybox. - -config BUSYBOX_FEATURE_BLKID_TYPE -	bool "Print filesystem type" -	default n -	depends on BUSYBOX_BLKID +	depends on BUSYBOX_EJECT  	help -	  Show TYPE="filesystem type" - -config BUSYBOX_DMESG -	bool "dmesg" +	Add the -s option to eject, this allows to eject SCSI-Devices and +	usb-storage devices. +config BUSYBOX_FALLOCATE +	bool "fallocate (4.1 kb)"  	default y -	select BUSYBOX_PLATFORM_LINUX  	help -	  dmesg is used to examine or control the kernel ring buffer. When the -	  Linux kernel prints messages to the system log, they are stored in -	  the kernel ring buffer. You can use dmesg to print the kernel's ring -	  buffer, clear the kernel ring buffer, change the size of the kernel -	  ring buffer, and change the priority level at which kernel messages -	  are also logged to the system console. Enable this option if you -	  wish to enable the 'dmesg' utility. - -config BUSYBOX_FEATURE_DMESG_PRETTY -	bool "Pretty dmesg output" +	Preallocate space for files. +config BUSYBOX_FATATTR +	bool "fatattr (1.9 kb)"  	default y -	depends on BUSYBOX_DMESG  	help -	  If you wish to scrub the syslog level from the output, say 'Y' here. -	  The syslog level is a string prefixed to every line with the form -	  "<#>". - -	  With this option you will see: -	    # dmesg -	    Linux version 2.6.17.4 ..... -	    BIOS-provided physical RAM map: -	     BIOS-e820: 0000000000000000 - 000000000009f000 (usable) - -	  Without this option you will see: -	    # dmesg -	    <5>Linux version 2.6.17.4 ..... -	    <6>BIOS-provided physical RAM map: -	    <6> BIOS-e820: 0000000000000000 - 000000000009f000 (usable) - +	fatattr lists or changes the file attributes on a fat file system.  config BUSYBOX_FBSET -	bool "fbset" -	depends on !BUSYBOX_DISABLE_FBSET -	default n -	select BUSYBOX_PLATFORM_LINUX +	bool "fbset (5.9 kb)" +	default y  	help -	  fbset is used to show or change the settings of a Linux frame buffer -	  device. The frame buffer device provides a simple and unique -	  interface to access a graphics display. Enable this option -	  if you wish to enable the 'fbset' utility. +	fbset is used to show or change the settings of a Linux frame buffer +	device. The frame buffer device provides a simple and unique +	interface to access a graphics display. Enable this option +	if you wish to enable the 'fbset' utility.  config BUSYBOX_FEATURE_FBSET_FANCY -	bool "Turn on extra fbset options" +	bool "Enable extra options"  	default y  	depends on BUSYBOX_FBSET  	help -	  This option enables extended fbset options, allowing one to set the -	  framebuffer size, color depth, etc. interface to access a graphics -	  display. Enable this option if you wish to enable extended fbset -	  options. +	This option enables extended fbset options, allowing one to set the +	framebuffer size, color depth, etc. interface to access a graphics +	display. Enable this option if you wish to enable extended fbset +	options.  config BUSYBOX_FEATURE_FBSET_READMODE -	bool "Turn on fbset readmode support" +	bool "Enable readmode support"  	default y  	depends on BUSYBOX_FBSET  	help -	  This option allows fbset to read the video mode database stored by -	  default as /etc/fb.modes, which can be used to set frame buffer -	  device to pre-defined video modes. - -config BUSYBOX_FDFLUSH -	bool "fdflush" -	default n -	select BUSYBOX_PLATFORM_LINUX -	help -	  fdflush is only needed when changing media on slightly-broken -	  removable media drives. It is used to make Linux believe that a -	  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. - +	This option allows fbset to read the video mode database stored by +	default as /etc/fb.modes, which can be used to set frame buffer +	device to pre-defined video modes.  config BUSYBOX_FDFORMAT -	bool "fdformat" -	default n -	select BUSYBOX_PLATFORM_LINUX +	bool "fdformat (4.4 kb)" +	default y  	help -	  fdformat is used to low-level format a floppy disk. - +	fdformat is used to low-level format a floppy disk.  config BUSYBOX_FDISK -	bool "fdisk" -	default n -	depends on !BUSYBOX_DISABLE_FDISK -	select BUSYBOX_PLATFORM_LINUX +	bool "fdisk (37 kb)" +	default y  	help -	  The fdisk utility is used to divide hard disks into one or more -	  logical disks, which are generally called partitions. This utility -	  can be used to list and edit the set of partitions or BSD style -	  'disk slices' that are defined on a hard drive. +	The fdisk utility is used to divide hard disks into one or more +	logical disks, which are generally called partitions. This utility +	can be used to list and edit the set of partitions or BSD style +	'disk slices' that are defined on a hard drive.  config BUSYBOX_FDISK_SUPPORT_LARGE_DISKS  	bool "Support over 4GB disks"  	default y  	depends on BUSYBOX_FDISK -	depends on !BUSYBOX_LFS   # with LFS no special code is needed -	help -	  Enable this option to support large disks > 4GB. +	depends on !BUSYBOX_LFS   # with BUSYBOX_LFS no special code is needed  config BUSYBOX_FEATURE_FDISK_WRITABLE  	bool "Write support"  	default y  	depends on BUSYBOX_FDISK  	help -	  Enabling this option allows you to create or change a partition table -	  and write those changes out to disk. If you leave this option -	  disabled, you will only be able to view the partition table. +	Enabling this option allows you to create or change a partition table +	and write those changes out to disk. If you leave this option +	disabled, you will only be able to view the partition table.  config BUSYBOX_FEATURE_AIX_LABEL  	bool "Support AIX disklabels"  	default n  	depends on BUSYBOX_FDISK && BUSYBOX_FEATURE_FDISK_WRITABLE  	help -	  Enabling this option allows you to create or change AIX disklabels. -	  Most people can safely leave this option disabled. +	Enabling this option allows you to create or change AIX disklabels. +	Most people can safely leave this option disabled.  config BUSYBOX_FEATURE_SGI_LABEL  	bool "Support SGI disklabels"  	default n  	depends on BUSYBOX_FDISK && BUSYBOX_FEATURE_FDISK_WRITABLE  	help -	  Enabling this option allows you to create or change SGI disklabels. -	  Most people can safely leave this option disabled. +	Enabling this option allows you to create or change SGI disklabels. +	Most people can safely leave this option disabled.  config BUSYBOX_FEATURE_SUN_LABEL  	bool "Support SUN disklabels"  	default n  	depends on BUSYBOX_FDISK && BUSYBOX_FEATURE_FDISK_WRITABLE  	help -	  Enabling this option allows you to create or change SUN disklabels. -	  Most people can safely leave this option disabled. +	Enabling this option allows you to create or change SUN disklabels. +	Most people can safely leave this option disabled.  config BUSYBOX_FEATURE_OSF_LABEL  	bool "Support BSD disklabels"  	default n  	depends on BUSYBOX_FDISK && BUSYBOX_FEATURE_FDISK_WRITABLE  	help -	  Enabling this option allows you to create or change BSD disklabels -	  and define and edit BSD disk slices. +	Enabling this option allows you to create or change BSD disklabels +	and define and edit BSD disk slices.  config BUSYBOX_FEATURE_GPT_LABEL  	bool "Support GPT disklabels"  	default n  	depends on BUSYBOX_FDISK && BUSYBOX_FEATURE_FDISK_WRITABLE  	help -	  Enabling this option allows you to view GUID Partition Table -	  disklabels. +	Enabling this option allows you to view GUID Partition Table +	disklabels.  config BUSYBOX_FEATURE_FDISK_ADVANCED  	bool "Support expert mode"  	default y  	depends on BUSYBOX_FDISK && BUSYBOX_FEATURE_FDISK_WRITABLE  	help -	  Enabling this option allows you to do terribly unsafe things like -	  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. - +	Enabling this option allows you to do terribly unsafe things like +	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_FINDFS -	bool "findfs" -	default n -	select BUSYBOX_PLATFORM_LINUX +	bool "findfs (12 kb)" +	default y  	select BUSYBOX_VOLUMEID  	help -	  Prints the name of a filesystem with given label or UUID. -	  WARNING: -	  With all submodules selected, it will add ~8k to busybox. - +	Prints the name of a filesystem with given label or UUID.  config BUSYBOX_FLOCK -	bool "flock" -	default n +	bool "flock (6.3 kb)" +	default y +	help +	Manage locks from shell scripts +config BUSYBOX_FDFLUSH +	bool "fdflush (1.3 kb)" +	default y  	help -	  Manage locks from shell scripts +	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_FREERAMDISK -	bool "freeramdisk" -	default n -	select BUSYBOX_PLATFORM_LINUX +	bool "freeramdisk (1.3 kb)" +	default y  	help -	  Linux allows you to create ramdisks. This utility allows you to -	  delete them and completely free all memory that was used for the -	  ramdisk. For example, if you boot Linux into a ramdisk and later -	  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. - +	Linux allows you to create ramdisks. This utility allows you to +	delete them and completely free all memory that was used for the +	ramdisk. For example, if you boot Linux into a ramdisk and later +	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_FSCK_MINIX -	bool "fsck_minix" -	default n +	bool "fsck.minix (13 kb)" +	default y  	help -	  The minix filesystem is a nice, small, compact, read-write filesystem -	  with little overhead. It is not a journaling filesystem however and -	  can experience corruption if it is not properly unmounted or if the -	  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_MKFS_EXT2 -	bool "mkfs_ext2" -	default n -	select BUSYBOX_PLATFORM_LINUX +	The minix filesystem is a nice, small, compact, read-write filesystem +	with little overhead. It is not a journaling filesystem however and +	can experience corruption if it is not properly unmounted or if the +	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_FSFREEZE +	bool "fsfreeze (3.5 kb)" +	default y +	select BUSYBOX_LONG_OPTS  	help -	  Utility to create EXT2 filesystems. - -config BUSYBOX_MKFS_MINIX -	bool "mkfs_minix" -	default n -	select BUSYBOX_PLATFORM_LINUX +	Halt new accesses and flush writes on a mounted filesystem. +config BUSYBOX_FSTRIM +	bool "fstrim (4.4 kb)" +	default y +	help +	Discard unused blocks on a mounted filesystem. +config BUSYBOX_GETOPT +	bool "getopt (5.8 kb)" +	default y  	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. +	The getopt utility is used to break up (parse) options in command +	lines to make it easy to write complex shell scripts that also check +	for legal (and illegal) options. If you want to write horribly +	complex shell scripts, or use some horribly complex shell script +	written by others, this utility may be for you. Most people will +	wisely leave this disabled. -config BUSYBOX_FEATURE_MINIX2 -	bool "Support Minix fs v2 (fsck_minix/mkfs_minix)" +config BUSYBOX_FEATURE_GETOPT_LONG +	bool "Support -l LONGOPTs" +	default y +	depends on BUSYBOX_GETOPT && BUSYBOX_LONG_OPTS +	help +	Enable support for long options (option -l). +config BUSYBOX_HEXDUMP +	bool "hexdump (8.6 kb)"  	default y -	depends on BUSYBOX_FSCK_MINIX || BUSYBOX_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. +	The hexdump utility is used to display binary data in a readable +	way that is comparable to the output from most hex editors. -config BUSYBOX_MKFS_REISER -	bool "mkfs_reiser" -	default n -	select BUSYBOX_PLATFORM_LINUX +config BUSYBOX_HD +	bool "hd (7.8 kb)" +	default y  	help -	  Utility to create ReiserFS filesystems. -	  Note: this applet needs a lot of testing and polishing. +	hd is an alias to hexdump -C. +config BUSYBOX_XXD +	bool "xxd (8.9 kb)" +	default y +	help +	The xxd utility is used to display binary data in a readable +	way that is comparable to the output from most hex editors. +config BUSYBOX_HWCLOCK +	bool "hwclock (5.8 kb)" +	default y +	help +	The hwclock utility is used to read and set the hardware clock +	on a system. This is primarily used to set the current time on +	shutdown in the hardware clock, so the hardware will keep the +	correct time when Linux is _not_ running. -config BUSYBOX_MKFS_VFAT -	bool "mkfs_vfat" -	default n -	select BUSYBOX_PLATFORM_LINUX +config BUSYBOX_FEATURE_HWCLOCK_ADJTIME_FHS +	bool "Use FHS /var/lib/hwclock/adjtime" +	default n  # util-linux-ng in Fedora 13 still uses /etc/adjtime +	depends on BUSYBOX_HWCLOCK  	help -	  Utility to create FAT32 filesystems. +	Starting with FHS 2.3, the adjtime state file is supposed to exist +	at /var/lib/hwclock/adjtime instead of /etc/adjtime. If you wish +	to use the FHS behavior, answer Y here, otherwise answer N for the +	classic /etc/adjtime path. -config BUSYBOX_GETOPT -	bool "getopt" -	default n +	pathname.com/fhs/pub/fhs-2.3.html#VARLIBHWCLOCKSTATEDIRECTORYFORHWCLO +config BUSYBOX_IONICE +	bool "ionice (3.8 kb)" +	default y +	help +	Set/set program io scheduling class and priority +	Requires kernel >= 2.6.13 +config BUSYBOX_IPCRM +	bool "ipcrm (3.2 kb)" +	default y +	help +	The ipcrm utility allows the removal of System V interprocess +	communication (IPC) objects and the associated data structures +	from the system. +config BUSYBOX_IPCS +	bool "ipcs (11 kb)" +	default y +	help +	The ipcs utility is used to provide information on the currently +	allocated System V interprocess (IPC) objects in the system. +config BUSYBOX_LAST +	bool "last (6.1 kb)" +	default y +	depends on BUSYBOX_FEATURE_WTMP  	help -	  The getopt utility is used to break up (parse) options in command -	  lines to make it easy to write complex shell scripts that also check -	  for legal (and illegal) options. If you want to write horribly -	  complex shell scripts, or use some horribly complex shell script -	  written by others, this utility may be for you. Most people will -	  wisely leave this disabled. +	'last' displays a list of the last users that logged into the system. -config BUSYBOX_FEATURE_GETOPT_LONG -	bool "Support option -l" -	default y if LONG_OPTS -	depends on BUSYBOX_GETOPT +config BUSYBOX_FEATURE_LAST_FANCY +	bool "Output extra information" +	default y +	depends on BUSYBOX_LAST  	help -	  Enable support for long options (option -l). +	'last' displays detailed information about the last users that +	logged into the system (mimics sysvinit last). +900 bytes. +config BUSYBOX_LOSETUP +	bool "losetup (5.5 kb)" +	default y +	help +	losetup is used to associate or detach a loop device with a regular +	file or block device, and to query the status of a loop device. This +	version does not currently support enabling data encryption. +config BUSYBOX_LSPCI +	bool "lspci (6.3 kb)" +	default y +	help +	lspci is a utility for displaying information about PCI buses in the +	system and devices connected to them. -config BUSYBOX_HEXDUMP -	bool "hexdump" -	default n +	This version uses sysfs (/sys/bus/pci/devices) only. +config BUSYBOX_LSUSB +	bool "lsusb (4.2 kb)" +	default y  	help -	  The hexdump utility is used to display binary data in a readable -	  way that is comparable to the output from most hex editors. +	lsusb is a utility for displaying information about USB buses in the +	system and devices connected to them. -config BUSYBOX_FEATURE_HEXDUMP_REVERSE -	bool "Support -R, reverse of 'hexdump -Cv'" +	This version uses sysfs (/sys/bus/usb/devices) only. +config BUSYBOX_MDEV +	bool "mdev (17 kb)"  	default y -	depends on BUSYBOX_HEXDUMP  	help -	  The hexdump utility is used to display binary data in an ascii -	  readable way. This option creates binary data from an ascii input. -	  NB: this option is non-standard. It's unwise to use it in scripts -	  aimed to be portable. +	mdev is a mini-udev implementation for dynamically creating device +	nodes in the /dev directory. -config BUSYBOX_HD -	bool "hd" -	default n +	For more information, please see docs/mdev.txt + +config BUSYBOX_FEATURE_MDEV_CONF +	bool "Support /etc/mdev.conf" +	default y +	depends on BUSYBOX_MDEV  	help -	  hd is an alias to hexdump -C. +	Add support for the mdev config file to control ownership and +	permissions of the device nodes. -config BUSYBOX_HWCLOCK -	bool "hwclock" -	default y if ADK_TARGET_WITH_RTC -	default n -	select BUSYBOX_PLATFORM_LINUX +	For more information, please see docs/mdev.txt + +config BUSYBOX_FEATURE_MDEV_RENAME +	bool "Support subdirs/symlinks" +	default y +	depends on BUSYBOX_FEATURE_MDEV_CONF  	help -	  The hwclock utility is used to read and set the hardware clock -	  on a system. This is primarily used to set the current time on -	  shutdown in the hardware clock, so the hardware will keep the -	  correct time when Linux is _not_ running. +	Add support for renaming devices and creating symlinks. + +	For more information, please see docs/mdev.txt -config BUSYBOX_FEATURE_HWCLOCK_LONG_OPTIONS -	bool "Support long options (--hctosys,...)" +config BUSYBOX_FEATURE_MDEV_RENAME_REGEXP +	bool "Support regular expressions substitutions when renaming device"  	default y -	depends on BUSYBOX_HWCLOCK && BUSYBOX_LONG_OPTS +	depends on BUSYBOX_FEATURE_MDEV_RENAME  	help -	  By default, the hwclock utility only uses short options. If you -	  are overly fond of its long options, such as --hctosys, --utc, etc) -	  then enable this option. +	Add support for regular expressions substitutions when renaming +	device. -config BUSYBOX_FEATURE_HWCLOCK_ADJTIME_FHS -	bool "Use FHS /var/lib/hwclock/adjtime" -	default n  # util-linux-ng in Fedora 13 still uses /etc/adjtime -	depends on BUSYBOX_HWCLOCK +config BUSYBOX_FEATURE_MDEV_EXEC +	bool "Support command execution at device addition/removal" +	default y +	depends on BUSYBOX_FEATURE_MDEV_CONF  	help -	  Starting with FHS 2.3, the adjtime state file is supposed to exist -	  at /var/lib/hwclock/adjtime instead of /etc/adjtime. If you wish -	  to use the FHS behavior, answer Y here, otherwise answer N for the -	  classic /etc/adjtime path. +	This adds support for an optional field to /etc/mdev.conf for +	executing commands when devices are created/removed. -	  pathname.com/fhs/pub/fhs-2.3.html#VARLIBHWCLOCKSTATEDIRECTORYFORHWCLO +	For more information, please see docs/mdev.txt -config BUSYBOX_IPCRM -	bool "ipcrm" -	default n +config BUSYBOX_FEATURE_MDEV_LOAD_FIRMWARE +	bool "Support loading of firmware" +	default y +	depends on BUSYBOX_MDEV  	help -	  The ipcrm utility allows the removal of System V interprocess -	  communication (IPC) objects and the associated data structures -	  from the system. +	Some devices need to load firmware before they can be usable. -config BUSYBOX_IPCS -	bool "ipcs" -	default n -	select BUSYBOX_PLATFORM_LINUX +	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_FEATURE_MDEV_DAEMON +	bool "Support daemon mode" +	default y +	depends on BUSYBOX_MDEV  	help -	  The ipcs utility is used to provide information on the currently -	  allocated System V interprocess (IPC) objects in the system. +	Adds the -d option to run mdev in daemon mode handling hotplug +	events from the kernel like udev. If the system generates many +	hotplug events this mode of operation will consume less +	resources than registering mdev as hotplug helper or using the +	uevent applet. +config BUSYBOX_MESG +	bool "mesg (1.4 kb)" +	default y +	help +	Mesg controls access to your terminal by others. It is typically +	used to allow or disallow other users to write to your terminal -config BUSYBOX_LOSETUP -	bool "losetup" -	default n -	select BUSYBOX_PLATFORM_LINUX +config BUSYBOX_FEATURE_MESG_ENABLE_ONLY_GROUP +	bool "Enable writing to tty only by group, not by everybody" +	default y +	depends on BUSYBOX_MESG  	help -	  losetup is used to associate or detach a loop device with a regular -	  file or block device, and to query the status of a loop device. This -	  version does not currently support enabling data encryption. +	Usually, ttys are owned by group "tty", and "write" tool is +	setgid to this group. This way, "mesg y" only needs to enable +	"write by owning group" bit in tty mode. -config BUSYBOX_LSPCI -	bool "lspci" -	depends on !BUSYBOX_DISABLE_LSPCI -	default n -	#select PLATFORM_LINUX +	If you set this option to N, "mesg y" will enable writing +	by anybody at all. This is not recommended. +config BUSYBOX_MKE2FS +	bool "mke2fs (10 kb)" +	default y  	help -	  lspci is a utility for displaying information about PCI buses in the -	  system and devices connected to them. +	Utility to create EXT2 filesystems. -	  This version uses sysfs (/sys/bus/pci/devices) only. +config BUSYBOX_MKFS_EXT2 +	bool "mkfs.ext2 (10 kb)" +	default y +	help +	Alias to "mke2fs". +config BUSYBOX_MKFS_MINIX +	bool "mkfs.minix (10 kb)" +	default y +	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_LSUSB -	bool "lsusb" -	depends on !BUSYBOX_DISABLE_LSUSB +config BUSYBOX_FEATURE_MINIX2 +	bool "Support Minix fs v2 (fsck_minix/mkfs_minix)" +	default y +	depends on BUSYBOX_FSCK_MINIX || BUSYBOX_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_MKFS_REISER +	bool "mkfs_reiser"  	default n -	#select PLATFORM_LINUX  	help -	  lsusb is a utility for displaying information about USB buses in the -	  system and devices connected to them. - -	  This version uses sysfs (/sys/bus/usb/devices) only. +	Utility to create ReiserFS filesystems. +	Note: this applet needs a lot of testing and polishing. +config BUSYBOX_MKDOSFS +	bool "mkdosfs (7.2 kb)" +	default y +	help +	Utility to create FAT32 filesystems. +config BUSYBOX_MKFS_VFAT +	bool "mkfs.vfat (7.2 kb)" +	default y +	help +	Alias to "mkdosfs".  config BUSYBOX_MKSWAP -	bool "mkswap" +	bool "mkswap (6.3 kb)"  	default n  	help -	  The mkswap utility is used to configure a file or disk partition as -	  Linux swap space. This allows Linux to use the entire file or -	  partition as if it were additional RAM, which can greatly increase -	  the capability of low-memory machines. This additional memory is -	  much slower than real RAM, but can be very helpful at preventing your -	  applications being killed by the Linux out of memory (OOM) killer. -	  Once you have created swap space using 'mkswap' you need to enable -	  the swap space using the 'swapon' utility. +	The mkswap utility is used to configure a file or disk partition as +	Linux swap space. This allows Linux to use the entire file or +	partition as if it were additional RAM, which can greatly increase +	the capability of low-memory machines. This additional memory is +	much slower than real RAM, but can be very helpful at preventing your +	applications being killed by the Linux out of memory (OOM) killer. +	Once you have created swap space using 'mkswap' you need to enable +	the swap space using the 'swapon' utility.  config BUSYBOX_FEATURE_MKSWAP_UUID  	bool "UUID support"  	default y  	depends on BUSYBOX_MKSWAP  	help -	  Generate swap spaces with universally unique identifiers. - +	Generate swap spaces with universally unique identifiers.  config BUSYBOX_MORE -	bool "more" -	default n +	bool "more (7 kb)" +	default y  	help -	  more is a simple utility which allows you to read text one screen -	  sized page at a time. If you want to read text that is larger than -	  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. - +	more is a simple utility which allows you to read text one screen +	sized page at a time. If you want to read text that is larger than +	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_MOUNT -	bool "mount" +	bool "mount (23 kb)"  	default y -	depends on !BUSYBOX_DISABLE_MOUNT -	select BUSYBOX_PLATFORM_LINUX  	help -	  All files and filesystems in Unix are arranged into one big directory -	  tree. The 'mount' utility is used to graft a filesystem onto a -	  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. +	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.  config BUSYBOX_FEATURE_MOUNT_FAKE -	bool "Support option -f" -	default n +	bool "Support -f (fake mount)" +	default y  	depends on BUSYBOX_MOUNT  	help -	  Enable support for faking a file system mount. +	Enable support for faking a file system mount.  config BUSYBOX_FEATURE_MOUNT_VERBOSE -	bool "Support option -v" -	default n +	bool "Support -v (verbose)" +	default y  	depends on BUSYBOX_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. +	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_FEATURE_MOUNT_HELPERS  	bool "Support mount helpers" -	default y +	default n  	depends on BUSYBOX_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. +	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_FEATURE_MOUNT_LABEL  	bool "Support specifying devices by label or UUID" @@ -626,534 +587,369 @@ config BUSYBOX_FEATURE_MOUNT_LABEL  	depends on BUSYBOX_MOUNT  	select BUSYBOX_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. +	This allows for specifying a device by label or uuid, rather than by +	name. This feature utilizes the same functionality as blkid/findfs.  config BUSYBOX_FEATURE_MOUNT_NFS  	bool "Support mounting NFS file systems on Linux < 2.6.23"  	default n  	depends on BUSYBOX_MOUNT -	select BUSYBOX_FEATURE_HAVE_RPC  	select BUSYBOX_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. +	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). +	Note that this option links in RPC support from libc, +	which is rather large (~10 kbytes on uclibc).  config BUSYBOX_FEATURE_MOUNT_CIFS  	bool "Support mounting CIFS/SMB file systems" -	default n +	default y  	depends on BUSYBOX_MOUNT  	help -	  Enable support for samba mounts. +	Enable support for samba mounts.  config BUSYBOX_FEATURE_MOUNT_FLAGS  	depends on BUSYBOX_MOUNT -	bool "Support lots of -o flags in mount" +	bool "Support lots of -o flags"  	default y  	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. +	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_FEATURE_MOUNT_FSTAB  	depends on BUSYBOX_MOUNT -	bool "Support /etc/fstab and -a" +	bool "Support /etc/fstab and -a (mount all)"  	default y  	help -	  Support mount all and looking for files in /etc/fstab. +	Support mount all and looking for files in /etc/fstab.  config BUSYBOX_FEATURE_MOUNT_OTHERTAB  	depends on BUSYBOX_FEATURE_MOUNT_FSTAB  	bool "Support -T <alt_fstab>" -	default n +	default y +	help +	Support mount -T (specifying an alternate fstab) +config BUSYBOX_MOUNTPOINT +	bool "mountpoint (4.9 kb)" +	default y  	help -	  Support mount -T (specifying an alternate fstab) +	mountpoint checks if the directory is a mountpoint. +config BUSYBOX_NOLOGIN +	bool "nologin" +	default y +	depends on BUSYBOX_FEATURE_SH_EMBEDDED_SCRIPTS +	help +	Politely refuse a login -config BUSYBOX_PIVOT_ROOT -	bool "pivot_root" +config BUSYBOX_NOLOGIN_DEPENDENCIES +	bool "Enable dependencies for nologin" +	default n  # Y default makes it harder to select single-applet test +	depends on BUSYBOX_NOLOGIN +	select BUSYBOX_CAT +	select BUSYBOX_ECHO +	select BUSYBOX_SLEEP +	help +	nologin is implemented as a shell script. It requires the +	following in the runtime environment: +		cat echo sleep +	If you know these will be available externally you can +	disable this option. +config BUSYBOX_NSENTER +	bool "nsenter (6.5 kb)"  	default n -	select BUSYBOX_PLATFORM_LINUX  	help -	  The pivot_root utility swaps the mount points for the root filesystem -	  with some other mounted filesystem. This allows you to do all sorts -	  of wild and crazy things with your Linux system and is far more -	  powerful than 'chroot'. - -	  Note: This is for initrd in linux 2.4. Under initramfs (introduced -	  in linux 2.6) use switch_root instead. +	Run program with namespaces of other processes. +config BUSYBOX_PIVOT_ROOT +	bool "pivot_root (1.1 kb)" +	default y +	help +	The pivot_root utility swaps the mount points for the root filesystem +	with some other mounted filesystem. This allows you to do all sorts +	of wild and crazy things with your Linux system and is far more +	powerful than 'chroot'. +	Note: This is for initrd in linux 2.4. Under initramfs (introduced +	in linux 2.6) use switch_root instead.  config BUSYBOX_RDATE -	bool "rdate" -	depends on !BUSYBOX_DISABLE_RDATE -	default n +	bool "rdate (5.6 kb)" +	default y  	help -	  The rdate utility allows you to synchronize the date and time of your -	  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. - +	The rdate utility allows you to synchronize the date and time of your +	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_RDEV -	bool "rdev" +	bool "rdev (1.8 kb)"  	default y  	help -	  Print the device node associated with the filesystem mounted at '/'. - +	Print the device node associated with the filesystem mounted at '/'.  config BUSYBOX_READPROFILE -	bool "readprofile" -	default n -	#select PLATFORM_LINUX +	bool "readprofile (7.1 kb)" +	default y  	help -	  This allows you to parse /proc/profile for basic profiling. - +	This allows you to parse /proc/profile for basic profiling. +config BUSYBOX_RENICE +	bool "renice (4.2 kb)" +	default y +	help +	Renice alters the scheduling priority of one or more running +	processes. +config BUSYBOX_REV +	bool "rev (4.4 kb)" +	default y +	help +	Reverse lines of a file or files.  config BUSYBOX_RTCWAKE -	bool "rtcwake" -	default n -	select BUSYBOX_PLATFORM_LINUX +	bool "rtcwake (6.8 kb)" +	default y  	help -	  Enter a system sleep state until specified wakeup time. - +	Enter a system sleep state until specified wakeup time.  config BUSYBOX_SCRIPT -	bool "script" -	default n +	bool "script (8.6 kb)" +	default y  	help -	  The script makes typescript of terminal session. - +	The script makes typescript of terminal session.  config BUSYBOX_SCRIPTREPLAY -	bool "scriptreplay" -	default n +	bool "scriptreplay (2.4 kb)" +	default y  	help -	  This program replays a typescript, using timing information -	  given by script -t. - +	This program replays a typescript, using timing information +	given by script -t.  config BUSYBOX_SETARCH -	bool "setarch" -	default n -	select BUSYBOX_PLATFORM_LINUX +	bool "setarch (3.6 kb)" +	default y  	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...). +	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_LINUX32 -	bool "linux32" -	default n -	select PLATFORM_LINUX +	bool "linux32 (3.3 kb)" +	default y  	help -	  Alias to "setarch linux32". +	Alias to "setarch linux32".  config BUSYBOX_LINUX64 -	bool "linux64" -	default n -	select PLATFORM_LINUX -	help -	  Alias to "setarch linux64". - -config BUSYBOX_SWAPON -	bool "swapon" -	default n -	select PLATFORM_LINUX -	help -	  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 -	  space. If you are not using any swap space, you can leave this -	  option disabled. - -config BUSYBOX_FEATURE_SWAPON_DISCARD -	bool "Support discard option -d" -	default n -	depends on BUSYBOX_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 -	  'swapon' and the 'discard' option for swap entries in /etc/fstab. - -config BUSYBOX_FEATURE_SWAPON_PRI -	bool "Support priority option -p" +	bool "linux64 (3.3 kb)"  	default y -	depends on BUSYBOX_SWAPON  	help -	  Enable support for setting swap device priority in swapon. - -config BUSYBOX_SWAPOFF -	bool "swapoff" -	default n -	select PLATFORM_LINUX -	help -	  This option enables the 'swapoff' utility. - -config BUSYBOX_SWITCH_ROOT -	bool "switch_root" -	default n -	select BUSYBOX_PLATFORM_LINUX -	help -	  The switch_root utility is used from initramfs to select a new -	  root device. Under initramfs, you have to use this instead of -	  pivot_root. (Stop reading here if you don't care why.) - -	  Booting with initramfs extracts a gzipped cpio archive into rootfs -	  (which is a variant of ramfs/tmpfs). Because rootfs can't be moved -	  or unmounted*, pivot_root will not work from initramfs. Instead, -	  switch_root deletes everything out of rootfs (including itself), -	  does a mount --move that overmounts rootfs with the new root, and -	  then execs the specified init program. - -	  * Because the Linux kernel uses rootfs internally as the starting -	  and ending point for searching through the kernel's doubly linked -	  list of active mount points. That's why. - -config BUSYBOX_UMOUNT -	bool "umount" +	Alias to "setarch linux64". +config BUSYBOX_SETPRIV +	bool "setpriv (6.6 kb)"  	default y -	depends on !BUSYBOX_DISABLE_UMOUNT -	select BUSYBOX_PLATFORM_LINUX +	select BUSYBOX_LONG_OPTS  	help -	  When you want to remove a mounted filesystem from its current mount -	  point, for example when you are shutting down the system, the -	  'umount' utility is the tool to use. If you enabled the 'mount' -	  utility, you almost certainly also want to enable 'umount'. +	Run a program with different Linux privilege settings. +	Requires kernel >= 3.5 -config BUSYBOX_FEATURE_UMOUNT_ALL -	bool "Support option -a" +config BUSYBOX_FEATURE_SETPRIV_DUMP +	bool "Support dumping current privilege state"  	default y -	depends on BUSYBOX_UMOUNT +	depends on BUSYBOX_SETPRIV  	help -	  Support -a option to unmount all currently mounted filesystems. +	Enables the "--dump" switch to print out the current privilege +	state. This is helpful for diagnosing problems. -comment "Common options for mount/umount" -	depends on BUSYBOX_MOUNT || BUSYBOX_UMOUNT - -config BUSYBOX_FEATURE_MOUNT_LOOP -	bool "Support loopback mounts" +config BUSYBOX_FEATURE_SETPRIV_CAPABILITIES +	bool "Support capabilities"  	default y -	depends on BUSYBOX_MOUNT || BUSYBOX_UMOUNT +	depends on BUSYBOX_SETPRIV  	help -	  Enabling this feature allows automatic mounting of files (containing -	  filesystem images) via the linux kernel's loopback devices. -	  The mount command will detect you are trying to mount a file instead -	  of a block device, and transparently associate the file with a -	  loopback device. The umount command will also free that loopback -	  device. +	Capabilities can be used to grant processes additional rights +	without the necessity to always execute as the root user. +	Enabling this option enables "--dump" to show information on +	capabilities. -	  You can still use the 'losetup' utility (to manually associate files -	  with loop devices) if you need to do something advanced, such as -	  specify an offset or cryptographic options to the loopback device. -	  (If you don't want umount to free the loop device, use "umount -D".) - -config BUSYBOX_FEATURE_MOUNT_LOOP_CREATE -	bool "Create new loopback devices if needed" +config BUSYBOX_FEATURE_SETPRIV_CAPABILITY_NAMES +	bool "Support capability names"  	default y -	depends on BUSYBOX_FEATURE_MOUNT_LOOP +	depends on BUSYBOX_SETPRIV && BUSYBOX_FEATURE_SETPRIV_CAPABILITIES  	help -	  Linux kernels >= 2.6.24 support unlimited loopback devices. They are -	  allocated for use when trying to use a loop device. The loop device -	  must however exist. - -	  This feature lets mount to try to create next /dev/loopN device -	  if it does not find a free one. - -config BUSYBOX_FEATURE_MTAB_SUPPORT -	bool "Support for the old /etc/mtab file" -	default n -	depends on BUSYBOX_MOUNT || BUSYBOX_UMOUNT -	select BUSYBOX_FEATURE_MOUNT_FAKE +	Capabilities can be either referenced via a human-readble name, +	e.g. "net_admin", or using their index, e.g. "cap_12". Enabling +	this option allows using the human-readable names in addition to +	the index-based names. +config BUSYBOX_SETSID +	bool "setsid (3.6 kb)" +	default y  	help -	  Historically, Unix systems kept track of the currently mounted -	  partitions in the file "/etc/mtab". These days, the kernel exports -	  the list of currently mounted partitions in "/proc/mounts", rendering -	  the old mtab file obsolete. (In modern systems, /etc/mtab should be -	  a symlink to /proc/mounts.) - -	  The only reason to have mount maintain an /etc/mtab file itself is if -	  your stripped-down embedded system does not have a /proc directory. -	  If you must use this, keep in mind it's inherently brittle (for -	  example a mount under chroot won't update it), can't handle modern -	  features like separate per-process filesystem namespaces, requires -	  that your /etc directory be writable, tends to get easily confused -	  by --bind or --move mounts, won't update if you rename a directory -	  that contains a mount point, and so on. (In brief: avoid.) - -	  About the only reason to use this is if you've removed /proc from -	  your kernel. - -config BUSYBOX_VOLUMEID -	bool #No description makes it a hidden option -	default n - -menu "Filesystem/Volume identification" -	depends on BUSYBOX_VOLUMEID - -config BUSYBOX_FEATURE_VOLUMEID_BCACHE -	bool "bcache filesystem" +	setsid runs a program in a new session +config BUSYBOX_SWAPON +	bool "swapon (15 kb)"  	default n -	depends on BUSYBOX_VOLUMEID  	help -	  TODO +	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 +	space. If you are not using any swap space, you can leave this +	option disabled. -config BUSYBOX_FEATURE_VOLUMEID_EXT -	bool "Ext filesystem" +config BUSYBOX_FEATURE_SWAPON_DISCARD +	bool "Support discard option -d"  	default y -	depends on BUSYBOX_VOLUMEID +	depends on BUSYBOX_SWAPON  	help -	  TODO +	Enable support for discarding swap area blocks at swapon and/or as +	the kernel frees them. This option enables both the -d option on +	'swapon' and the 'discard' option for swap entries in /etc/fstab. -config BUSYBOX_FEATURE_VOLUMEID_BTRFS -	bool "btrfs filesystem" +config BUSYBOX_FEATURE_SWAPON_PRI +	bool "Support priority option -p"  	default y -	depends on BUSYBOX_VOLUMEID +	depends on BUSYBOX_SWAPON  	help -	  TODO +	Enable support for setting swap device priority in swapon. -config BUSYBOX_FEATURE_VOLUMEID_REISERFS -	bool "Reiser filesystem" -	default y -	depends on BUSYBOX_VOLUMEID -	help -	  TODO +config BUSYBOX_SWAPOFF +	bool "swapoff (14 kb)" +	default n -config BUSYBOX_FEATURE_VOLUMEID_F2FS -	bool "f2fs filesystem" +config BUSYBOX_FEATURE_SWAPONOFF_LABEL +	bool "Support specifying devices by label or UUID"  	default y -	depends on BUSYBOX_VOLUMEID +	depends on BUSYBOX_SWAPON || BUSYBOX_SWAPOFF +	select BUSYBOX_VOLUMEID  	help -	  F2FS (aka Flash-Friendly File System) is a log-structured file system, -	  which is adapted to newer forms of storage. F2FS also remedies some -	  known issues of the older log structured file systems, such as high -	  cleaning overhead. - -config BUSYBOX_FEATURE_VOLUMEID_FAT -	bool "fat filesystem" +	This allows for specifying a device by label or uuid, rather than by +	name. This feature utilizes the same functionality as blkid/findfs. +config BUSYBOX_SWITCH_ROOT +	bool "switch_root (5.5 kb)"  	default y -	depends on BUSYBOX_VOLUMEID  	help -	  TODO - -config BUSYBOX_FEATURE_VOLUMEID_EXFAT -       bool "exFAT filesystem" -       default y -       depends on BUSYBOX_VOLUMEID -       help -         exFAT (extended FAT) is a proprietary file system designed especially -         for flash drives. It has many features from NTFS, but with less -         overhead. exFAT is used on most SDXC cards for consumer electronics. +	The switch_root utility is used from initramfs to select a new +	root device. Under initramfs, you have to use this instead of +	pivot_root. (Stop reading here if you don't care why.) -config BUSYBOX_FEATURE_VOLUMEID_HFS -	bool "hfs filesystem" -	default y -	depends on BUSYBOX_VOLUMEID -	help -	  TODO +	Booting with initramfs extracts a gzipped cpio archive into rootfs +	(which is a variant of ramfs/tmpfs). Because rootfs can't be moved +	or unmounted*, pivot_root will not work from initramfs. Instead, +	switch_root deletes everything out of rootfs (including itself), +	does a mount --move that overmounts rootfs with the new root, and +	then execs the specified init program. -config BUSYBOX_FEATURE_VOLUMEID_NILFS -       bool "nilfs filesystem" -       default y -       depends on BUSYBOX_VOLUMEID -       help -         TODO +	* 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_FEATURE_VOLUMEID_JFS -	bool "jfs filesystem" +config BUSYBOX_TASKSET +	bool "taskset (4.2 kb)"  	default y -	depends on BUSYBOX_VOLUMEID  	help -	  TODO - -### config FEATURE_VOLUMEID_UFS -###	bool "ufs filesystem" -###	default y -###	depends on BUSYBOX_VOLUMEID -###	help -###	  TODO +	Retrieve or set a processes's CPU affinity. +	This requires sched_{g,s}etaffinity support in your libc. -config BUSYBOX_FEATURE_VOLUMEID_XFS -	bool "xfs filesystem" +config BUSYBOX_FEATURE_TASKSET_FANCY +	bool "Fancy output"  	default y -	depends on BUSYBOX_VOLUMEID +	depends on BUSYBOX_TASKSET  	help -	  TODO +	Needed for machines with more than 32-64 CPUs: +	affinity parameter 0xHHHHHHHHHHHHHHHHHHHH can be arbitrarily long +	in this case. Otherwise, it is limited to sizeof(long). -config BUSYBOX_FEATURE_VOLUMEID_NTFS -	bool "ntfs filesystem" +config BUSYBOX_FEATURE_TASKSET_CPULIST +	bool "CPU list support (-c option)"  	default y -	depends on BUSYBOX_VOLUMEID +	depends on BUSYBOX_FEATURE_TASKSET_FANCY  	help -	  TODO - -config BUSYBOX_FEATURE_VOLUMEID_ISO9660 -	bool "iso9660 filesystem" +	Add support for taking/printing affinity as CPU list when '-c' +	option is used. For example, it prints '0-3,7' instead of mask '8f'. +config BUSYBOX_UEVENT +	bool "uevent (3.1 kb)"  	default y -	depends on BUSYBOX_VOLUMEID  	help -	  TODO - -config BUSYBOX_FEATURE_VOLUMEID_UDF -	bool "udf filesystem" +	uevent is a netlink listener for kernel uevent notifications +	sent via netlink. It is usually used for dynamic device creation. +config BUSYBOX_UMOUNT +	bool "umount (5.1 kb)"  	default y -	depends on BUSYBOX_VOLUMEID  	help -	  TODO +	When you want to remove a mounted filesystem from its current mount +	point, for example when you are shutting down the system, the +	'umount' utility is the tool to use. If you enabled the 'mount' +	utility, you almost certainly also want to enable 'umount'. -config BUSYBOX_FEATURE_VOLUMEID_LUKS -	bool "luks filesystem" +config BUSYBOX_FEATURE_UMOUNT_ALL +	bool "Support -a (unmount all)"  	default y -	depends on BUSYBOX_VOLUMEID +	depends on BUSYBOX_UMOUNT  	help -	  TODO - -config BUSYBOX_FEATURE_VOLUMEID_LINUXSWAP -	bool "linux swap filesystem" +	Support -a option to unmount all currently mounted filesystems. +config BUSYBOX_UNSHARE +	bool "unshare (7.2 kb)"  	default y -	depends on BUSYBOX_VOLUMEID +	depends on !BUSYBOX_NOMMU +	select BUSYBOX_LONG_OPTS  	help -	  TODO - -### config FEATURE_VOLUMEID_LVM -###	bool "lvm" -###	default y -###	depends on BUSYBOX_VOLUMEID -###	help -###	  TODO - -config BUSYBOX_FEATURE_VOLUMEID_CRAMFS -	bool "cramfs filesystem" +	Run program with some namespaces unshared from parent. +config BUSYBOX_WALL +	bool "wall (2.6 kb)"  	default y -	depends on BUSYBOX_VOLUMEID +	depends on BUSYBOX_FEATURE_UTMP  	help -	  TODO +	Write a message to all users that are logged in. -### config FEATURE_VOLUMEID_HPFS -###	bool "hpfs filesystem" -###	default y -###	depends on BUSYBOX_VOLUMEID -###	help -###	  TODO +comment "Common options for mount/umount" +	depends on BUSYBOX_MOUNT || BUSYBOX_UMOUNT -config BUSYBOX_FEATURE_VOLUMEID_ROMFS -	bool "romfs filesystem" +config BUSYBOX_FEATURE_MOUNT_LOOP +	bool "Support loopback mounts"  	default y -	depends on BUSYBOX_VOLUMEID +	depends on BUSYBOX_MOUNT || BUSYBOX_UMOUNT  	help -	  TODO +	Enabling this feature allows automatic mounting of files (containing +	filesystem images) via the linux kernel's loopback devices. +	The mount command will detect you are trying to mount a file instead +	of a block device, and transparently associate the file with a +	loopback device. The umount command will also free that loopback +	device. -config BUSYBOX_FEATURE_VOLUMEID_SQUASHFS -       bool "SquashFS filesystem" -       default y -       depends on BUSYBOX_VOLUMEID && BUSYBOX_FEATURE_BLKID_TYPE -       help -         Squashfs is a compressed read-only filesystem for Linux. Squashfs is -         intended for general read-only filesystem use and in constrained block -         device/memory systems (e.g. embedded systems) where low overhead is -         needed. +	You can still use the 'losetup' utility (to manually associate files +	with loop devices) if you need to do something advanced, such as +	specify an offset or cryptographic options to the loopback device. +	(If you don't want umount to free the loop device, use "umount -D".) -config BUSYBOX_FEATURE_VOLUMEID_SYSV -	bool "sysv filesystem" +config BUSYBOX_FEATURE_MOUNT_LOOP_CREATE +	bool "Create new loopback devices if needed"  	default y -	depends on BUSYBOX_VOLUMEID +	depends on BUSYBOX_FEATURE_MOUNT_LOOP  	help -	  TODO - -### config FEATURE_VOLUMEID_MINIX -###	bool "minix filesystem" -###	default y -###	depends on BUSYBOX_VOLUMEID -###	help -###	  TODO +	Linux kernels >= 2.6.24 support unlimited loopback devices. They are +	allocated for use when trying to use a loop device. The loop device +	must however exist. -### These only detect partition tables - not used (yet?) -### config FEATURE_VOLUMEID_MAC -###	bool "mac filesystem" -###	default y -###	depends on BUSYBOX_VOLUMEID -###	help -###	  TODO -### -### config FEATURE_VOLUMEID_MSDOS -###	bool "msdos filesystem" -###	default y -###	depends on BUSYBOX_VOLUMEID -###	help -###	  TODO +	This feature lets mount to try to create next /dev/loopN device +	if it does not find a free one. -config BUSYBOX_FEATURE_VOLUMEID_OCFS2 -	bool "ocfs2 filesystem" -	default y -	depends on BUSYBOX_VOLUMEID +config BUSYBOX_FEATURE_MTAB_SUPPORT +	bool "Support old /etc/mtab file" +	default n +	depends on BUSYBOX_MOUNT || BUSYBOX_UMOUNT +	select BUSYBOX_FEATURE_MOUNT_FAKE  	help -	  TODO - -### config FEATURE_VOLUMEID_HIGHPOINTRAID -###	bool "highpoint raid" -###	default y -###	depends on BUSYBOX_VOLUMEID -###	help -###	  TODO - -### config FEATURE_VOLUMEID_ISWRAID -###	bool "intel raid" -###	default y -###	depends on BUSYBOX_VOLUMEID -###	help -###	  TODO - -### config FEATURE_VOLUMEID_LSIRAID -###	bool "lsi raid" -###	default y -###	depends on BUSYBOX_VOLUMEID -###	help -###	  TODO - -### config FEATURE_VOLUMEID_VIARAID -###	bool "via raid" -###	default y -###	depends on BUSYBOX_VOLUMEID -###	help -###	  TODO - -### config FEATURE_VOLUMEID_SILICONRAID -###	bool "silicon raid" -###	default y -###	depends on BUSYBOX_VOLUMEID -###	help -###	  TODO - -### config FEATURE_VOLUMEID_NVIDIARAID -###	bool "nvidia raid" -###	default y -###	depends on BUSYBOX_VOLUMEID -###	help -###	  TODO - -### config FEATURE_VOLUMEID_PROMISERAID -###	bool "promise raid" -###	default y -###	depends on BUSYBOX_VOLUMEID -###	help -###	  TODO - -config BUSYBOX_FEATURE_VOLUMEID_LINUXRAID -	bool "linuxraid" -	default y -	depends on BUSYBOX_VOLUMEID -	help -	  TODO - -config BUSYBOX_FEATURE_VOLUMEID_UBIFS -	bool "UBIFS filesystem" -	default y -	depends on BUSYBOX_VOLUMEID -	help -	  UBIFS (Unsorted Block Image File System) is a file -	  system for use with raw flash memory media. - - -endmenu +	Historically, Unix systems kept track of the currently mounted +	partitions in the file "/etc/mtab". These days, the kernel exports +	the list of currently mounted partitions in "/proc/mounts", rendering +	the old mtab file obsolete. (In modern systems, /etc/mtab should be +	a symlink to /proc/mounts.) + +	The only reason to have mount maintain an /etc/mtab file itself is if +	your stripped-down embedded system does not have a /proc directory. +	If you must use this, keep in mind it's inherently brittle (for +	example a mount under chroot won't update it), can't handle modern +	features like separate per-process filesystem namespaces, requires +	that your /etc directory be writable, tends to get easily confused +	by --bind or --move mounts, won't update if you rename a directory +	that contains a mount point, and so on. (In brief: avoid.) + +	About the only reason to use this is if you've removed /proc from +	your kernel. + +source package/busybox/config/util-linux/volume_id/Config.in  endmenu diff --git a/package/busybox/config/util-linux/volume_id/Config.in b/package/busybox/config/util-linux/volume_id/Config.in new file mode 100644 index 000000000..74824fb42 --- /dev/null +++ b/package/busybox/config/util-linux/volume_id/Config.in @@ -0,0 +1,203 @@ +# DO NOT EDIT. This file is generated from Config.src +# +# For a description of the syntax of this configuration file, +# see docs/Kconfig-language.txt. +# + +config BUSYBOX_VOLUMEID +	bool #No description makes it a hidden option +	default n + +menu "Filesystem/Volume identification" +	depends on BUSYBOX_VOLUMEID + +config BUSYBOX_FEATURE_VOLUMEID_BCACHE +	bool "bcache filesystem" +	default y +	depends on BUSYBOX_VOLUMEID +config BUSYBOX_FEATURE_VOLUMEID_BTRFS +	bool "btrfs filesystem" +	default y +	depends on BUSYBOX_VOLUMEID +config BUSYBOX_FEATURE_VOLUMEID_CRAMFS +	bool "cramfs filesystem" +	default y +	depends on BUSYBOX_VOLUMEID +config BUSYBOX_FEATURE_VOLUMEID_EROFS +	bool "erofs filesystem" +	default y +	depends on BUSYBOX_VOLUMEID +	help +	Erofs is a compressed readonly filesystem for Linux. +config BUSYBOX_FEATURE_VOLUMEID_EXFAT +	bool "exFAT filesystem" +	default y +	depends on BUSYBOX_VOLUMEID +	help +	exFAT (extended FAT) is a proprietary file system designed especially +	for flash drives. It has many features from NTFS, but with less +	overhead. exFAT is used on most SDXC cards for consumer electronics. +config BUSYBOX_FEATURE_VOLUMEID_EXT +	bool "Ext filesystem" +	default y +	depends on BUSYBOX_VOLUMEID +config BUSYBOX_FEATURE_VOLUMEID_F2FS +	bool "f2fs filesystem" +	default y +	depends on BUSYBOX_VOLUMEID +	help +	F2FS (aka Flash-Friendly File System) is a log-structured file system, +	which is adapted to newer forms of storage. F2FS also remedies some +	known issues of the older log structured file systems, such as high +	cleaning overhead. +config BUSYBOX_FEATURE_VOLUMEID_FAT +	bool "fat filesystem" +	default y +	depends on BUSYBOX_VOLUMEID +config BUSYBOX_FEATURE_VOLUMEID_HFS +	bool "hfs filesystem" +	default y +	depends on BUSYBOX_VOLUMEID +config BUSYBOX_FEATURE_VOLUMEID_ISO9660 +	bool "iso9660 filesystem" +	default y +	depends on BUSYBOX_VOLUMEID +config BUSYBOX_FEATURE_VOLUMEID_JFS +	bool "jfs filesystem" +	default y +	depends on BUSYBOX_VOLUMEID +config BUSYBOX_FEATURE_VOLUMEID_LFS +	bool "LittleFS filesystem" +	default y +	depends on BUSYBOX_VOLUMEID && BUSYBOX_FEATURE_BLKID_TYPE +	help +	LittleFS is a small fail-safe filesystem designed for embedded +	systems. It has strong copy-on-write guarantees and storage on disk +	is always kept in a valid state. It also provides a form of dynamic +	wear levelling for systems that can not fit a full flash translation +	layer. +config BUSYBOX_FEATURE_VOLUMEID_LINUXRAID +	bool "linuxraid" +	default y +	depends on BUSYBOX_VOLUMEID +config BUSYBOX_FEATURE_VOLUMEID_LINUXSWAP +	bool "linux swap filesystem" +	default y +	depends on BUSYBOX_VOLUMEID +config BUSYBOX_FEATURE_VOLUMEID_LUKS +	bool "luks filesystem" +	default y +	depends on BUSYBOX_VOLUMEID +config BUSYBOX_FEATURE_VOLUMEID_MINIX +	bool "minix filesystem" +	default y +	depends on BUSYBOX_VOLUMEID +config BUSYBOX_FEATURE_VOLUMEID_NILFS +	bool "nilfs filesystem" +	default y +	depends on BUSYBOX_VOLUMEID +	help +	NILFS is a New Implementation of a Log-Structured File System (LFS) +	that supports continuous snapshots. This provides features like +	versioning of the entire filesystem, restoration of files that +	were deleted a few minutes ago. NILFS keeps consistency like +	conventional LFS, so it provides quick recovery after system crashes. + +	The possible use of NILFS includes versioning, tamper detection, +	SOX compliance logging, and so forth. It can serve as an alternative +	filesystem for Linux desktop environment, or as a basis of advanced +	storage appliances. +config BUSYBOX_FEATURE_VOLUMEID_NTFS +	bool "ntfs filesystem" +	default y +	depends on BUSYBOX_VOLUMEID +config BUSYBOX_FEATURE_VOLUMEID_OCFS2 +	bool "ocfs2 filesystem" +	default y +	depends on BUSYBOX_VOLUMEID +config BUSYBOX_FEATURE_VOLUMEID_REISERFS +	bool "Reiser filesystem" +	default y +	depends on BUSYBOX_VOLUMEID +config BUSYBOX_FEATURE_VOLUMEID_ROMFS +	bool "romfs filesystem" +	default y +	depends on BUSYBOX_VOLUMEID +config BUSYBOX_FEATURE_VOLUMEID_SQUASHFS +	bool "SquashFS filesystem" +	default y +	depends on BUSYBOX_VOLUMEID && BUSYBOX_FEATURE_BLKID_TYPE +	help +	Squashfs is a compressed read-only filesystem for Linux. Squashfs is +	intended for general read-only filesystem use and in constrained block +	device/memory systems (e.g. embedded systems) where low overhead is +	needed. +config BUSYBOX_FEATURE_VOLUMEID_SYSV +	bool "sysv filesystem" +	default y +	depends on BUSYBOX_VOLUMEID +config BUSYBOX_FEATURE_VOLUMEID_UBIFS +	bool "UBIFS filesystem" +	default y +	depends on BUSYBOX_VOLUMEID +	help +	UBIFS (Unsorted Block Image File System) is a file +	system for use with raw flash memory media. +config BUSYBOX_FEATURE_VOLUMEID_UDF +	bool "udf filesystem" +	default y +	depends on BUSYBOX_VOLUMEID +### config FEATURE_VOLUMEID_HIGHPOINTRAID +###	bool "highpoint raid" +###	default y +###	depends on BUSYBOX_VOLUMEID +### config FEATURE_VOLUMEID_HPFS +###	bool "hpfs filesystem" +###	default y +###	depends on BUSYBOX_VOLUMEID +### config FEATURE_VOLUMEID_ISWRAID +###	bool "intel raid" +###	default y +###	depends on BUSYBOX_VOLUMEID +### config FEATURE_VOLUMEID_LSIRAID +###	bool "lsi raid" +###	default y +###	depends on BUSYBOX_VOLUMEID +### config FEATURE_VOLUMEID_LVM +###	bool "lvm" +###	default y +###	depends on BUSYBOX_VOLUMEID +### config FEATURE_VOLUMEID_MAC +###	bool "mac filesystem" +###	default y +###	depends on BUSYBOX_VOLUMEID +### config FEATURE_VOLUMEID_MSDOS +###	bool "msdos filesystem" +###	default y +###	depends on BUSYBOX_VOLUMEID +### config FEATURE_VOLUMEID_NVIDIARAID +###	bool "nvidia raid" +###	default y +###	depends on BUSYBOX_VOLUMEID +### config FEATURE_VOLUMEID_PROMISERAID +###	bool "promise raid" +###	default y +###	depends on BUSYBOX_VOLUMEID +### config FEATURE_VOLUMEID_SILICONRAID +###	bool "silicon raid" +###	default y +###	depends on BUSYBOX_VOLUMEID +### config FEATURE_VOLUMEID_UFS +###	bool "ufs filesystem" +###	default y +###	depends on BUSYBOX_VOLUMEID +### config FEATURE_VOLUMEID_VIARAID +###	bool "via raid" +###	default y +###	depends on BUSYBOX_VOLUMEID +config BUSYBOX_FEATURE_VOLUMEID_XFS +	bool "xfs filesystem" +	default y +	depends on BUSYBOX_VOLUMEID + +endmenu | 
