busybox: update to version 1.25.0

The following patches were removed:
010-networking-fix-uninitialized-memory-when-displaying-.patch
  https://git.busybox.net/busybox/commit/?id=f2c043acfcf9dad9fd3d65821b81f89986bbe54e

030-ip-fix-problem-on-mips64-n64-big-endian-musl-systems.patch
  https://git.busybox.net/busybox/commit/?id=4ab372d49a6e82b0bf097dedb96d26330c5f2d5f

204-udhcpc_src_ip_rebind.patch
  https://git.busybox.net/busybox/commit/?id=abe8f7515aded80889d78c2c1c8947997918cf90

230-ntpd_delayed_resolve.patch
  https://git.busybox.net/busybox/commit/?id=c8641962e4cbde48108ddfc1c105e3320778190d
  https://git.busybox.net/busybox/commit/?id=e4caf1dd9ce8569371a0eeb77ccf02a572dc0f11

260-arping_missing_includes.patch
  Not needed any more, still builds with musl for me.
  Add in 92fd6e6f1a "busybox: fix arping applet building on musl"

The Kconfig files were updated with these commands:
cd config
../convert_menuconfig.pl .../build_dir/target-*/busybox-1.25.0
cd ..
./convert_defaults.pl < .../build_dir/target-*/busybox-1.25.0/.config > Config-defaults.in

Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
v19.07.3_mercusys_ac12_duma
Hauke Mehrtens 8 years ago
parent ef64c8694b
commit 06fa1c46fc

@ -34,6 +34,9 @@ config BUSYBOX_DEFAULT_FEATURE_VERBOSE_USAGE
config BUSYBOX_DEFAULT_FEATURE_COMPRESS_USAGE config BUSYBOX_DEFAULT_FEATURE_COMPRESS_USAGE
bool bool
default y default y
config BUSYBOX_DEFAULT_BUSYBOX
bool
default n
config BUSYBOX_DEFAULT_FEATURE_INSTALLER config BUSYBOX_DEFAULT_FEATURE_INSTALLER
bool bool
default n default n
@ -166,6 +169,9 @@ config BUSYBOX_DEFAULT_DEBUG
config BUSYBOX_DEFAULT_DEBUG_PESSIMIZE config BUSYBOX_DEFAULT_DEBUG_PESSIMIZE
bool bool
default n default n
config BUSYBOX_DEFAULT_DEBUG_SANITIZE
bool
default n
config BUSYBOX_DEFAULT_UNIT_TEST config BUSYBOX_DEFAULT_UNIT_TEST
bool bool
default n default n
@ -205,7 +211,7 @@ config BUSYBOX_DEFAULT_INSTALL_SH_APPLET_SCRIPT_WRAPPER
config BUSYBOX_DEFAULT_PREFIX config BUSYBOX_DEFAULT_PREFIX
string string
default "./_install" default "./_install"
config BUSYBOX_DEFAULT_FEATURE_SYSTEMD config BUSYBOX_DEFAULT_FEATURE_USE_BSS_TAIL
bool bool
default n default n
config BUSYBOX_DEFAULT_FEATURE_RTMINMAX config BUSYBOX_DEFAULT_FEATURE_RTMINMAX
@ -313,6 +319,9 @@ config BUSYBOX_DEFAULT_UNCOMPRESS
config BUSYBOX_DEFAULT_GUNZIP config BUSYBOX_DEFAULT_GUNZIP
bool bool
default y default y
config BUSYBOX_DEFAULT_FEATURE_GUNZIP_LONG_OPTIONS
bool
default n
config BUSYBOX_DEFAULT_BUNZIP2 config BUSYBOX_DEFAULT_BUNZIP2
bool bool
default y default y
@ -460,6 +469,15 @@ config BUSYBOX_DEFAULT_GROUPS
config BUSYBOX_DEFAULT_SHUF config BUSYBOX_DEFAULT_SHUF
bool bool
default n default n
config BUSYBOX_DEFAULT_STAT
bool
default n
config BUSYBOX_DEFAULT_FEATURE_STAT_FORMAT
bool
default n
config BUSYBOX_DEFAULT_FEATURE_STAT_FILESYSTEM
bool
default n
config BUSYBOX_DEFAULT_SYNC config BUSYBOX_DEFAULT_SYNC
bool bool
default y default y
@ -733,12 +751,6 @@ config BUSYBOX_DEFAULT_SPLIT
config BUSYBOX_DEFAULT_FEATURE_SPLIT_FANCY config BUSYBOX_DEFAULT_FEATURE_SPLIT_FANCY
bool bool
default n default n
config BUSYBOX_DEFAULT_STAT
bool
default n
config BUSYBOX_DEFAULT_FEATURE_STAT_FORMAT
bool
default n
config BUSYBOX_DEFAULT_STTY config BUSYBOX_DEFAULT_STTY
bool bool
default n default n
@ -1117,6 +1129,9 @@ config BUSYBOX_DEFAULT_TELINIT_PATH
config BUSYBOX_DEFAULT_INIT config BUSYBOX_DEFAULT_INIT
bool bool
default n default n
config BUSYBOX_DEFAULT_LINUXRC
bool
default n
config BUSYBOX_DEFAULT_FEATURE_USE_INITTAB config BUSYBOX_DEFAULT_FEATURE_USE_INITTAB
bool bool
default n default n
@ -1138,22 +1153,16 @@ config BUSYBOX_DEFAULT_FEATURE_EXTRA_QUIET
config BUSYBOX_DEFAULT_FEATURE_INIT_COREDUMPS config BUSYBOX_DEFAULT_FEATURE_INIT_COREDUMPS
bool bool
default n default n
config BUSYBOX_DEFAULT_FEATURE_INITRD
bool
default n
config BUSYBOX_DEFAULT_INIT_TERMINAL_TYPE config BUSYBOX_DEFAULT_INIT_TERMINAL_TYPE
string string
default "" default ""
config BUSYBOX_DEFAULT_MESG config BUSYBOX_DEFAULT_FEATURE_INIT_MODIFY_CMDLINE
bool bool
default n default n
config BUSYBOX_DEFAULT_FEATURE_MESG_ENABLE_ONLY_GROUP config BUSYBOX_DEFAULT_MESG
bool
default n
config BUSYBOX_DEFAULT_ADD_SHELL
bool bool
default n default n
config BUSYBOX_DEFAULT_REMOVE_SHELL config BUSYBOX_DEFAULT_FEATURE_MESG_ENABLE_ONLY_GROUP
bool bool
default n default n
config BUSYBOX_DEFAULT_FEATURE_SHADOWPASSWDS config BUSYBOX_DEFAULT_FEATURE_SHADOWPASSWDS
@ -1171,6 +1180,21 @@ config BUSYBOX_DEFAULT_USE_BB_CRYPT
config BUSYBOX_DEFAULT_USE_BB_CRYPT_SHA config BUSYBOX_DEFAULT_USE_BB_CRYPT_SHA
bool bool
default n default n
config BUSYBOX_DEFAULT_ADD_SHELL
bool
default n
config BUSYBOX_DEFAULT_REMOVE_SHELL
bool
default n
config BUSYBOX_DEFAULT_ADDGROUP
bool
default n
config BUSYBOX_DEFAULT_FEATURE_ADDGROUP_LONG_OPTIONS
bool
default n
config BUSYBOX_DEFAULT_FEATURE_ADDUSER_TO_GROUP
bool
default n
config BUSYBOX_DEFAULT_ADDUSER config BUSYBOX_DEFAULT_ADDUSER
bool bool
default n default n
@ -1189,13 +1213,16 @@ config BUSYBOX_DEFAULT_FIRST_SYSTEM_ID
config BUSYBOX_DEFAULT_LAST_SYSTEM_ID config BUSYBOX_DEFAULT_LAST_SYSTEM_ID
int int
default 0 default 0
config BUSYBOX_DEFAULT_ADDGROUP config BUSYBOX_DEFAULT_CHPASSWD
bool bool
default n default n
config BUSYBOX_DEFAULT_FEATURE_ADDGROUP_LONG_OPTIONS config BUSYBOX_DEFAULT_FEATURE_DEFAULT_PASSWD_ALGO
string
default "md5"
config BUSYBOX_DEFAULT_CRYPTPW
bool bool
default n default n
config BUSYBOX_DEFAULT_FEATURE_ADDUSER_TO_GROUP config BUSYBOX_DEFAULT_MKPASSWD
bool bool
default n default n
config BUSYBOX_DEFAULT_DELUSER config BUSYBOX_DEFAULT_DELUSER
@ -1231,15 +1258,6 @@ config BUSYBOX_DEFAULT_PASSWD
config BUSYBOX_DEFAULT_FEATURE_PASSWD_WEAK_CHECK config BUSYBOX_DEFAULT_FEATURE_PASSWD_WEAK_CHECK
bool bool
default y default y
config BUSYBOX_DEFAULT_CRYPTPW
bool
default n
config BUSYBOX_DEFAULT_CHPASSWD
bool
default n
config BUSYBOX_DEFAULT_FEATURE_DEFAULT_PASSWD_ALGO
string
default "md5"
config BUSYBOX_DEFAULT_SU config BUSYBOX_DEFAULT_SU
bool bool
default n default n
@ -1336,6 +1354,9 @@ config BUSYBOX_DEFAULT_DEFAULT_MODULES_DIR
config BUSYBOX_DEFAULT_DEFAULT_DEPMOD_FILE config BUSYBOX_DEFAULT_DEFAULT_DEPMOD_FILE
string string
default "" default ""
config BUSYBOX_DEFAULT_BLKDISCARD
bool
default n
config BUSYBOX_DEFAULT_BLOCKDEV config BUSYBOX_DEFAULT_BLOCKDEV
bool bool
default n default n
@ -1393,12 +1414,24 @@ config BUSYBOX_DEFAULT_FEATURE_MOUNT_FSTAB
config BUSYBOX_DEFAULT_FEATURE_MOUNT_OTHERTAB config BUSYBOX_DEFAULT_FEATURE_MOUNT_OTHERTAB
bool bool
default n default n
config BUSYBOX_DEFAULT_NSENTER
bool
default n
config BUSYBOX_DEFAULT_FEATURE_NSENTER_LONG_OPTS
bool
default n
config BUSYBOX_DEFAULT_REV config BUSYBOX_DEFAULT_REV
bool bool
default n default n
config BUSYBOX_DEFAULT_SETARCH
bool
default n
config BUSYBOX_DEFAULT_UEVENT config BUSYBOX_DEFAULT_UEVENT
bool bool
default n default n
config BUSYBOX_DEFAULT_UNSHARE
bool
default n
config BUSYBOX_DEFAULT_ACPID config BUSYBOX_DEFAULT_ACPID
bool bool
default n default n
@ -1555,9 +1588,6 @@ config BUSYBOX_DEFAULT_SCRIPT
config BUSYBOX_DEFAULT_SCRIPTREPLAY config BUSYBOX_DEFAULT_SCRIPTREPLAY
bool bool
default n default n
config BUSYBOX_DEFAULT_SETARCH
bool
default n
config BUSYBOX_DEFAULT_SWAPONOFF config BUSYBOX_DEFAULT_SWAPONOFF
bool bool
default n default n
@ -1588,6 +1618,9 @@ config BUSYBOX_DEFAULT_FEATURE_MTAB_SUPPORT
config BUSYBOX_DEFAULT_VOLUMEID config BUSYBOX_DEFAULT_VOLUMEID
bool bool
default n default n
config BUSYBOX_DEFAULT_FEATURE_VOLUMEID_BCACHE
bool
default n
config BUSYBOX_DEFAULT_FEATURE_VOLUMEID_BTRFS config BUSYBOX_DEFAULT_FEATURE_VOLUMEID_BTRFS
bool bool
default n default n
@ -1747,6 +1780,9 @@ config BUSYBOX_DEFAULT_UBIRSVOL
config BUSYBOX_DEFAULT_UBIUPDATEVOL config BUSYBOX_DEFAULT_UBIUPDATEVOL
bool bool
default n default n
config BUSYBOX_DEFAULT_UBIRENAME
bool
default n
config BUSYBOX_DEFAULT_WALL config BUSYBOX_DEFAULT_WALL
bool bool
default n default n
@ -1852,9 +1888,6 @@ config BUSYBOX_DEFAULT_INOTIFYD
config BUSYBOX_DEFAULT_LAST config BUSYBOX_DEFAULT_LAST
bool bool
default n default n
config BUSYBOX_DEFAULT_FEATURE_LAST_SMALL
bool
default n
config BUSYBOX_DEFAULT_FEATURE_LAST_FANCY config BUSYBOX_DEFAULT_FEATURE_LAST_FANCY
bool bool
default n default n
@ -1971,13 +2004,13 @@ config BUSYBOX_DEFAULT_WGET
default n default n
config BUSYBOX_DEFAULT_FEATURE_WGET_STATUSBAR config BUSYBOX_DEFAULT_FEATURE_WGET_STATUSBAR
bool bool
default y default n
config BUSYBOX_DEFAULT_FEATURE_WGET_AUTHENTICATION config BUSYBOX_DEFAULT_FEATURE_WGET_AUTHENTICATION
bool bool
default y default n
config BUSYBOX_DEFAULT_FEATURE_WGET_LONG_OPTIONS config BUSYBOX_DEFAULT_FEATURE_WGET_LONG_OPTIONS
bool bool
default y default n
config BUSYBOX_DEFAULT_FEATURE_WGET_TIMEOUT config BUSYBOX_DEFAULT_FEATURE_WGET_TIMEOUT
bool bool
default n default n
@ -2179,6 +2212,9 @@ config BUSYBOX_DEFAULT_FEATURE_IP_TUNNEL
config BUSYBOX_DEFAULT_FEATURE_IP_RULE config BUSYBOX_DEFAULT_FEATURE_IP_RULE
bool bool
default y default y
config BUSYBOX_DEFAULT_FEATURE_IP_NEIGH
bool
default n
config BUSYBOX_DEFAULT_FEATURE_IP_SHORT_FORMS config BUSYBOX_DEFAULT_FEATURE_IP_SHORT_FORMS
bool bool
default n default n
@ -2200,6 +2236,9 @@ config BUSYBOX_DEFAULT_IPTUNNEL
config BUSYBOX_DEFAULT_IPRULE config BUSYBOX_DEFAULT_IPRULE
bool bool
default n default n
config BUSYBOX_DEFAULT_IPNEIGH
bool
default n
config BUSYBOX_DEFAULT_IPCALC config BUSYBOX_DEFAULT_IPCALC
bool bool
default n default n
@ -2509,37 +2548,37 @@ config BUSYBOX_DEFAULT_FEATURE_SHOW_THREADS
config BUSYBOX_DEFAULT_WATCH config BUSYBOX_DEFAULT_WATCH
bool bool
default n default n
config BUSYBOX_DEFAULT_RUNSV config BUSYBOX_DEFAULT_CHPST
bool bool
default n default n
config BUSYBOX_DEFAULT_RUNSVDIR config BUSYBOX_DEFAULT_SETUIDGID
bool bool
default n default n
config BUSYBOX_DEFAULT_FEATURE_RUNSVDIR_LOG config BUSYBOX_DEFAULT_ENVUIDGID
bool bool
default n default n
config BUSYBOX_DEFAULT_SV config BUSYBOX_DEFAULT_ENVDIR
bool bool
default n default n
config BUSYBOX_DEFAULT_SV_DEFAULT_SERVICE_DIR config BUSYBOX_DEFAULT_SOFTLIMIT
string
default ""
config BUSYBOX_DEFAULT_SVLOGD
bool bool
default n default n
config BUSYBOX_DEFAULT_CHPST config BUSYBOX_DEFAULT_RUNSV
bool bool
default n default n
config BUSYBOX_DEFAULT_SETUIDGID config BUSYBOX_DEFAULT_RUNSVDIR
bool bool
default n default n
config BUSYBOX_DEFAULT_ENVUIDGID config BUSYBOX_DEFAULT_FEATURE_RUNSVDIR_LOG
bool bool
default n default n
config BUSYBOX_DEFAULT_ENVDIR config BUSYBOX_DEFAULT_SV
bool bool
default n default n
config BUSYBOX_DEFAULT_SOFTLIMIT config BUSYBOX_DEFAULT_SV_DEFAULT_SERVICE_DIR
string
default ""
config BUSYBOX_DEFAULT_SVLOGD
bool bool
default n default n
config BUSYBOX_DEFAULT_CHCON config BUSYBOX_DEFAULT_CHCON
@ -2722,6 +2761,21 @@ config BUSYBOX_DEFAULT_FEATURE_SH_NOFORK
config BUSYBOX_DEFAULT_FEATURE_SH_HISTFILESIZE config BUSYBOX_DEFAULT_FEATURE_SH_HISTFILESIZE
bool bool
default n default n
config BUSYBOX_DEFAULT_KLOGD
bool
default n
config BUSYBOX_DEFAULT_FEATURE_KLOGD_KLOGCTL
bool
default n
config BUSYBOX_DEFAULT_LOGGER
bool
default y
config BUSYBOX_DEFAULT_LOGREAD
bool
default n
config BUSYBOX_DEFAULT_FEATURE_LOGREAD_REDUCED_LOCKING
bool
default n
config BUSYBOX_DEFAULT_SYSLOGD config BUSYBOX_DEFAULT_SYSLOGD
bool bool
default n default n
@ -2746,21 +2800,6 @@ config BUSYBOX_DEFAULT_FEATURE_IPC_SYSLOG
config BUSYBOX_DEFAULT_FEATURE_IPC_SYSLOG_BUFFER_SIZE config BUSYBOX_DEFAULT_FEATURE_IPC_SYSLOG_BUFFER_SIZE
int int
default 0 default 0
config BUSYBOX_DEFAULT_LOGREAD
bool
default n
config BUSYBOX_DEFAULT_FEATURE_LOGREAD_REDUCED_LOCKING
bool
default n
config BUSYBOX_DEFAULT_FEATURE_KMSG_SYSLOG config BUSYBOX_DEFAULT_FEATURE_KMSG_SYSLOG
bool bool
default n default n
config BUSYBOX_DEFAULT_KLOGD
bool
default n
config BUSYBOX_DEFAULT_FEATURE_KLOGD_KLOGCTL
bool
default n
config BUSYBOX_DEFAULT_LOGGER
bool
default y

@ -8,8 +8,8 @@
include $(TOPDIR)/rules.mk include $(TOPDIR)/rules.mk
PKG_NAME:=busybox PKG_NAME:=busybox
PKG_VERSION:=1.24.2 PKG_VERSION:=1.25.0
PKG_RELEASE:=4 PKG_RELEASE:=1
PKG_FLAGS:=essential PKG_FLAGS:=essential
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2 PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2

@ -115,9 +115,21 @@ config BUSYBOX_CONFIG_FEATURE_COMPRESS_USAGE
and have very little memory, this might not be a win. Otherwise, and have very little memory, this might not be a win. Otherwise,
you probably want this. you probably want this.
config BUSYBOX_CONFIG_BUSYBOX
bool "Include busybox applet"
default BUSYBOX_DEFAULT_BUSYBOX
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_CONFIG_FEATURE_INSTALLER config BUSYBOX_CONFIG_FEATURE_INSTALLER
bool "Support --install [-s] to install applet links at runtime" bool "Support --install [-s] to install applet links at runtime"
default BUSYBOX_DEFAULT_FEATURE_INSTALLER default BUSYBOX_DEFAULT_FEATURE_INSTALLER
depends on BUSYBOX_CONFIG_BUSYBOX
help help
Enable 'busybox --install [-s]' support. This will allow you to use Enable 'busybox --install [-s]' support. This will allow you to use
busybox at runtime to create hard links or symlinks for all the busybox at runtime to create hard links or symlinks for all the
@ -687,6 +699,16 @@ config BUSYBOX_CONFIG_DEBUG_PESSIMIZE
in a much bigger executable that more closely matches the source in a much bigger executable that more closely matches the source
code. code.
config BUSYBOX_CONFIG_DEBUG_SANITIZE
bool "Enable runtime sanitizers (ASAN/LSAN/USAN/etc...)"
default BUSYBOX_DEFAULT_DEBUG_SANITIZE
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.
If you aren't developing/testing busybox, say N here.
config BUSYBOX_CONFIG_UNIT_TEST config BUSYBOX_CONFIG_UNIT_TEST
bool "Build unit tests" bool "Build unit tests"
default BUSYBOX_DEFAULT_UNIT_TEST default BUSYBOX_DEFAULT_UNIT_TEST

@ -32,7 +32,7 @@ config BUSYBOX_CONFIG_FEATURE_SEAMLESS_GZ
config BUSYBOX_CONFIG_FEATURE_SEAMLESS_Z config BUSYBOX_CONFIG_FEATURE_SEAMLESS_Z
bool "tar, rpm, modprobe etc understand .Z data" bool "tar, rpm, modprobe etc understand .Z data"
default BUSYBOX_DEFAULT_FEATURE_SEAMLESS_Z default BUSYBOX_DEFAULT_FEATURE_SEAMLESS_Z # it is ancient
help help
Make tar, rpm, modprobe etc understand .Z data. Make tar, rpm, modprobe etc understand .Z data.
@ -41,23 +41,13 @@ config BUSYBOX_CONFIG_AR
default BUSYBOX_DEFAULT_AR # needs to be improved to be able to replace binutils ar default BUSYBOX_DEFAULT_AR # needs to be improved to be able to replace binutils ar
help help
ar is an archival utility program used to create, modify, and ar is an archival utility program used to create, modify, and
extract contents from archives. An archive is a single file holding extract contents from archives. In practice, it is used exclusively
a collection of other files in a structure that makes it possible to for object module archives used by compilers.
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.
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. On an x86 system, the ar applet adds about 1K.
Unless you have a specific application which requires ar, you should Unless you have a specific application which requires ar, you should
probably say N here. probably say N here: most compilers come with their own ar utility.
config BUSYBOX_CONFIG_FEATURE_AR_LONG_FILENAMES config BUSYBOX_CONFIG_FEATURE_AR_LONG_FILENAMES
bool "Support for long filenames (not needed for debs)" bool "Support for long filenames (not needed for debs)"
@ -77,7 +67,7 @@ config BUSYBOX_CONFIG_FEATURE_AR_CREATE
This enables archive creation (-c and -r) with busybox ar. This enables archive creation (-c and -r) with busybox ar.
config BUSYBOX_CONFIG_UNCOMPRESS config BUSYBOX_CONFIG_UNCOMPRESS
bool "uncompress" bool "uncompress"
default BUSYBOX_DEFAULT_UNCOMPRESS default BUSYBOX_DEFAULT_UNCOMPRESS # ancient
help help
uncompress is used to decompress archives created by compress. uncompress is used to decompress archives created by compress.
Not much used anymore, replaced by gzip/gunzip. Not much used anymore, replaced by gzip/gunzip.
@ -88,6 +78,13 @@ config BUSYBOX_CONFIG_GUNZIP
gunzip is used to decompress archives created by gzip. gunzip is used to decompress archives created by gzip.
You can use the `-t' option to test the integrity of You can use the `-t' option to test the integrity of
an archive, without decompressing it. an archive, without decompressing it.
config BUSYBOX_CONFIG_FEATURE_GUNZIP_LONG_OPTIONS
bool "Enable long options"
default BUSYBOX_DEFAULT_FEATURE_GUNZIP_LONG_OPTIONS
depends on BUSYBOX_CONFIG_GUNZIP && BUSYBOX_CONFIG_LONG_OPTS
help
Enable use of long options.
config BUSYBOX_CONFIG_BUNZIP2 config BUSYBOX_CONFIG_BUNZIP2
bool "bunzip2" bool "bunzip2"
default BUSYBOX_DEFAULT_BUNZIP2 default BUSYBOX_DEFAULT_BUNZIP2

@ -123,6 +123,29 @@ config BUSYBOX_CONFIG_SHUF
default BUSYBOX_DEFAULT_SHUF default BUSYBOX_DEFAULT_SHUF
help help
Generate random permutations Generate random permutations
config BUSYBOX_CONFIG_STAT
bool "stat"
default BUSYBOX_DEFAULT_STAT
help
display file or filesystem status.
config BUSYBOX_CONFIG_FEATURE_STAT_FORMAT
bool "Enable custom formats (-c)"
default BUSYBOX_DEFAULT_FEATURE_STAT_FORMAT
depends on BUSYBOX_CONFIG_STAT
help
Without this, stat will not support the '-c format' option where
users can pass a custom format string for output. This adds about
7k to a nonstatic build on amd64.
config BUSYBOX_CONFIG_FEATURE_STAT_FILESYSTEM
bool "Enable display of filesystem status (-f)"
default BUSYBOX_DEFAULT_FEATURE_STAT_FILESYSTEM
depends on BUSYBOX_CONFIG_STAT
select BUSYBOX_CONFIG_PLATFORM_LINUX # statfs()
help
Without this, stat will not support the '-f' option to display
information about filesystem status.
config BUSYBOX_CONFIG_SYNC config BUSYBOX_CONFIG_SYNC
bool "sync" bool "sync"
default BUSYBOX_DEFAULT_SYNC default BUSYBOX_DEFAULT_SYNC
@ -760,22 +783,6 @@ config BUSYBOX_CONFIG_FEATURE_SPLIT_FANCY
Supports additional suffixes 'b' for 512 bytes, Supports additional suffixes 'b' for 512 bytes,
'g' for 1GiB for the -b option. 'g' for 1GiB for the -b option.
config BUSYBOX_CONFIG_STAT
bool "stat"
default BUSYBOX_DEFAULT_STAT
select BUSYBOX_CONFIG_PLATFORM_LINUX # statfs()
help
display file or filesystem status.
config BUSYBOX_CONFIG_FEATURE_STAT_FORMAT
bool "Enable custom formats (-c)"
default BUSYBOX_DEFAULT_FEATURE_STAT_FORMAT
depends on BUSYBOX_CONFIG_STAT
help
Without this, stat will not support the '-c format' option where
users can pass a custom format string for output. This adds about
7k to a nonstatic build on amd64.
config BUSYBOX_CONFIG_STTY config BUSYBOX_CONFIG_STTY
bool "stty" bool "stty"
default BUSYBOX_DEFAULT_STTY default BUSYBOX_DEFAULT_STTY

@ -6,19 +6,16 @@
menu "Debian Utilities" menu "Debian Utilities"
config BUSYBOX_CONFIG_MKTEMP config BUSYBOX_CONFIG_MKTEMP
bool "mktemp" bool "mktemp"
default BUSYBOX_DEFAULT_MKTEMP default BUSYBOX_DEFAULT_MKTEMP
help help
mktemp is used to create unique temporary files mktemp is used to create unique temporary files
config BUSYBOX_CONFIG_PIPE_PROGRESS config BUSYBOX_CONFIG_PIPE_PROGRESS
bool "pipe_progress" bool "pipe_progress"
default BUSYBOX_DEFAULT_PIPE_PROGRESS default BUSYBOX_DEFAULT_PIPE_PROGRESS
help help
Display a dot to indicate pipe activity. Display a dot to indicate pipe activity.
config BUSYBOX_CONFIG_RUN_PARTS config BUSYBOX_CONFIG_RUN_PARTS
bool "run-parts" bool "run-parts"
default BUSYBOX_DEFAULT_RUN_PARTS default BUSYBOX_DEFAULT_RUN_PARTS
@ -49,7 +46,6 @@ config BUSYBOX_CONFIG_FEATURE_RUN_PARTS_FANCY
Support additional options: Support additional options:
-l --list print the names of the all matching files (not -l --list print the names of the all matching files (not
limited to executables), but don't actually run them. limited to executables), but don't actually run them.
config BUSYBOX_CONFIG_START_STOP_DAEMON config BUSYBOX_CONFIG_START_STOP_DAEMON
bool "start-stop-daemon" bool "start-stop-daemon"
default BUSYBOX_DEFAULT_START_STOP_DAEMON default BUSYBOX_DEFAULT_START_STOP_DAEMON
@ -74,7 +70,6 @@ config BUSYBOX_CONFIG_FEATURE_START_STOP_DAEMON_LONG_OPTIONS
depends on BUSYBOX_CONFIG_START_STOP_DAEMON && BUSYBOX_CONFIG_LONG_OPTS depends on BUSYBOX_CONFIG_START_STOP_DAEMON && BUSYBOX_CONFIG_LONG_OPTS
help help
Support long options for the start-stop-daemon applet. Support long options for the start-stop-daemon applet.
config BUSYBOX_CONFIG_WHICH config BUSYBOX_CONFIG_WHICH
bool "which" bool "which"
default BUSYBOX_DEFAULT_WHICH default BUSYBOX_DEFAULT_WHICH

@ -6,22 +6,11 @@
menu "Linux Ext2 FS Progs" menu "Linux Ext2 FS Progs"
config BUSYBOX_CONFIG_CHATTR config BUSYBOX_CONFIG_CHATTR
bool "chattr" bool "chattr"
default BUSYBOX_DEFAULT_CHATTR default BUSYBOX_DEFAULT_CHATTR
help help
chattr changes the file attributes on a second extended file system. chattr changes the file attributes on a second extended file system.
### config E2FSCK
### bool "e2fsck"
### default y
### help
### e2fsck is used to check Linux second extended file systems (ext2fs).
### e2fsck also supports ext2 filesystems countaining a journal (ext3).
### The normal compat symlinks 'fsck.ext2' and 'fsck.ext3' are also
### provided.
config BUSYBOX_CONFIG_FSCK config BUSYBOX_CONFIG_FSCK
bool "fsck" bool "fsck"
default BUSYBOX_DEFAULT_FSCK default BUSYBOX_DEFAULT_FSCK
@ -29,13 +18,27 @@ config BUSYBOX_CONFIG_FSCK
fsck is used to check and optionally repair one or more filesystems. 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 In actuality, fsck is simply a front-end for the various file system
checkers (fsck.fstype) available under Linux. checkers (fsck.fstype) available under Linux.
config BUSYBOX_CONFIG_LSATTR config BUSYBOX_CONFIG_LSATTR
bool "lsattr" bool "lsattr"
default BUSYBOX_DEFAULT_LSATTR default BUSYBOX_DEFAULT_LSATTR
select BUSYBOX_CONFIG_PLATFORM_LINUX select BUSYBOX_CONFIG_PLATFORM_LINUX
help help
lsattr lists the file attributes on a second extended file system. lsattr lists the file attributes on a second extended file system.
config BUSYBOX_CONFIG_TUNE2FS
bool "tune2fs"
default BUSYBOX_DEFAULT_TUNE2FS # 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"
### default y
### 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 MKE2FS ### config MKE2FS
### bool "mke2fs" ### bool "mke2fs"
@ -44,13 +47,6 @@ config BUSYBOX_CONFIG_LSATTR
### mke2fs is used to create an ext2/ext3 filesystem. The normal compat ### mke2fs is used to create an ext2/ext3 filesystem. The normal compat
### symlinks 'mkfs.ext2' and 'mkfs.ext3' are also provided. ### symlinks 'mkfs.ext2' and 'mkfs.ext3' are also provided.
config BUSYBOX_CONFIG_TUNE2FS
bool "tune2fs"
default BUSYBOX_DEFAULT_TUNE2FS # 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 ### config E2LABEL
### bool "e2label" ### bool "e2label"
### default y ### default y

@ -76,10 +76,21 @@ config BUSYBOX_CONFIG_INIT
help help
init is the first program run when the system boots. init is the first program run when the system boots.
config BUSYBOX_CONFIG_LINUXRC
bool "Support running init from within an initrd (not initramfs)"
default BUSYBOX_DEFAULT_LINUXRC
select BUSYBOX_CONFIG_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.
This does not apply to initramfs, which runs /init as PID 1 and
requires no special support.
config BUSYBOX_CONFIG_FEATURE_USE_INITTAB config BUSYBOX_CONFIG_FEATURE_USE_INITTAB
bool "Support reading an inittab file" bool "Support reading an inittab file"
default BUSYBOX_DEFAULT_FEATURE_USE_INITTAB default BUSYBOX_DEFAULT_FEATURE_USE_INITTAB
depends on BUSYBOX_CONFIG_INIT depends on BUSYBOX_CONFIG_INIT || BUSYBOX_CONFIG_LINUXRC
help help
Allow init to read an inittab file when the system boot. Allow init to read an inittab file when the system boot.
@ -106,7 +117,7 @@ config BUSYBOX_CONFIG_FEATURE_KILL_DELAY
config BUSYBOX_CONFIG_FEATURE_INIT_SCTTY config BUSYBOX_CONFIG_FEATURE_INIT_SCTTY
bool "Run commands with leading dash with controlling tty" bool "Run commands with leading dash with controlling tty"
default BUSYBOX_DEFAULT_FEATURE_INIT_SCTTY default BUSYBOX_DEFAULT_FEATURE_INIT_SCTTY
depends on BUSYBOX_CONFIG_INIT depends on BUSYBOX_CONFIG_INIT || BUSYBOX_CONFIG_LINUXRC
help help
If this option is enabled, init will try to give a controlling 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"). tty to any command which has leading hyphen (often it's "-/bin/sh").
@ -121,40 +132,29 @@ config BUSYBOX_CONFIG_FEATURE_INIT_SCTTY
config BUSYBOX_CONFIG_FEATURE_INIT_SYSLOG config BUSYBOX_CONFIG_FEATURE_INIT_SYSLOG
bool "Enable init to write to syslog" bool "Enable init to write to syslog"
default BUSYBOX_DEFAULT_FEATURE_INIT_SYSLOG default BUSYBOX_DEFAULT_FEATURE_INIT_SYSLOG
depends on BUSYBOX_CONFIG_INIT depends on BUSYBOX_CONFIG_INIT || BUSYBOX_CONFIG_LINUXRC
config BUSYBOX_CONFIG_FEATURE_EXTRA_QUIET config BUSYBOX_CONFIG_FEATURE_EXTRA_QUIET
bool "Be _extra_ quiet on boot" bool "Be _extra_ quiet on boot"
default BUSYBOX_DEFAULT_FEATURE_EXTRA_QUIET default BUSYBOX_DEFAULT_FEATURE_EXTRA_QUIET
depends on BUSYBOX_CONFIG_INIT depends on BUSYBOX_CONFIG_INIT || BUSYBOX_CONFIG_LINUXRC
help help
Prevent init from logging some messages to the console during boot. Prevent init from logging some messages to the console during boot.
config BUSYBOX_CONFIG_FEATURE_INIT_COREDUMPS config BUSYBOX_CONFIG_FEATURE_INIT_COREDUMPS
bool "Support dumping core for child processes (debugging only)" bool "Support dumping core for child processes (debugging only)"
default BUSYBOX_DEFAULT_FEATURE_INIT_COREDUMPS default BUSYBOX_DEFAULT_FEATURE_INIT_COREDUMPS
depends on BUSYBOX_CONFIG_INIT depends on BUSYBOX_CONFIG_INIT || BUSYBOX_CONFIG_LINUXRC
help help
If this option is enabled and the file /.init_enable_core If this option is enabled and the file /.init_enable_core
exists, then init will call setrlimit() to allow unlimited exists, then init will call setrlimit() to allow unlimited
core file sizes. If this option is disabled, processes core file sizes. If this option is disabled, processes
will not generate any core files. will not generate any core files.
config BUSYBOX_CONFIG_FEATURE_INITRD
bool "Support running init from within an initrd (not initramfs)"
default BUSYBOX_DEFAULT_FEATURE_INITRD
depends on BUSYBOX_CONFIG_INIT
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.
This does not apply to initramfs, which runs /init as PID 1 and
requires no special support.
config BUSYBOX_CONFIG_INIT_TERMINAL_TYPE config BUSYBOX_CONFIG_INIT_TERMINAL_TYPE
string "Initial terminal type" string "Initial terminal type"
default BUSYBOX_DEFAULT_INIT_TERMINAL_TYPE default BUSYBOX_DEFAULT_INIT_TERMINAL_TYPE
depends on BUSYBOX_CONFIG_INIT depends on BUSYBOX_CONFIG_INIT || BUSYBOX_CONFIG_LINUXRC
help help
This is the initial value set by init for the TERM environment This is the initial value set by init for the TERM environment
variable. This variable is used by programs which make use of variable. This variable is used by programs which make use of
@ -162,6 +162,21 @@ config BUSYBOX_CONFIG_INIT_TERMINAL_TYPE
Note that on Linux, init attempts to detect serial terminal and Note that on Linux, init attempts to detect serial terminal and
sets TERM to "vt102" if one is found. sets TERM to "vt102" if one is found.
config BUSYBOX_CONFIG_FEATURE_INIT_MODIFY_CMDLINE
bool "Modify the command-line to \"init\""
default BUSYBOX_DEFAULT_FEATURE_INIT_MODIFY_CMDLINE
depends on BUSYBOX_CONFIG_INIT || BUSYBOX_CONFIG_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_CONFIG_MESG config BUSYBOX_CONFIG_MESG
bool "mesg" bool "mesg"
default BUSYBOX_DEFAULT_MESG default BUSYBOX_DEFAULT_MESG

@ -6,14 +6,38 @@
menu "Busybox Library Tuning" menu "Busybox Library Tuning"
config BUSYBOX_CONFIG_FEATURE_SYSTEMD config BUSYBOX_CONFIG_FEATURE_USE_BSS_TAIL
bool "Enable systemd support" bool "Use the end of BSS page"
default BUSYBOX_DEFAULT_FEATURE_SYSTEMD default BUSYBOX_DEFAULT_FEATURE_USE_BSS_TAIL
help help
If you plan to use busybox daemons on a system where daemons Attempt to reclaim a small unused part of BSS.
are controlled by systemd, enable this option.
If you don't use systemd, it is still safe to enable it, Executables have the following parts:
but the downside is increased code size. = 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_CONFIG_FEATURE_RTMINMAX config BUSYBOX_CONFIG_FEATURE_RTMINMAX
bool "Support RTMIN[+n] and RTMAX[-n] signal names" bool "Support RTMIN[+n] and RTMAX[-n] signal names"
default BUSYBOX_DEFAULT_FEATURE_RTMINMAX default BUSYBOX_DEFAULT_FEATURE_RTMINMAX
@ -30,7 +54,7 @@ config BUSYBOX_CONFIG_PASSWORD_MINLEN
config BUSYBOX_CONFIG_MD5_SMALL config BUSYBOX_CONFIG_MD5_SMALL
int "MD5: Trade bytes for speed (0:fast, 3:slow)" int "MD5: Trade bytes for speed (0:fast, 3:slow)"
default BUSYBOX_DEFAULT_MD5_SMALL default BUSYBOX_DEFAULT_MD5_SMALL # all "fast or small" options default to small
range 0 3 range 0 3
help help
Trade binary size versus speed for the md5sum algorithm. Trade binary size versus speed for the md5sum algorithm.
@ -44,7 +68,7 @@ config BUSYBOX_CONFIG_MD5_SMALL
config BUSYBOX_CONFIG_SHA3_SMALL config BUSYBOX_CONFIG_SHA3_SMALL
int "SHA3: Trade bytes for speed (0:fast, 1:slow)" int "SHA3: Trade bytes for speed (0:fast, 1:slow)"
default BUSYBOX_DEFAULT_SHA3_SMALL default BUSYBOX_DEFAULT_SHA3_SMALL # all "fast or small" options default to small
range 0 1 range 0 1
help help
Trade binary size versus speed for the sha3sum algorithm. Trade binary size versus speed for the sha3sum algorithm.
@ -54,7 +78,7 @@ config BUSYBOX_CONFIG_SHA3_SMALL
config BUSYBOX_CONFIG_FEATURE_FAST_TOP config BUSYBOX_CONFIG_FEATURE_FAST_TOP
bool "Faster /proc scanning code (+100 bytes)" bool "Faster /proc scanning code (+100 bytes)"
default BUSYBOX_DEFAULT_FEATURE_FAST_TOP default BUSYBOX_DEFAULT_FEATURE_FAST_TOP # all "fast or small" options default to small
help help
This option makes top (and ps) ~20% faster (or 20% less CPU hungry), This option makes top (and ps) ~20% faster (or 20% less CPU hungry),
but code size is slightly bigger. but code size is slightly bigger.
@ -128,7 +152,7 @@ config BUSYBOX_CONFIG_FEATURE_EDITING_SAVE_ON_EXIT
config BUSYBOX_CONFIG_FEATURE_REVERSE_SEARCH config BUSYBOX_CONFIG_FEATURE_REVERSE_SEARCH
bool "Reverse history search" bool "Reverse history search"
default BUSYBOX_DEFAULT_FEATURE_REVERSE_SEARCH default BUSYBOX_DEFAULT_FEATURE_REVERSE_SEARCH
depends on BUSYBOX_CONFIG_FEATURE_EDITING_SAVEHISTORY depends on BUSYBOX_CONFIG_FEATURE_EDITING
help help
Enable readline-like Ctrl-R combination for reverse history search. Enable readline-like Ctrl-R combination for reverse history search.
Increases code by about 0.5k. Increases code by about 0.5k.

@ -6,18 +6,6 @@
menu "Login/Password Management Utilities" menu "Login/Password Management Utilities"
config BUSYBOX_CONFIG_ADD_SHELL
bool "add-shell"
default BUSYBOX_DEFAULT_ADD_SHELL if BUSYBOX_CONFIG_DESKTOP
help
Add shells to /etc/shells.
config BUSYBOX_CONFIG_REMOVE_SHELL
bool "remove-shell"
default BUSYBOX_DEFAULT_REMOVE_SHELL if BUSYBOX_CONFIG_DESKTOP
help
Remove shells from /etc/shells.
config BUSYBOX_CONFIG_FEATURE_SHADOWPASSWDS config BUSYBOX_CONFIG_FEATURE_SHADOWPASSWDS
bool "Support for shadow passwords" bool "Support for shadow passwords"
default BUSYBOX_DEFAULT_FEATURE_SHADOWPASSWDS default BUSYBOX_DEFAULT_FEATURE_SHADOWPASSWDS
@ -104,6 +92,38 @@ config BUSYBOX_CONFIG_USE_BB_CRYPT_SHA
With this option off, login will fail password check for any With this option off, login will fail password check for any
user which has password encrypted with these algorithms. user which has password encrypted with these algorithms.
config BUSYBOX_CONFIG_ADD_SHELL
bool "add-shell"
default BUSYBOX_DEFAULT_ADD_SHELL if BUSYBOX_CONFIG_DESKTOP
help
Add shells to /etc/shells.
config BUSYBOX_CONFIG_REMOVE_SHELL
bool "remove-shell"
default BUSYBOX_DEFAULT_REMOVE_SHELL if BUSYBOX_CONFIG_DESKTOP
help
Remove shells from /etc/shells.
config BUSYBOX_CONFIG_ADDGROUP
bool "addgroup"
default BUSYBOX_DEFAULT_ADDGROUP
help
Utility for creating a new group account.
config BUSYBOX_CONFIG_FEATURE_ADDGROUP_LONG_OPTIONS
bool "Enable long options"
default BUSYBOX_DEFAULT_FEATURE_ADDGROUP_LONG_OPTIONS
depends on BUSYBOX_CONFIG_ADDGROUP && BUSYBOX_CONFIG_LONG_OPTS
help
Support long options for the addgroup applet.
config BUSYBOX_CONFIG_FEATURE_ADDUSER_TO_GROUP
bool "Support for adding users to groups"
default BUSYBOX_DEFAULT_FEATURE_ADDUSER_TO_GROUP
depends on BUSYBOX_CONFIG_ADDGROUP
help
If called with two non-option arguments,
addgroup will add an existing user to an
existing group.
config BUSYBOX_CONFIG_ADDUSER config BUSYBOX_CONFIG_ADDUSER
bool "adduser" bool "adduser"
default BUSYBOX_DEFAULT_ADDUSER default BUSYBOX_DEFAULT_ADDUSER
@ -151,29 +171,33 @@ config BUSYBOX_CONFIG_LAST_SYSTEM_ID
default BUSYBOX_DEFAULT_LAST_SYSTEM_ID default BUSYBOX_DEFAULT_LAST_SYSTEM_ID
help help
Last valid system uid or gid for adduser and addgroup Last valid system uid or gid for adduser and addgroup
config BUSYBOX_CONFIG_CHPASSWD
config BUSYBOX_CONFIG_ADDGROUP bool "chpasswd"
bool "addgroup" default BUSYBOX_DEFAULT_CHPASSWD
default BUSYBOX_DEFAULT_ADDGROUP
help 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_CONFIG_FEATURE_ADDGROUP_LONG_OPTIONS config BUSYBOX_CONFIG_FEATURE_DEFAULT_PASSWD_ALGO
bool "Enable long options" string "Default password encryption method (passwd -a, cryptpw -m parameter)"
default BUSYBOX_DEFAULT_FEATURE_ADDGROUP_LONG_OPTIONS default BUSYBOX_DEFAULT_FEATURE_DEFAULT_PASSWD_ALGO
depends on BUSYBOX_CONFIG_ADDGROUP && BUSYBOX_CONFIG_LONG_OPTS depends on BUSYBOX_CONFIG_PASSWD || BUSYBOX_CONFIG_CRYPTPW
help help
Support long options for the addgroup applet. Possible choices are "d[es]", "m[d5]", "s[ha256]" or "sha512".
config BUSYBOX_CONFIG_CRYPTPW
config BUSYBOX_CONFIG_FEATURE_ADDUSER_TO_GROUP bool "cryptpw"
bool "Support for adding users to groups" default BUSYBOX_DEFAULT_CRYPTPW
default BUSYBOX_DEFAULT_FEATURE_ADDUSER_TO_GROUP
depends on BUSYBOX_CONFIG_ADDGROUP
help help
If called with two non-option arguments, Encrypts the given password with the crypt(3) libc function
addgroup will add an existing user to an using the given salt.
existing group.
config BUSYBOX_CONFIG_MKPASSWD
bool "mkpasswd"
default BUSYBOX_DEFAULT_MKPASSWD
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_CONFIG_DELUSER config BUSYBOX_CONFIG_DELUSER
bool "deluser" bool "deluser"
default BUSYBOX_DEFAULT_DELUSER default BUSYBOX_DEFAULT_DELUSER
@ -193,7 +217,6 @@ config BUSYBOX_CONFIG_FEATURE_DEL_USER_FROM_GROUP
help help
If called with two non-option arguments, deluser If called with two non-option arguments, deluser
or delgroup will remove an user from a specified group. or delgroup will remove an user from a specified group.
config BUSYBOX_CONFIG_GETTY config BUSYBOX_CONFIG_GETTY
bool "getty" bool "getty"
default BUSYBOX_DEFAULT_GETTY default BUSYBOX_DEFAULT_GETTY
@ -212,7 +235,6 @@ config BUSYBOX_CONFIG_GETTY
printf "%s login: " "`hostname`" printf "%s login: " "`hostname`"
read -r login read -r login
exec /bin/login "$login" exec /bin/login "$login"
config BUSYBOX_CONFIG_LOGIN config BUSYBOX_CONFIG_LOGIN
bool "login" bool "login"
default BUSYBOX_DEFAULT_LOGIN default BUSYBOX_DEFAULT_LOGIN
@ -258,7 +280,6 @@ config BUSYBOX_CONFIG_FEATURE_SECURETTY
The file /etc/securetty is used by (some versions of) login(1). The file /etc/securetty is used by (some versions of) login(1).
The file contains the device names of tty lines (one per line, The file contains the device names of tty lines (one per line,
without leading /dev/) on which root is allowed to login. without leading /dev/) on which root is allowed to login.
config BUSYBOX_CONFIG_PASSWD config BUSYBOX_CONFIG_PASSWD
bool "passwd" bool "passwd"
default BUSYBOX_DEFAULT_PASSWD default BUSYBOX_DEFAULT_PASSWD
@ -278,29 +299,6 @@ config BUSYBOX_CONFIG_FEATURE_PASSWD_WEAK_CHECK
depends on BUSYBOX_CONFIG_PASSWD depends on BUSYBOX_CONFIG_PASSWD
help help
With this option passwd will refuse new passwords which are "weak". With this option passwd will refuse new passwords which are "weak".
config BUSYBOX_CONFIG_CRYPTPW
bool "cryptpw"
default BUSYBOX_DEFAULT_CRYPTPW
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_CONFIG_CHPASSWD
bool "chpasswd"
default BUSYBOX_DEFAULT_CHPASSWD
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_CONFIG_FEATURE_DEFAULT_PASSWD_ALGO
string "Default password encryption method (passwd -a, cryptpw -m parameter)"
default BUSYBOX_DEFAULT_FEATURE_DEFAULT_PASSWD_ALGO
depends on BUSYBOX_CONFIG_PASSWD || BUSYBOX_CONFIG_CRYPTPW
help
Possible choices are "d[es]", "m[d5]", "s[ha256]" or "sha512".
config BUSYBOX_CONFIG_SU config BUSYBOX_CONFIG_SU
bool "su" bool "su"
default BUSYBOX_DEFAULT_SU default BUSYBOX_DEFAULT_SU
@ -321,7 +319,6 @@ config BUSYBOX_CONFIG_FEATURE_SU_CHECKS_SHELLS
bool "Enable su to check user's shell to be listed in /etc/shells" bool "Enable su to check user's shell to be listed in /etc/shells"
depends on BUSYBOX_CONFIG_SU depends on BUSYBOX_CONFIG_SU
default BUSYBOX_DEFAULT_FEATURE_SU_CHECKS_SHELLS default BUSYBOX_DEFAULT_FEATURE_SU_CHECKS_SHELLS
config BUSYBOX_CONFIG_SULOGIN config BUSYBOX_CONFIG_SULOGIN
bool "sulogin" bool "sulogin"
default BUSYBOX_DEFAULT_SULOGIN default BUSYBOX_DEFAULT_SULOGIN
@ -329,7 +326,6 @@ config BUSYBOX_CONFIG_SULOGIN
help help
sulogin is invoked when the system goes into single user sulogin is invoked when the system goes into single user
mode (this is done through an entry in inittab). mode (this is done through an entry in inittab).
config BUSYBOX_CONFIG_VLOCK config BUSYBOX_CONFIG_VLOCK
bool "vlock" bool "vlock"
default BUSYBOX_DEFAULT_VLOCK default BUSYBOX_DEFAULT_VLOCK

@ -246,6 +246,12 @@ config BUSYBOX_CONFIG_UBIUPDATEVOL
select BUSYBOX_CONFIG_PLATFORM_LINUX select BUSYBOX_CONFIG_PLATFORM_LINUX
help help
Update a UBI volume. Update a UBI volume.
config BUSYBOX_CONFIG_UBIRENAME
bool "ubirename"
default BUSYBOX_DEFAULT_UBIRENAME
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
Utility to rename UBI volumes
config BUSYBOX_CONFIG_WALL config BUSYBOX_CONFIG_WALL
bool "wall" bool "wall"
default BUSYBOX_DEFAULT_WALL default BUSYBOX_DEFAULT_WALL
@ -554,23 +560,13 @@ config BUSYBOX_CONFIG_LAST
help help
'last' displays a list of the last users that logged into the system. 'last' displays a list of the last users that logged into the system.
choice
prompt "Choose last implementation"
depends on BUSYBOX_CONFIG_LAST
default BUSYBOX_CONFIG_FEATURE_LAST_FANCY
config BUSYBOX_CONFIG_FEATURE_LAST_SMALL
bool "small"
help
This is a small version of last with just the basic set of
features.
config BUSYBOX_CONFIG_FEATURE_LAST_FANCY config BUSYBOX_CONFIG_FEATURE_LAST_FANCY
bool "huge" bool "Turn on output of extra information"
default BUSYBOX_DEFAULT_FEATURE_LAST_FANCY
depends on BUSYBOX_CONFIG_LAST
help help
'last' displays detailed information about the last users that 'last' displays detailed information about the last users that
logged into the system (mimics sysvinit last). +900 bytes. logged into the system (mimics sysvinit last). +900 bytes.
endchoice
config BUSYBOX_CONFIG_HDPARM config BUSYBOX_CONFIG_HDPARM
bool "hdparm" bool "hdparm"

@ -44,9 +44,6 @@ config BUSYBOX_CONFIG_MODPROBE_SMALL
- rmmod is an alias to modprobe -r - rmmod is an alias to modprobe -r
- depmod generates modules.dep.bb - depmod generates modules.dep.bb
As of 2008-07, this code is experimental. It is 14kb smaller
than "non-small" modutils.
config BUSYBOX_CONFIG_FEATURE_MODPROBE_SMALL_OPTIONS_ON_CMDLINE config BUSYBOX_CONFIG_FEATURE_MODPROBE_SMALL_OPTIONS_ON_CMDLINE
bool "Accept module options on modprobe command line" bool "Accept module options on modprobe command line"
default BUSYBOX_DEFAULT_FEATURE_MODPROBE_SMALL_OPTIONS_ON_CMDLINE default BUSYBOX_DEFAULT_FEATURE_MODPROBE_SMALL_OPTIONS_ON_CMDLINE

@ -673,7 +673,7 @@ config BUSYBOX_CONFIG_FEATURE_INETD_SUPPORT_BUILTIN_CHARGEN
config BUSYBOX_CONFIG_FEATURE_INETD_RPC config BUSYBOX_CONFIG_FEATURE_INETD_RPC
bool "Support RPC services" bool "Support RPC services"
default BUSYBOX_DEFAULT_FEATURE_INETD_RPC default BUSYBOX_DEFAULT_FEATURE_INETD_RPC # very rarely used, and needs Sun RPC support in libc
depends on BUSYBOX_CONFIG_INETD depends on BUSYBOX_CONFIG_INETD
select BUSYBOX_CONFIG_FEATURE_HAVE_RPC select BUSYBOX_CONFIG_FEATURE_HAVE_RPC
help help
@ -730,6 +730,13 @@ config BUSYBOX_CONFIG_FEATURE_IP_RULE
help help
Add support for rule commands to "ip". Add support for rule commands to "ip".
config BUSYBOX_CONFIG_FEATURE_IP_NEIGH
bool "ip neighbor"
default BUSYBOX_DEFAULT_FEATURE_IP_NEIGH
depends on BUSYBOX_CONFIG_IP
help
Add support for neighbor commands to "ip".
config BUSYBOX_CONFIG_FEATURE_IP_SHORT_FORMS config BUSYBOX_CONFIG_FEATURE_IP_SHORT_FORMS
bool "Support short forms of ip commands" bool "Support short forms of ip commands"
default BUSYBOX_DEFAULT_FEATURE_IP_SHORT_FORMS default BUSYBOX_DEFAULT_FEATURE_IP_SHORT_FORMS
@ -741,6 +748,7 @@ config BUSYBOX_CONFIG_FEATURE_IP_SHORT_FORMS
ip route -> iproute ip route -> iproute
ip tunnel -> iptunnel ip tunnel -> iptunnel
ip rule -> iprule ip rule -> iprule
ip neigh -> ipneigh
Say N unless you desparately need the short form of the ip Say N unless you desparately need the short form of the ip
object commands. object commands.
@ -780,6 +788,11 @@ config BUSYBOX_CONFIG_IPRULE
default BUSYBOX_DEFAULT_IPRULE default BUSYBOX_DEFAULT_IPRULE
depends on BUSYBOX_CONFIG_FEATURE_IP_SHORT_FORMS && BUSYBOX_CONFIG_FEATURE_IP_RULE depends on BUSYBOX_CONFIG_FEATURE_IP_SHORT_FORMS && BUSYBOX_CONFIG_FEATURE_IP_RULE
config BUSYBOX_CONFIG_IPNEIGH
bool
default BUSYBOX_DEFAULT_IPNEIGH
depends on BUSYBOX_CONFIG_FEATURE_IP_SHORT_FORMS && BUSYBOX_CONFIG_FEATURE_IP_NEIGH
config BUSYBOX_CONFIG_IPCALC config BUSYBOX_CONFIG_IPCALC
bool "ipcalc" bool "ipcalc"
default BUSYBOX_DEFAULT_IPCALC default BUSYBOX_DEFAULT_IPCALC

@ -6,13 +6,11 @@
menu "Print Utilities" menu "Print Utilities"
config BUSYBOX_CONFIG_LPD config BUSYBOX_CONFIG_LPD
bool "lpd" bool "lpd"
default BUSYBOX_DEFAULT_LPD default BUSYBOX_DEFAULT_LPD
help help
lpd is a print spooling daemon. lpd is a print spooling daemon.
config BUSYBOX_CONFIG_LPR config BUSYBOX_CONFIG_LPR
bool "lpr" bool "lpr"
default BUSYBOX_DEFAULT_LPR default BUSYBOX_DEFAULT_LPR

@ -6,14 +6,43 @@
menu "Runit Utilities" menu "Runit Utilities"
config BUSYBOX_CONFIG_CHPST
bool "chpst"
default BUSYBOX_DEFAULT_CHPST
help
chpst changes the process state according to the given options, and
execs specified program.
config BUSYBOX_CONFIG_SETUIDGID
bool "setuidgid"
default BUSYBOX_DEFAULT_SETUIDGID
help
Sets soft resource limits as specified by options
config BUSYBOX_CONFIG_ENVUIDGID
bool "envuidgid"
default BUSYBOX_DEFAULT_ENVUIDGID
help
Sets $UID to account's uid and $GID to account's gid
config BUSYBOX_CONFIG_ENVDIR
bool "envdir"
default BUSYBOX_DEFAULT_ENVDIR
help
Sets various environment variables as specified by files
in the given directory
config BUSYBOX_CONFIG_SOFTLIMIT
bool "softlimit"
default BUSYBOX_DEFAULT_SOFTLIMIT
help
Sets soft resource limits as specified by options
config BUSYBOX_CONFIG_RUNSV config BUSYBOX_CONFIG_RUNSV
bool "runsv" bool "runsv"
default BUSYBOX_DEFAULT_RUNSV default BUSYBOX_DEFAULT_RUNSV
help help
runsv starts and monitors a service and optionally an appendant log runsv starts and monitors a service and optionally an appendant log
service. service.
config BUSYBOX_CONFIG_RUNSVDIR config BUSYBOX_CONFIG_RUNSVDIR
bool "runsvdir" bool "runsvdir"
default BUSYBOX_DEFAULT_RUNSVDIR default BUSYBOX_DEFAULT_RUNSVDIR
@ -30,7 +59,6 @@ config BUSYBOX_CONFIG_FEATURE_RUNSVDIR_LOG
Enable feature where second parameter of runsvdir holds last error Enable feature where second parameter of runsvdir holds last error
message (viewable via top/ps). Otherwise (feature is off message (viewable via top/ps). Otherwise (feature is off
or no parameter), error messages go to stderr only. or no parameter), error messages go to stderr only.
config BUSYBOX_CONFIG_SV config BUSYBOX_CONFIG_SV
bool "sv" bool "sv"
default BUSYBOX_DEFAULT_SV default BUSYBOX_DEFAULT_SV
@ -45,7 +73,6 @@ config BUSYBOX_CONFIG_SV_DEFAULT_SERVICE_DIR
help help
Default directory for services. Default directory for services.
Defaults to "/var/service" Defaults to "/var/service"
config BUSYBOX_CONFIG_SVLOGD config BUSYBOX_CONFIG_SVLOGD
bool "svlogd" bool "svlogd"
default BUSYBOX_DEFAULT_SVLOGD default BUSYBOX_DEFAULT_SVLOGD
@ -54,36 +81,4 @@ config BUSYBOX_CONFIG_SVLOGD
filters log messages, and writes the data to one or more automatically filters log messages, and writes the data to one or more automatically
rotated logs. rotated logs.
config BUSYBOX_CONFIG_CHPST
bool "chpst"
default BUSYBOX_DEFAULT_CHPST
help
chpst changes the process state according to the given options, and
execs specified program.
config BUSYBOX_CONFIG_SETUIDGID
bool "setuidgid"
default BUSYBOX_DEFAULT_SETUIDGID
help
Sets soft resource limits as specified by options
config BUSYBOX_CONFIG_ENVUIDGID
bool "envuidgid"
default BUSYBOX_DEFAULT_ENVUIDGID
help
Sets $UID to account's uid and $GID to account's gid
config BUSYBOX_CONFIG_ENVDIR
bool "envdir"
default BUSYBOX_DEFAULT_ENVDIR
help
Sets various environment variables as specified by files
in the given directory
config BUSYBOX_CONFIG_SOFTLIMIT
bool "softlimit"
default BUSYBOX_DEFAULT_SOFTLIMIT
help
Sets soft resource limits as specified by options
endmenu endmenu

@ -6,6 +6,64 @@
menu "System Logging Utilities" menu "System Logging Utilities"
config BUSYBOX_CONFIG_KLOGD
bool "klogd"
default BUSYBOX_DEFAULT_KLOGD
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_CONFIG_KLOGD && BUSYBOX_CONFIG_FEATURE_KMSG_SYSLOG
config BUSYBOX_CONFIG_FEATURE_KLOGD_KLOGCTL
bool "Use the klogctl() interface"
default BUSYBOX_DEFAULT_FEATURE_KLOGD_KLOGCTL
depends on BUSYBOX_CONFIG_KLOGD
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
The klogd applet supports two interfaces for reading
kernel messages. Linux provides the klogctl() interface
which allows reading messages from the kernel ring buffer
independently from the file system.
If you answer 'N' here, klogd will use the more portable
approach of reading them from /proc or a device node.
However, this method requires the file to be available.
If in doubt, say 'Y'.
config BUSYBOX_CONFIG_LOGGER
bool "logger"
default BUSYBOX_DEFAULT_LOGGER
select BUSYBOX_CONFIG_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_CONFIG_LOGREAD
bool "logread"
default BUSYBOX_DEFAULT_LOGREAD
depends on BUSYBOX_CONFIG_FEATURE_IPC_SYSLOG
help
If you enabled Circular Buffer support, you almost
certainly want to enable this feature as well. This
utility will allow you to read the messages that are
stored in the syslogd circular buffer.
config BUSYBOX_CONFIG_FEATURE_LOGREAD_REDUCED_LOCKING
bool "Double buffering"
default BUSYBOX_DEFAULT_FEATURE_LOGREAD_REDUCED_LOCKING
depends on BUSYBOX_CONFIG_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_CONFIG_SYSLOGD config BUSYBOX_CONFIG_SYSLOGD
bool "syslogd" bool "syslogd"
@ -28,7 +86,7 @@ config BUSYBOX_CONFIG_FEATURE_ROTATE_LOGFILE
depends on BUSYBOX_CONFIG_SYSLOGD depends on BUSYBOX_CONFIG_SYSLOGD
help help
This enables syslogd to rotate the message files This enables syslogd to rotate the message files
on his own. No need to use an external rotatescript. on his own. No need to use an external rotate script.
config BUSYBOX_CONFIG_FEATURE_REMOTE_LOG config BUSYBOX_CONFIG_FEATURE_REMOTE_LOG
bool "Remote Log support" bool "Remote Log support"
@ -92,27 +150,6 @@ config BUSYBOX_CONFIG_FEATURE_IPC_SYSLOG_BUFFER_SIZE
This option sets the size of the circular buffer This option sets the size of the circular buffer
used to record system log messages. used to record system log messages.
config BUSYBOX_CONFIG_LOGREAD
bool "logread"
default BUSYBOX_DEFAULT_LOGREAD
depends on BUSYBOX_CONFIG_FEATURE_IPC_SYSLOG
help
If you enabled Circular Buffer support, you almost
certainly want to enable this feature as well. This
utility will allow you to read the messages that are
stored in the syslogd circular buffer.
config BUSYBOX_CONFIG_FEATURE_LOGREAD_REDUCED_LOCKING
bool "Double buffering"
default BUSYBOX_DEFAULT_FEATURE_LOGREAD_REDUCED_LOCKING
depends on BUSYBOX_CONFIG_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_CONFIG_FEATURE_KMSG_SYSLOG config BUSYBOX_CONFIG_FEATURE_KMSG_SYSLOG
bool "Linux kernel printk buffer support" bool "Linux kernel printk buffer support"
default BUSYBOX_DEFAULT_FEATURE_KMSG_SYSLOG default BUSYBOX_DEFAULT_FEATURE_KMSG_SYSLOG
@ -126,44 +163,4 @@ config BUSYBOX_CONFIG_FEATURE_KMSG_SYSLOG
NOTICE: Syslog facilities in log entries needs kernel 3.5+. NOTICE: Syslog facilities in log entries needs kernel 3.5+.
config BUSYBOX_CONFIG_KLOGD
bool "klogd"
default BUSYBOX_DEFAULT_KLOGD
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_CONFIG_KLOGD && BUSYBOX_CONFIG_FEATURE_KMSG_SYSLOG
config BUSYBOX_CONFIG_FEATURE_KLOGD_KLOGCTL
bool "Use the klogctl() interface"
default BUSYBOX_DEFAULT_FEATURE_KLOGD_KLOGCTL
depends on BUSYBOX_CONFIG_KLOGD
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
The klogd applet supports two interfaces for reading
kernel messages. Linux provides the klogctl() interface
which allows reading messages from the kernel ring buffer
independently from the file system.
If you answer 'N' here, klogd will use the more portable
approach of reading them from /proc or a device node.
However, this method requires the file to be available.
If in doubt, say 'Y'.
config BUSYBOX_CONFIG_LOGGER
bool "logger"
default BUSYBOX_DEFAULT_LOGGER
select BUSYBOX_CONFIG_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.
endmenu endmenu

@ -6,6 +6,11 @@
menu "Linux System Utilities" menu "Linux System Utilities"
config BUSYBOX_CONFIG_BLKDISCARD
bool "blkdiscard"
default BUSYBOX_DEFAULT_BLKDISCARD
help
blkdiscard discards sectors on a given device.
config BUSYBOX_CONFIG_BLOCKDEV config BUSYBOX_CONFIG_BLOCKDEV
bool "blockdev" bool "blockdev"
default BUSYBOX_DEFAULT_BLOCKDEV default BUSYBOX_DEFAULT_BLOCKDEV
@ -174,11 +179,34 @@ config BUSYBOX_CONFIG_FEATURE_MOUNT_OTHERTAB
default BUSYBOX_DEFAULT_FEATURE_MOUNT_OTHERTAB default BUSYBOX_DEFAULT_FEATURE_MOUNT_OTHERTAB
help help
Support mount -T (specifying an alternate fstab) Support mount -T (specifying an alternate fstab)
config BUSYBOX_CONFIG_NSENTER
bool "nsenter"
default BUSYBOX_DEFAULT_NSENTER
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
Run program with namespaces of other processes.
config BUSYBOX_CONFIG_FEATURE_NSENTER_LONG_OPTS
bool "Enable long options"
default BUSYBOX_DEFAULT_FEATURE_NSENTER_LONG_OPTS
depends on BUSYBOX_CONFIG_NSENTER && BUSYBOX_CONFIG_LONG_OPTS
help
Support long options for the nsenter applet. This makes
the busybox implementation more compatible with upstream.
config BUSYBOX_CONFIG_REV config BUSYBOX_CONFIG_REV
bool "rev" bool "rev"
default BUSYBOX_DEFAULT_REV default BUSYBOX_DEFAULT_REV
help help
Reverse lines of a file or files. Reverse lines of a file or files.
config BUSYBOX_CONFIG_SETARCH
bool "setarch"
default BUSYBOX_DEFAULT_SETARCH
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
The linux32 utility is used to create a 32bit environment for the
specified program (usually a shell). It only makes sense to have
this util on a system that supports both 64bit and 32bit userland
(like amd64/x86, ppc64/ppc, sparc64/sparc, etc...).
config BUSYBOX_CONFIG_UEVENT config BUSYBOX_CONFIG_UEVENT
bool "uevent" bool "uevent"
default BUSYBOX_DEFAULT_UEVENT default BUSYBOX_DEFAULT_UEVENT
@ -186,6 +214,13 @@ config BUSYBOX_CONFIG_UEVENT
help help
uevent is a netlink listener for kernel uevent notifications uevent is a netlink listener for kernel uevent notifications
sent via netlink. It is usually used for dynamic device creation. sent via netlink. It is usually used for dynamic device creation.
config BUSYBOX_CONFIG_UNSHARE
bool "unshare"
default BUSYBOX_DEFAULT_UNSHARE
depends on BUSYBOX_CONFIG_LONG_OPTS && !BUSYBOX_CONFIG_NOMMU
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
Run program with some namespaces unshared from parent.
config BUSYBOX_CONFIG_ACPID config BUSYBOX_CONFIG_ACPID
bool "acpid" bool "acpid"
@ -669,16 +704,6 @@ config BUSYBOX_CONFIG_SCRIPTREPLAY
This program replays a typescript, using timing information This program replays a typescript, using timing information
given by script -t. given by script -t.
config BUSYBOX_CONFIG_SETARCH
bool "setarch"
default BUSYBOX_DEFAULT_SETARCH
select BUSYBOX_CONFIG_PLATFORM_LINUX
help
The linux32 utility is used to create a 32bit environment for the
specified program (usually a shell). It only makes sense to have
this util on a system that supports both 64bit and 32bit userland
(like amd64/x86, ppc64/ppc, sparc64/sparc, etc...).
config BUSYBOX_CONFIG_SWAPONOFF config BUSYBOX_CONFIG_SWAPONOFF
bool "swaponoff" bool "swaponoff"
default BUSYBOX_DEFAULT_SWAPONOFF default BUSYBOX_DEFAULT_SWAPONOFF

@ -12,6 +12,14 @@ menu "Filesystem/Volume identification"
depends on BUSYBOX_CONFIG_VOLUMEID depends on BUSYBOX_CONFIG_VOLUMEID
config BUSYBOX_CONFIG_FEATURE_VOLUMEID_BCACHE
bool "bcache filesystem"
default BUSYBOX_DEFAULT_FEATURE_VOLUMEID_BCACHE
depends on BUSYBOX_CONFIG_VOLUMEID
help
TODO
config BUSYBOX_CONFIG_FEATURE_VOLUMEID_BTRFS config BUSYBOX_CONFIG_FEATURE_VOLUMEID_BTRFS
bool "btrfs filesystem" bool "btrfs filesystem"
default BUSYBOX_DEFAULT_FEATURE_VOLUMEID_BTRFS default BUSYBOX_DEFAULT_FEATURE_VOLUMEID_BTRFS

@ -1,6 +1,6 @@
--- a/include/libbb.h --- a/include/libbb.h
+++ b/include/libbb.h +++ b/include/libbb.h
@@ -40,6 +40,7 @@ @@ -41,6 +41,7 @@
#include <poll.h> #include <poll.h>
#include <sys/ioctl.h> #include <sys/ioctl.h>
#include <sys/mman.h> #include <sys/mman.h>

@ -1,23 +0,0 @@
From: Felix Fietkau <nbd@nbd.name>
Date: Mon, 18 Jan 2016 12:03:45 +0100
Subject: [PATCH] networking: fix uninitialized memory when displaying IPv6
addresses
After commit 8e74adab0107658e3dc04ed342206272a284f43e
("libbb: make INET[6]_rresolve use sockaddr2{host,dotted}_noport")
INET_sprint6 uses more than just sin6_addr, it also tries to display the
scope id, which is uninitialized when called from ife_print6.
Signed-off-by: Felix Fietkau <nbd@nbd.name>
---
--- a/networking/interface.c
+++ b/networking/interface.c
@@ -881,6 +881,7 @@ static void ife_print6(struct interface
sprintf(addr6, "%s:%s:%s:%s:%s:%s:%s:%s",
addr6p[0], addr6p[1], addr6p[2], addr6p[3],
addr6p[4], addr6p[5], addr6p[6], addr6p[7]);
+ memset(&sap, 0, sizeof(sap));
inet_pton(AF_INET6, addr6,
(struct sockaddr *) &sap.sin6_addr);
sap.sin6_family = AF_INET6;

@ -10,7 +10,7 @@ Signed-off-by: Felix Fietkau <nbd@nbd.name>
--- a/networking/libiproute/iprule.c --- a/networking/libiproute/iprule.c
+++ b/networking/libiproute/iprule.c +++ b/networking/libiproute/iprule.c
@@ -119,7 +119,9 @@ static int FAST_FUNC print_rule(const st @@ -114,7 +114,9 @@ static int FAST_FUNC print_rule(const st
printf("iif %s ", (char*)RTA_DATA(tb[RTA_IIF])); printf("iif %s ", (char*)RTA_DATA(tb[RTA_IIF]));
} }

@ -1,75 +0,0 @@
From: Szabolcs Nagy <nsz@port70.net>
Date: Sun, 24 Apr 2016 17:39:02 +0200
Subject: [PATCH] ip: fix problem on mips64 n64 big endian musl systems
Use designated initializers for struct msghdr.
The struct layout is non-portable and musl libc does not match what busybox expects.
Signed-off-by: Szabolcs Nagy <nsz@port70.net>
Tested-by: Waldemar Brodkorb <wbx@openadk.org>
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
---
--- a/networking/libiproute/libnetlink.c
+++ b/networking/libiproute/libnetlink.c
@@ -71,11 +71,15 @@ int FAST_FUNC rtnl_dump_request(struct r
struct nlmsghdr nlh;
struct sockaddr_nl nladdr;
struct iovec iov[2] = { { &nlh, sizeof(nlh) }, { req, len } };
+ /* Use designated initializers, struct layout is non-portable */
struct msghdr msg = {
- (void*)&nladdr, sizeof(nladdr),
- iov, 2,
- NULL, 0,
- 0
+ .msg_name = (void*)&nladdr,
+ .msg_namelen = sizeof(nladdr),
+ .msg_iov = iov,
+ .msg_iovlen = 2,
+ .msg_control = NULL,
+ .msg_controllen = 0,
+ .msg_flags = 0
};
memset(&nladdr, 0, sizeof(nladdr));
@@ -104,12 +108,15 @@ static int rtnl_dump_filter(struct rtnl_
while (1) {
int status;
struct nlmsghdr *h;
-
+ /* Use designated initializers, struct layout is non-portable */
struct msghdr msg = {
- (void*)&nladdr, sizeof(nladdr),
- &iov, 1,
- NULL, 0,
- 0
+ .msg_name = (void*)&nladdr,
+ .msg_namelen = sizeof(nladdr),
+ .msg_iov = &iov,
+ .msg_iovlen = 1,
+ .msg_control = NULL,
+ .msg_controllen = 0,
+ .msg_flags = 0
};
status = recvmsg(rth->fd, &msg, 0);
@@ -211,11 +218,15 @@ int FAST_FUNC rtnl_talk(struct rtnl_hand
struct sockaddr_nl nladdr;
struct iovec iov = { (void*)n, n->nlmsg_len };
char *buf = xmalloc(8*1024); /* avoid big stack buffer */
+ /* Use designated initializers, struct layout is non-portable */
struct msghdr msg = {
- (void*)&nladdr, sizeof(nladdr),
- &iov, 1,
- NULL, 0,
- 0
+ .msg_name = (void*)&nladdr,
+ .msg_namelen = sizeof(nladdr),
+ .msg_iov = &iov,
+ .msg_iovlen = 1,
+ .msg_control = NULL,
+ .msg_controllen = 0,
+ .msg_flags = 0
};
memset(&nladdr, 0, sizeof(nladdr));

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

@ -1,6 +1,6 @@
--- a/networking/udhcp/dhcpc.c --- a/networking/udhcp/dhcpc.c
+++ b/networking/udhcp/dhcpc.c +++ b/networking/udhcp/dhcpc.c
@@ -695,6 +695,7 @@ static int bcast_or_ucast(struct dhcp_pa @@ -697,6 +697,7 @@ static int bcast_or_ucast(struct dhcp_pa
static NOINLINE int send_discover(uint32_t xid, uint32_t requested) static NOINLINE int send_discover(uint32_t xid, uint32_t requested)
{ {
struct dhcp_packet packet; struct dhcp_packet packet;
@ -8,11 +8,11 @@
/* Fill in: op, htype, hlen, cookie, chaddr fields, /* Fill in: op, htype, hlen, cookie, chaddr fields,
* random xid field (we override it below), * random xid field (we override it below),
@@ -712,6 +713,7 @@ static NOINLINE int send_discover(uint32 @@ -714,6 +715,7 @@ static NOINLINE int send_discover(uint32
*/ */
add_client_options(&packet); add_client_options(&packet);
+ if (msgs++ < 3) + if (msgs++ < 3)
bb_info_msg("Sending discover..."); bb_error_msg("sending %s", "discover");
return raw_bcast_from_client_config_ifindex(&packet); return raw_bcast_from_client_config_ifindex(&packet, INADDR_ANY);
} }

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

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

@ -1,51 +0,0 @@
--- a/networking/udhcp/dhcpc.c
+++ b/networking/udhcp/dhcpc.c
@@ -673,10 +673,10 @@ static void add_client_options(struct dh
* client reverts to using the IP broadcast address.
*/
-static int raw_bcast_from_client_config_ifindex(struct dhcp_packet *packet)
+static int raw_bcast_from_client_config_ifindex(struct dhcp_packet *packet, uint32_t src_nip)
{
return udhcp_send_raw_packet(packet,
- /*src*/ INADDR_ANY, CLIENT_PORT,
+ /*src*/ src_nip, CLIENT_PORT,
/*dst*/ INADDR_BROADCAST, SERVER_PORT, MAC_BCAST_ADDR,
client_config.ifindex);
}
@@ -687,7 +687,7 @@ static int bcast_or_ucast(struct dhcp_pa
return udhcp_send_kernel_packet(packet,
ciaddr, CLIENT_PORT,
server, SERVER_PORT);
- return raw_bcast_from_client_config_ifindex(packet);
+ return raw_bcast_from_client_config_ifindex(packet, ciaddr);
}
/* Broadcast a DHCP discover packet to the network, with an optionally requested IP */
@@ -715,7 +715,7 @@ static NOINLINE int send_discover(uint32
if (msgs++ < 3)
bb_info_msg("Sending discover...");
- return raw_bcast_from_client_config_ifindex(&packet);
+ return raw_bcast_from_client_config_ifindex(&packet, INADDR_ANY);
}
/* Broadcast a DHCP request message */
@@ -759,7 +759,7 @@ static NOINLINE int send_select(uint32_t
addr.s_addr = requested;
bb_info_msg("Sending select for %s...", inet_ntoa(addr));
- return raw_bcast_from_client_config_ifindex(&packet);
+ return raw_bcast_from_client_config_ifindex(&packet, INADDR_ANY);
}
/* Unicast or broadcast a DHCP renew message */
@@ -827,7 +827,7 @@ static NOINLINE int send_decline(/*uint3
udhcp_add_simple_option(&packet, DHCP_SERVER_ID, server);
bb_info_msg("Sending decline...");
- return raw_bcast_from_client_config_ifindex(&packet);
+ return raw_bcast_from_client_config_ifindex(&packet, INADDR_ANY);
}
#endif

@ -1,6 +1,6 @@
--- a/include/applets.src.h --- a/include/applets.src.h
+++ b/include/applets.src.h +++ b/include/applets.src.h
@@ -254,6 +254,7 @@ IF_MT(APPLET(mt, BB_DIR_BIN, BB_SUID_DRO @@ -229,6 +229,7 @@ IF_MT(APPLET(mt, BB_DIR_BIN, BB_SUID_DRO
IF_MV(APPLET(mv, BB_DIR_BIN, BB_SUID_DROP)) IF_MV(APPLET(mv, BB_DIR_BIN, BB_SUID_DROP))
IF_NAMEIF(APPLET(nameif, BB_DIR_SBIN, BB_SUID_DROP)) IF_NAMEIF(APPLET(nameif, BB_DIR_SBIN, BB_SUID_DROP))
IF_NC(APPLET(nc, BB_DIR_USR_BIN, BB_SUID_DROP)) IF_NC(APPLET(nc, BB_DIR_USR_BIN, BB_SUID_DROP))
@ -10,7 +10,7 @@
IF_NOHUP(APPLET(nohup, BB_DIR_USR_BIN, BB_SUID_DROP)) IF_NOHUP(APPLET(nohup, BB_DIR_USR_BIN, BB_SUID_DROP))
--- a/networking/Config.src --- a/networking/Config.src
+++ b/networking/Config.src +++ b/networking/Config.src
@@ -626,6 +626,12 @@ config FEATURE_IPCALC_LONG_OPTIONS @@ -639,6 +639,12 @@ config FEATURE_IPCALC_LONG_OPTIONS
help help
Support long options for the ipcalc applet. Support long options for the ipcalc applet.

@ -1,16 +1,16 @@
--- a/include/applets.src.h --- a/include/applets.src.h
+++ b/include/applets.src.h +++ b/include/applets.src.h
@@ -211,6 +211,7 @@ IF_LN(APPLET_NOEXEC(ln, ln, BB_DIR_BIN, @@ -196,6 +196,7 @@ IF_LN(APPLET_NOEXEC(ln, ln, BB_DIR_BIN,
IF_LOAD_POLICY(APPLET(load_policy, BB_DIR_USR_SBIN, BB_SUID_DROP)) IF_LOAD_POLICY(APPLET(load_policy, BB_DIR_USR_SBIN, BB_SUID_DROP))
IF_LOADFONT(APPLET(loadfont, BB_DIR_USR_SBIN, BB_SUID_DROP)) IF_LOADFONT(APPLET(loadfont, BB_DIR_USR_SBIN, BB_SUID_DROP))
IF_LOADKMAP(APPLET(loadkmap, BB_DIR_SBIN, BB_SUID_DROP)) IF_LOADKMAP(APPLET(loadkmap, BB_DIR_SBIN, BB_SUID_DROP))
+IF_LOCK(APPLET(lock, BB_DIR_BIN, BB_SUID_DROP)) +IF_LOCK(APPLET(lock, BB_DIR_BIN, BB_SUID_DROP))
IF_LOGGER(APPLET(logger, BB_DIR_USR_BIN, BB_SUID_DROP)) IF_LOGNAME(APPLET_NOFORK(logname, logname, BB_DIR_USR_BIN, BB_SUID_DROP, logname))
/* Needs to be run by root or be suid root - needs to change uid and gid: */ IF_LOSETUP(APPLET(losetup, BB_DIR_SBIN, BB_SUID_DROP))
IF_LOGIN(APPLET(login, BB_DIR_BIN, BB_SUID_REQUIRE)) IF_LS(APPLET_NOEXEC(ls, ls, BB_DIR_BIN, BB_SUID_DROP, ls))
--- a/miscutils/Config.src --- a/miscutils/Config.src
+++ b/miscutils/Config.src +++ b/miscutils/Config.src
@@ -385,6 +385,12 @@ config FEATURE_HDPARM_HDIO_GETSET_DMA @@ -375,6 +375,12 @@ config FEATURE_HDPARM_HDIO_GETSET_DMA
help help
Enables the 'hdparm -d' option to get/set using_dma flag. Enables the 'hdparm -d' option to get/set using_dma flag.
@ -25,9 +25,9 @@
default y default y
--- a/miscutils/Kbuild.src --- a/miscutils/Kbuild.src
+++ b/miscutils/Kbuild.src +++ b/miscutils/Kbuild.src
@@ -28,6 +28,7 @@ lib-$(CONFIG_INOTIFYD) += inotifyd.o @@ -33,6 +33,7 @@ lib-$(CONFIG_LAST) += last.o
lib-$(CONFIG_FEATURE_LAST_SMALL)+= last.o endif
lib-$(CONFIG_FEATURE_LAST_FANCY)+= last_fancy.o
lib-$(CONFIG_LESS) += less.o lib-$(CONFIG_LESS) += less.o
+lib-$(CONFIG_LOCK) += lock.o +lib-$(CONFIG_LOCK) += lock.o
lib-$(CONFIG_MAKEDEVS) += makedevs.o lib-$(CONFIG_MAKEDEVS) += makedevs.o

@ -1,48 +0,0 @@
--- a/networking/ntpd.c
+++ b/networking/ntpd.c
@@ -265,6 +265,7 @@ typedef struct {
typedef struct {
len_and_sockaddr *p_lsa;
char *p_dotted;
+ char *p_hostname;
int p_fd;
int datapoint_idx;
uint32_t lastpkt_refid;
@@ -766,8 +767,9 @@ add_peers(const char *s)
peer_t *p;
p = xzalloc(sizeof(*p));
- p->p_lsa = xhost2sockaddr(s, 123);
- p->p_dotted = xmalloc_sockaddr2dotted_noport(&p->p_lsa->u.sa);
+ p->p_hostname = s;
+ p->p_lsa = NULL;
+ p->p_dotted = NULL;
p->p_fd = -1;
p->p_xmt_msg.m_status = MODE_CLIENT | (NTP_VERSION << 3);
p->next_action_time = G.cur_time; /* = set_next(p, 0); */
@@ -816,6 +818,25 @@ send_query_to_peer(peer_t *p)
*
* Uncomment this and use strace to see it in action:
*/
+
+ /* See if the peer hostname already resolved yet, if not, retry to resolv and return on failure */
+ if (!p->p_lsa)
+ {
+ p->p_lsa = host2sockaddr(p->p_hostname, 123);
+
+ if (p->p_lsa)
+ {
+ p->p_dotted = xmalloc_sockaddr2dotted_noport(&p->p_lsa->u.sa);
+ VERB1 bb_error_msg("resolved peer %s to %s", p->p_hostname, p->p_dotted);
+ }
+ else
+ {
+ set_next(p, RETRY_INTERVAL);
+ VERB1 bb_error_msg("could not resolve peer %s, skipping", p->p_hostname);
+ return;
+ }
+ }
+
#define PROBE_LOCAL_ADDR /* { len_and_sockaddr lsa; lsa.len = LSA_SIZEOF_SA; getsockname(p->query.fd, &lsa.u.sa, &lsa.len); } */
if (p->p_fd == -1) {

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

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

@ -1,11 +0,0 @@
--- a/networking/arping.c
+++ b/networking/arping.c
@@ -24,6 +24,8 @@
#include <arpa/inet.h>
#include <net/if.h>
+#include <net/if_arp.h>
+#include <netinet/if_ether.h>
#include <netinet/ether.h>
#include <netpacket/packet.h>
Loading…
Cancel
Save