Initial commit
Some checks failed
Build Kernel / Build all affected Kernels (push) Has been cancelled
Build all core packages / Build all core packages for selected target (push) Has been cancelled
Build and Push prebuilt tools container / Build and Push all prebuilt containers (push) Has been cancelled
Build Toolchains / Build Toolchains for each target (push) Has been cancelled
Build host tools / Build host tools for linux and macos based systems (push) Has been cancelled
Coverity scan build / Coverity x86/64 build (push) Has been cancelled

This commit is contained in:
domenico
2025-06-24 12:51:15 +02:00
commit 27c9d80f51
10493 changed files with 1885777 additions and 0 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,21 @@
if PACKAGE_busybox || PACKAGE_busybox-selinux
config BUSYBOX_CUSTOM
bool "Customize busybox options"
default n
help
Enabling this allows full customization of busybox settings.
Note that there are many options here that can result in a build
that doesn't work properly. Enabling customization will mark your
build as "tainted" for the purpose of bug reports.
See the variables written to /etc/openwrt_release
Unless you know what you are doing, you should leave this as 'n'
source "Config-defaults.in"
if BUSYBOX_CUSTOM
source "config/Config.in"
endif
endif

View File

@@ -0,0 +1,162 @@
# SPDX-License-Identifier: GPL-2.0-or-later
#
# Copyright (C) 2006-2021 OpenWrt.org
include $(TOPDIR)/rules.mk
PKG_NAME:=busybox
PKG_VERSION:=1.36.1
PKG_RELEASE:=1
PKG_FLAGS:=essential
PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
PKG_SOURCE_URL:=https://www.busybox.net/downloads \
http://sources.buildroot.net
PKG_HASH:=b8cc24c9574d809e7279c3be349795c5d5ceb6fdf19ca709f80cde50e47de314
PKG_BUILD_DEPENDS:=BUSYBOX_CONFIG_PAM:libpam
PKG_BUILD_PARALLEL:=1
PKG_BUILD_FLAGS:=lto
PKG_CHECK_FORMAT_SECURITY:=0
PKG_LICENSE:=GPL-2.0
PKG_LICENSE_FILES:=LICENSE archival/libarchive/bz/LICENSE
PKG_CPE_ID:=cpe:/a:busybox:busybox
BUSYBOX_SYM=$(if $(CONFIG_BUSYBOX_CUSTOM),CONFIG,DEFAULT)
BUSYBOX_IF_ENABLED=$(if $(CONFIG_BUSYBOX_$(BUSYBOX_SYM)_$(1)),$(2))
ifneq ($(CONFIG_BUSYBOX_$(BUSYBOX_SYM)_FEATURE_SUID),)
PKG_FILE_MODES:=/bin/busybox:root:root:4755
endif
include $(INCLUDE_DIR)/package.mk
ifeq ($(DUMP),)
STAMP_CONFIGURED:=$(strip $(STAMP_CONFIGURED))_$(shell grep '^CONFIG_BUSYBOX_' $(TOPDIR)/.config | $(MKHASH) md5)
endif
# All files provided by busybox will serve as fallback alternatives by opkg.
# There should be no need to enumerate ALTERNATIVES entries here
define Package/busybox/Default
SECTION:=base
CATEGORY:=Base system
MAINTAINER:=Felix Fietkau <nbd@nbd.name>
TITLE:=Core utilities for embedded Linux
URL:=http://busybox.net/
DEPENDS:=+BUSYBOX_CONFIG_PAM:libpam +BUSYBOX_CONFIG_NTPD:jsonfilter
USERID:=ntp=123:ntp=123
endef
define Package/busybox
$(call Package/busybox/Default)
CONFLICTS:=busybox-selinux
VARIANT:=default
endef
define Package/busybox-selinux
$(call Package/busybox/Default)
TITLE += with SELinux support
DEPENDS += +libselinux
VARIANT:=selinux
PROVIDES:=busybox
endef
define Package/busybox/description
The Swiss Army Knife of embedded Linux.
It slices, it dices, it makes Julian Fries.
endef
define Package/busybox/config
source "$(SOURCE)/Config.in"
endef
ifneq ($(CONFIG_BUSYBOX_$(BUSYBOX_SYM)_FEATURE_SYSLOG)$(CONFIG_BUSYBOX_$(BUSYBOX_SYM)_FEATURE_SYSLOGD_CFG),)
define Package/busybox/conffiles/syslog
/etc/syslog.conf
endef
endif
ifneq ($(CONFIG_BUSYBOX_$(BUSYBOX_SYM)_CROND),)
define Package/busybox/conffiles/crond
/etc/crontabs/
endef
endif
define Package/busybox/conffiles
$(Package/busybox/conffiles/syslog)
$(Package/busybox/conffiles/crond)
endef
Package/busybox-selinux/conffiles = $(Package/busybox/conffiles)
ifndef CONFIG_USE_MUSL
LDLIBS:=m crypt
endif
LDLIBS += $(call BUSYBOX_IF_ENABLED,PAM,pam pam_misc pthread)
ifeq ($(CONFIG_USE_GLIBC),y)
LDLIBS += $(call BUSYBOX_IF_ENABLED,NSLOOKUP,resolv)
endif
ifeq ($(BUILD_VARIANT),selinux)
LDLIBS += selinux sepol
endif
MAKE_VARS :=
MAKE_FLAGS += \
EXTRA_CFLAGS="$(TARGET_CFLAGS) $(TARGET_CPPFLAGS)" \
EXTRA_LDFLAGS="$(TARGET_LDFLAGS)" \
LDLIBS="$(LDLIBS)" \
LD="$(TARGET_CC)" \
SKIP_STRIP=y
ifneq ($(findstring c,$(OPENWRT_VERBOSE)),)
MAKE_FLAGS += V=1
endif
define Build/Configure
rm -f $(PKG_BUILD_DIR)/.config
touch $(PKG_BUILD_DIR)/.config
ifeq ($(DEVICE_TYPE),nas)
echo "CONFIG_HDPARM=y" >> $(PKG_BUILD_DIR)/.config
endif
ifeq ($(BUILD_VARIANT),selinux)
cat $(TOPDIR)/$(SOURCE)/selinux.config >> $(PKG_BUILD_DIR)/.config
endif
grep 'CONFIG_BUSYBOX_$(BUSYBOX_SYM)' $(TOPDIR)/.config | sed -e "s,\\(# \)\\?CONFIG_BUSYBOX_$(BUSYBOX_SYM)_\\(.*\\),\\1CONFIG_\\2,g" >> $(PKG_BUILD_DIR)/.config
yes 'n' | $(MAKE) -C $(PKG_BUILD_DIR) $(MAKE_FLAGS) oldconfig
endef
define Build/Compile
$(call Build/Compile/Default, \
CONFIG_PREFIX="$(PKG_INSTALL_DIR)" \
all install \
)
endef
define Package/busybox/install
$(INSTALL_DIR) $(1)/etc/init.d
$(INSTALL_DIR) $(1)/usr/sbin
$(CP) $(PKG_INSTALL_DIR)/* $(1)/
ifneq ($(CONFIG_BUSYBOX_$(BUSYBOX_SYM)_FEATURE_SYSLOG)$(CONFIG_BUSYBOX_$(BUSYBOX_SYM)_FEATURE_SYSLOGD_CFG),)
touch $(1)/etc/syslog.conf
endif
ifneq ($(CONFIG_BUSYBOX_$(BUSYBOX_SYM)_CROND),)
$(INSTALL_BIN) ./files/cron $(1)/etc/init.d/cron
$(INSTALL_DIR) $(1)/etc/crontabs
endif
ifneq ($(CONFIG_BUSYBOX_$(BUSYBOX_SYM)_NTPD),)
$(INSTALL_BIN) ./files/sysntpd $(1)/etc/init.d/sysntpd
$(INSTALL_BIN) ./files/ntpd-hotplug $(1)/usr/sbin/ntpd-hotplug
$(INSTALL_DIR) $(1)/etc/capabilities $(1)/usr/share/acl.d
$(INSTALL_DATA) ./files/ntpd.capabilities $(1)/etc/capabilities/ntpd.json
$(INSTALL_DATA) ./files/ntpd_acl.json $(1)/usr/share/acl.d/ntpd.json
endif
-rm -rf $(1)/lib64
endef
Package/busybox-selinux/install = $(Package/busybox/install)
$(eval $(call BuildPackage,busybox))
$(eval $(call BuildPackage,busybox-selinux))

View File

@@ -0,0 +1,741 @@
#
# For a description of the syntax of this configuration file,
# see docs/Kconfig-language.txt.
#
config BUSYBOX_CONFIG_HAVE_DOT_CONFIG
bool
default BUSYBOX_DEFAULT_HAVE_DOT_CONFIG
menu "Settings"
config BUSYBOX_CONFIG_DESKTOP
bool "Enable compatibility for full-blown desktop systems (8kb)"
default BUSYBOX_DEFAULT_DESKTOP
help
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_CONFIG_EXTRA_COMPAT
bool "Provide compatible behavior for rare corner cases (bigger code)"
default BUSYBOX_DEFAULT_EXTRA_COMPAT
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.
config BUSYBOX_CONFIG_FEDORA_COMPAT
bool "Building for Fedora distribution"
default BUSYBOX_DEFAULT_FEDORA_COMPAT
help
This option makes some tools behave like they do on Fedora.
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_CONFIG_INCLUDE_SUSv2
bool "Enable obsolete features removed before SUSv3"
default BUSYBOX_DEFAULT_INCLUDE_SUSv2
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.)
config BUSYBOX_CONFIG_LONG_OPTS
bool "Support --long-options"
default BUSYBOX_DEFAULT_LONG_OPTS
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.
config BUSYBOX_CONFIG_SHOW_USAGE
bool "Show applet usage messages"
default BUSYBOX_DEFAULT_SHOW_USAGE
help
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_CONFIG_FEATURE_VERBOSE_USAGE
bool "Show verbose applet usage messages"
default BUSYBOX_DEFAULT_FEATURE_VERBOSE_USAGE
depends on BUSYBOX_CONFIG_SHOW_USAGE
help
All applets will show verbose help messages when invoked with --help.
This will add a lot of text to the binary.
config BUSYBOX_CONFIG_FEATURE_COMPRESS_USAGE
bool "Store applet usage messages in compressed form"
default BUSYBOX_DEFAULT_FEATURE_COMPRESS_USAGE
depends on BUSYBOX_CONFIG_SHOW_USAGE
help
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.
config BUSYBOX_CONFIG_LFS
bool
default BUSYBOX_DEFAULT_LFS
help
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_CONFIG_PAM
bool "Support PAM (Pluggable Authentication Modules)"
default BUSYBOX_DEFAULT_PAM
help
Use PAM in some applets (currently login and httpd) instead
of direct access to password database.
config BUSYBOX_CONFIG_FEATURE_DEVPTS
bool "Use the devpts filesystem for Unix98 PTYs"
default BUSYBOX_DEFAULT_FEATURE_DEVPTS
help
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_CONFIG_FEATURE_UTMP
bool "Support utmp file"
default BUSYBOX_DEFAULT_FEATURE_UTMP
help
The file /var/run/utmp is used to track who is currently logged in.
With this option on, certain applets (getty, login, telnetd etc)
will create and delete entries there.
"who" applet requires this option.
config BUSYBOX_CONFIG_FEATURE_WTMP
bool "Support wtmp file"
default BUSYBOX_DEFAULT_FEATURE_WTMP
depends on BUSYBOX_CONFIG_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.
config BUSYBOX_CONFIG_FEATURE_PIDFILE
bool "Support writing pidfiles"
default BUSYBOX_DEFAULT_FEATURE_PIDFILE
help
This option makes some applets (e.g. crond, syslogd, inetd) write
a pidfile at the configured PID_FILE_PATH. It has no effect
on applets which require pidfiles to run.
config BUSYBOX_CONFIG_PID_FILE_PATH
string "Directory for pidfiles"
default BUSYBOX_DEFAULT_PID_FILE_PATH
depends on BUSYBOX_CONFIG_FEATURE_PIDFILE || BUSYBOX_CONFIG_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_CONFIG_BUSYBOX
bool "Include busybox applet"
default BUSYBOX_DEFAULT_BUSYBOX
help
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:
$ busybox
busybox: applet not found
Running "busybox APPLET [ARGS...]" will still work, of course.
config BUSYBOX_CONFIG_FEATURE_SHOW_SCRIPT
bool "Support --show SCRIPT"
default BUSYBOX_DEFAULT_FEATURE_SHOW_SCRIPT
depends on BUSYBOX_CONFIG_BUSYBOX
config BUSYBOX_CONFIG_FEATURE_INSTALLER
bool "Support --install [-s] to install applet links at runtime"
default BUSYBOX_DEFAULT_FEATURE_INSTALLER
depends on BUSYBOX_CONFIG_BUSYBOX
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_CONFIG_INSTALL_NO_USR
bool "Don't use /usr"
default BUSYBOX_DEFAULT_INSTALL_NO_USR
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_CONFIG_FEATURE_SUID
bool "Drop SUID state for most applets"
default BUSYBOX_DEFAULT_FEATURE_SUID
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).
With this option enabled, busybox drops privileges for applets
that don't need root access, before entering their main() function.
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.
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.
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 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").
config BUSYBOX_CONFIG_FEATURE_SUID_CONFIG
bool "Enable SUID configuration via /etc/busybox.conf"
default BUSYBOX_DEFAULT_FEATURE_SUID_CONFIG
depends on BUSYBOX_CONFIG_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_CONFIG_FEATURE_SUID_CONFIG_QUIET
bool "Suppress warning message if /etc/busybox.conf is not readable"
default BUSYBOX_DEFAULT_FEATURE_SUID_CONFIG_QUIET
depends on BUSYBOX_CONFIG_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.
config BUSYBOX_CONFIG_FEATURE_PREFER_APPLETS
bool "exec prefers applets"
default BUSYBOX_DEFAULT_FEATURE_PREFER_APPLETS
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_CONFIG_BUSYBOX_EXEC_PATH
string "Path to busybox executable"
default BUSYBOX_DEFAULT_BUSYBOX_EXEC_PATH
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_CONFIG_SELINUX
bool "Support NSA Security Enhanced Linux"
default BUSYBOX_DEFAULT_SELINUX
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'.
config BUSYBOX_CONFIG_FEATURE_CLEAN_UP
bool "Clean up all memory before exiting (usually not needed)"
default BUSYBOX_DEFAULT_FEATURE_CLEAN_UP
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.
config BUSYBOX_CONFIG_FEATURE_SYSLOG_INFO
bool "Support LOG_INFO level syslog messages"
default BUSYBOX_DEFAULT_FEATURE_SYSLOG_INFO
depends on BUSYBOX_CONFIG_FEATURE_SYSLOG
help
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
config BUSYBOX_CONFIG_FEATURE_SYSLOG
bool #No description makes it a hidden option
default BUSYBOX_DEFAULT_FEATURE_SYSLOG
#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.
comment 'Build Options'
config BUSYBOX_CONFIG_STATIC
bool "Build static binary (no shared libs)"
default BUSYBOX_DEFAULT_STATIC
help
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_CONFIG_PIE
bool "Build position independent executable"
default BUSYBOX_DEFAULT_PIE
depends on !BUSYBOX_CONFIG_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.
Most people will leave this set to 'N'.
config BUSYBOX_CONFIG_NOMMU
bool "Force NOMMU build"
default BUSYBOX_DEFAULT_NOMMU
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.
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
config BUSYBOX_CONFIG_BUILD_LIBBUSYBOX
bool "Build shared libbusybox"
default BUSYBOX_DEFAULT_BUILD_LIBBUSYBOX
depends on !BUSYBOX_CONFIG_FEATURE_PREFER_APPLETS && !BUSYBOX_CONFIG_PIE && !BUSYBOX_CONFIG_STATIC
help
Build a shared library libbusybox.so.N.N.N which contains all
busybox code.
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
This is useful on NOMMU systems which are not capable
of sharing executables, but are capable of sharing code
in dynamic libraries.
config BUSYBOX_CONFIG_FEATURE_LIBBUSYBOX_STATIC
bool "Pull in all external references into libbusybox"
default BUSYBOX_DEFAULT_FEATURE_LIBBUSYBOX_STATIC
depends on BUSYBOX_CONFIG_BUILD_LIBBUSYBOX
help
Make libbusybox library independent, not using or requiring
any other shared libraries.
config BUSYBOX_CONFIG_FEATURE_INDIVIDUAL
bool "Produce a binary for each applet, linked against libbusybox"
default BUSYBOX_DEFAULT_FEATURE_INDIVIDUAL
depends on BUSYBOX_CONFIG_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 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.
You need to have a working dynamic linker.
config BUSYBOX_CONFIG_FEATURE_SHARED_BUSYBOX
bool "Produce additional busybox binary linked against libbusybox"
default BUSYBOX_DEFAULT_FEATURE_SHARED_BUSYBOX
depends on BUSYBOX_CONFIG_BUILD_LIBBUSYBOX
help
Build busybox, dynamically linked against libbusybox.so.N.N.N.
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.
###
### 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.
###
### Say 'N' unless you know what you are doing.
config BUSYBOX_CONFIG_CROSS_COMPILER_PREFIX
string "Cross compiler prefix"
default BUSYBOX_DEFAULT_CROSS_COMPILER_PREFIX
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-".
Note that CROSS_COMPILE environment variable or
"make CROSS_COMPILE=xxx ..." will override this selection.
Native builds leave this empty.
config BUSYBOX_CONFIG_SYSROOT
string "Path to sysroot"
default BUSYBOX_DEFAULT_SYSROOT
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.
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
Native builds leave this empty.
config BUSYBOX_CONFIG_EXTRA_CFLAGS
string "Additional CFLAGS"
default BUSYBOX_DEFAULT_EXTRA_CFLAGS
help
Additional CFLAGS to pass to the compiler verbatim.
config BUSYBOX_CONFIG_EXTRA_LDFLAGS
string "Additional LDFLAGS"
default BUSYBOX_DEFAULT_EXTRA_LDFLAGS
help
Additional LDFLAGS to pass to the linker verbatim.
config BUSYBOX_CONFIG_EXTRA_LDLIBS
string "Additional LDLIBS"
default BUSYBOX_DEFAULT_EXTRA_LDLIBS
help
Additional LDLIBS to pass to the linker with -l.
config BUSYBOX_CONFIG_USE_PORTABLE_CODE
bool "Avoid using GCC-specific code constructs"
default BUSYBOX_DEFAULT_USE_PORTABLE_CODE
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.
config BUSYBOX_CONFIG_STACK_OPTIMIZATION_386
bool "Use -mpreferred-stack-boundary=2 on i386 arch"
default BUSYBOX_DEFAULT_STACK_OPTIMIZATION_386
help
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_CONFIG_STATIC_LIBGCC
bool "Use -static-libgcc"
default BUSYBOX_DEFAULT_STATIC_LIBGCC
help
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.
comment 'Installation Options ("make install" behavior)'
choice
prompt "What kind of applet links to install"
default BUSYBOX_CONFIG_INSTALL_APPLET_SYMLINKS
help
Choose what kind of links to applets are created by "make install".
config BUSYBOX_CONFIG_INSTALL_APPLET_SYMLINKS
bool "as soft-links"
help
Install applets as soft-links to the busybox binary. This needs some
free inodes on the filesystem, but might help with filesystem
generators that can't cope with hard-links.
config BUSYBOX_CONFIG_INSTALL_APPLET_HARDLINKS
bool "as hard-links"
help
Install applets as hard-links to the busybox binary. This might
count on a filesystem with few inodes.
config BUSYBOX_CONFIG_INSTALL_APPLET_SCRIPT_WRAPPERS
bool "as script wrappers"
help
Install applets as script wrappers that call the busybox binary.
config BUSYBOX_CONFIG_INSTALL_APPLET_DONT
bool "not installed"
help
Do not install applet links. Useful when you plan to use
busybox --install for installing links, or plan to use
a standalone shell and thus don't need applet links.
endchoice
choice
prompt "/bin/sh applet link"
default BUSYBOX_CONFIG_INSTALL_SH_APPLET_SYMLINK
depends on BUSYBOX_CONFIG_INSTALL_APPLET_SCRIPT_WRAPPERS
help
Choose how you install /bin/sh applet link.
config BUSYBOX_CONFIG_INSTALL_SH_APPLET_SYMLINK
bool "as soft-link"
help
Install /bin/sh applet as soft-link to the busybox binary.
config BUSYBOX_CONFIG_INSTALL_SH_APPLET_HARDLINK
bool "as hard-link"
help
Install /bin/sh applet as hard-link to the busybox binary.
config BUSYBOX_CONFIG_INSTALL_SH_APPLET_SCRIPT_WRAPPER
bool "as script wrapper"
help
Install /bin/sh applet as script wrapper that calls
the busybox binary.
endchoice
config BUSYBOX_CONFIG_PREFIX
string "Destination path for 'make install'"
default BUSYBOX_DEFAULT_PREFIX
help
Where "make install" should install busybox binary and links.
comment 'Debugging Options'
config BUSYBOX_CONFIG_DEBUG
bool "Build with debug information"
default BUSYBOX_DEFAULT_DEBUG
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_CONFIG_DEBUG_PESSIMIZE
bool "Disable compiler optimizations"
default BUSYBOX_DEFAULT_DEBUG_PESSIMIZE
depends on BUSYBOX_CONFIG_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_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.
This adds -fsanitize=foo options to gcc command line.
If you aren't developing/testing busybox, say N here.
config BUSYBOX_CONFIG_UNIT_TEST
bool "Build unit tests"
default BUSYBOX_DEFAULT_UNIT_TEST
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_CONFIG_WERROR
bool "Abort compilation on any warning"
default BUSYBOX_DEFAULT_WERROR
help
This adds -Werror to gcc command line.
Most people should answer N.
config BUSYBOX_CONFIG_WARN_SIMPLE_MSG
bool "Warn about single parameter bb_xx_msg calls"
default BUSYBOX_DEFAULT_WARN_SIMPLE_MSG
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_CONFIG_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_CONFIG_NO_DEBUG_LIB
bool "None"
config BUSYBOX_CONFIG_DMALLOC
bool "Dmalloc"
config BUSYBOX_CONFIG_EFENCE
bool "Electric-fence"
endchoice
source "libbb/Config.in"
endmenu
comment "Applets"
source "archival/Config.in"
source "coreutils/Config.in"
source "console-tools/Config.in"
source "debianutils/Config.in"
source "klibc-utils/Config.in"
source "editors/Config.in"
source "findutils/Config.in"
source "init/Config.in"
source "loginutils/Config.in"
source "e2fsprogs/Config.in"
source "modutils/Config.in"
source "util-linux/Config.in"
source "miscutils/Config.in"
source "networking/Config.in"
source "printutils/Config.in"
source "mailutils/Config.in"
source "procps/Config.in"
source "runit/Config.in"
source "selinux/Config.in"
source "shell/Config.in"
source "sysklogd/Config.in"

View File

@@ -0,0 +1,450 @@
# 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 "Archival Utilities"
config BUSYBOX_CONFIG_FEATURE_SEAMLESS_XZ
bool "Make tar, rpm, modprobe etc understand .xz data"
default BUSYBOX_DEFAULT_FEATURE_SEAMLESS_XZ
config BUSYBOX_CONFIG_FEATURE_SEAMLESS_LZMA
bool "Make tar, rpm, modprobe etc understand .lzma data"
default BUSYBOX_DEFAULT_FEATURE_SEAMLESS_LZMA
config BUSYBOX_CONFIG_FEATURE_SEAMLESS_BZ2
bool "Make tar, rpm, modprobe etc understand .bz2 data"
default BUSYBOX_DEFAULT_FEATURE_SEAMLESS_BZ2
config BUSYBOX_CONFIG_FEATURE_SEAMLESS_GZ
bool "Make tar, rpm, modprobe etc understand .gz data"
default BUSYBOX_DEFAULT_FEATURE_SEAMLESS_GZ
config BUSYBOX_CONFIG_FEATURE_SEAMLESS_Z
bool "Make tar, rpm, modprobe etc understand .Z data"
default BUSYBOX_DEFAULT_FEATURE_SEAMLESS_Z # it is ancient
config BUSYBOX_CONFIG_AR
bool "ar (9.5 kb)"
default BUSYBOX_DEFAULT_AR # 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. In practice, it is used exclusively
for object module archives used by compilers.
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_CONFIG_FEATURE_AR_LONG_FILENAMES
bool "Support long filenames (not needed for debs)"
default BUSYBOX_DEFAULT_FEATURE_AR_LONG_FILENAMES
depends on BUSYBOX_CONFIG_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.
config BUSYBOX_CONFIG_FEATURE_AR_CREATE
bool "Support archive creation"
default BUSYBOX_DEFAULT_FEATURE_AR_CREATE
depends on BUSYBOX_CONFIG_AR
help
This enables archive creation (-c and -r) with busybox ar.
config BUSYBOX_CONFIG_UNCOMPRESS
bool "uncompress (7.1 kb)"
default BUSYBOX_DEFAULT_UNCOMPRESS # ancient
help
uncompress is used to decompress archives created by compress.
Not much used anymore, replaced by gzip/gunzip.
config BUSYBOX_CONFIG_GUNZIP
bool "gunzip (11 kb)"
default BUSYBOX_DEFAULT_GUNZIP
select BUSYBOX_CONFIG_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_CONFIG_ZCAT
bool "zcat (24 kb)"
default BUSYBOX_DEFAULT_ZCAT
select BUSYBOX_CONFIG_FEATURE_GZIP_DECOMPRESS
help
Alias to "gunzip -c".
config BUSYBOX_CONFIG_FEATURE_GUNZIP_LONG_OPTIONS
bool "Enable long options"
default BUSYBOX_DEFAULT_FEATURE_GUNZIP_LONG_OPTIONS
depends on (BUSYBOX_CONFIG_GUNZIP || BUSYBOX_CONFIG_ZCAT) && BUSYBOX_CONFIG_LONG_OPTS
config BUSYBOX_CONFIG_BUNZIP2
bool "bunzip2 (8.7 kb)"
default BUSYBOX_DEFAULT_BUNZIP2
select BUSYBOX_CONFIG_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.
Unless you have a specific application which requires bunzip2, you
should probably say N here.
config BUSYBOX_CONFIG_BZCAT
bool "bzcat (8.7 kb)"
default BUSYBOX_DEFAULT_BZCAT
select BUSYBOX_CONFIG_FEATURE_BZIP2_DECOMPRESS
help
Alias to "bunzip2 -c".
config BUSYBOX_CONFIG_UNLZMA
bool "unlzma (7.5 kb)"
default BUSYBOX_DEFAULT_UNLZMA
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_CONFIG_LZCAT
bool "lzcat (7.5 kb)"
default BUSYBOX_DEFAULT_LZCAT
help
Alias to "unlzma -c".
config BUSYBOX_CONFIG_LZMA
bool "lzma -d"
default BUSYBOX_DEFAULT_LZMA
help
Enable this option if you want commands like "lzma -d" to work.
IOW: you'll get lzma applet, but it will always require -d option.
config BUSYBOX_CONFIG_UNXZ
bool "unxz (13 kb)"
default BUSYBOX_DEFAULT_UNXZ
help
unxz is a unlzma successor.
config BUSYBOX_CONFIG_XZCAT
bool "xzcat (13 kb)"
default BUSYBOX_DEFAULT_XZCAT
help
Alias to "unxz -c".
config BUSYBOX_CONFIG_XZ
bool "xz -d"
default BUSYBOX_DEFAULT_XZ
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_CONFIG_BZIP2
bool "bzip2 (16 kb)"
default BUSYBOX_DEFAULT_BZIP2
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_CONFIG_BZIP2_SMALL
int "Trade bytes for speed (0:fast, 9:small)"
default BUSYBOX_DEFAULT_BZIP2_SMALL # all "fast or small" options default to small
range 0 9
depends on BUSYBOX_CONFIG_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_CONFIG_FEATURE_BZIP2_DECOMPRESS
bool "Enable decompression"
default BUSYBOX_DEFAULT_FEATURE_BZIP2_DECOMPRESS
depends on BUSYBOX_CONFIG_BZIP2 || BUSYBOX_CONFIG_BUNZIP2 || BUSYBOX_CONFIG_BZCAT
help
Enable -d (--decompress) and -t (--test) options for bzip2.
This will be automatically selected if bunzip2 or bzcat is
enabled.
config BUSYBOX_CONFIG_CPIO
bool "cpio (15 kb)"
default BUSYBOX_DEFAULT_CPIO
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.
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.
config BUSYBOX_CONFIG_FEATURE_CPIO_O
bool "Support archive creation"
default BUSYBOX_DEFAULT_FEATURE_CPIO_O
depends on BUSYBOX_CONFIG_CPIO
help
This implementation of cpio can create cpio archives in the "newc"
format only.
config BUSYBOX_CONFIG_FEATURE_CPIO_P
bool "Support passthrough mode"
default BUSYBOX_DEFAULT_FEATURE_CPIO_P
depends on BUSYBOX_CONFIG_FEATURE_CPIO_O
help
Passthrough mode. Rarely used.
config BUSYBOX_CONFIG_FEATURE_CPIO_IGNORE_DEVNO
bool "Support --ignore-devno like GNU cpio"
default BUSYBOX_DEFAULT_FEATURE_CPIO_IGNORE_DEVNO
depends on BUSYBOX_CONFIG_FEATURE_CPIO_O && BUSYBOX_CONFIG_LONG_OPTS
help
Optionally ignore device numbers when creating archives.
config BUSYBOX_CONFIG_FEATURE_CPIO_RENUMBER_INODES
bool "Support --renumber-inodes like GNU cpio"
default BUSYBOX_DEFAULT_FEATURE_CPIO_RENUMBER_INODES
depends on BUSYBOX_CONFIG_FEATURE_CPIO_O && BUSYBOX_CONFIG_LONG_OPTS
help
Optionally renumber inodes when creating archives.
config BUSYBOX_CONFIG_DPKG
bool "dpkg (43 kb)"
default BUSYBOX_DEFAULT_DPKG
select BUSYBOX_CONFIG_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_CONFIG_DPKG_DEB
bool "dpkg-deb (30 kb)"
default BUSYBOX_DEFAULT_DPKG_DEB
select BUSYBOX_CONFIG_FEATURE_SEAMLESS_GZ
help
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_CONFIG_GZIP
bool "gzip (17 kb)"
default BUSYBOX_DEFAULT_GZIP
help
gzip is used to compress files.
It's probably the most widely used UNIX compression program.
config BUSYBOX_CONFIG_FEATURE_GZIP_LONG_OPTIONS
bool "Enable long options"
default BUSYBOX_DEFAULT_FEATURE_GZIP_LONG_OPTIONS
depends on BUSYBOX_CONFIG_GZIP && BUSYBOX_CONFIG_LONG_OPTS
config BUSYBOX_CONFIG_GZIP_FAST
int "Trade memory for speed (0:small,slow - 2:fast,big)"
default BUSYBOX_DEFAULT_GZIP_FAST
range 0 2
depends on BUSYBOX_CONFIG_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
config BUSYBOX_CONFIG_FEATURE_GZIP_LEVELS
bool "Enable compression levels"
default BUSYBOX_DEFAULT_FEATURE_GZIP_LEVELS
depends on BUSYBOX_CONFIG_GZIP
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 -6
is used.
config BUSYBOX_CONFIG_FEATURE_GZIP_DECOMPRESS
bool "Enable decompression"
default BUSYBOX_DEFAULT_FEATURE_GZIP_DECOMPRESS
depends on BUSYBOX_CONFIG_GZIP || BUSYBOX_CONFIG_GUNZIP || BUSYBOX_CONFIG_ZCAT
help
Enable -d (--decompress) and -t (--test) options for gzip.
This will be automatically selected if gunzip or zcat is
enabled.
config BUSYBOX_CONFIG_LZOP
bool "lzop (12 kb)"
default BUSYBOX_DEFAULT_LZOP
help
Lzop compression/decompresion.
config BUSYBOX_CONFIG_UNLZOP
bool "unlzop (13 kb)"
default BUSYBOX_DEFAULT_UNLZOP # INCOMPAT: upstream lzop does not provide such tool
help
Lzop decompresion.
config BUSYBOX_CONFIG_LZOPCAT
bool "lzopcat (13 kb)"
default BUSYBOX_DEFAULT_LZOPCAT # INCOMPAT: upstream lzop does not provide such tool
help
Alias to "lzop -dc".
config BUSYBOX_CONFIG_LZOP_COMPR_HIGH
bool "lzop compression levels 7,8,9 (not very useful)"
default BUSYBOX_DEFAULT_LZOP_COMPR_HIGH
depends on BUSYBOX_CONFIG_LZOP || BUSYBOX_CONFIG_UNLZOP || BUSYBOX_CONFIG_LZOPCAT
help
High levels (7,8,9) of lzop compression. These levels
are actually slower than gzip at equivalent compression ratios
and take up 3.2K of code.
config BUSYBOX_CONFIG_RPM
bool "rpm (32 kb)"
default BUSYBOX_DEFAULT_RPM
help
Mini RPM applet - queries and extracts RPM packages.
config BUSYBOX_CONFIG_RPM2CPIO
bool "rpm2cpio (21 kb)"
default BUSYBOX_DEFAULT_RPM2CPIO
help
Converts a RPM file into a CPIO archive.
config BUSYBOX_CONFIG_TAR
bool "tar (39 kb)"
default BUSYBOX_DEFAULT_TAR
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.
config BUSYBOX_CONFIG_FEATURE_TAR_LONG_OPTIONS
bool "Enable long options"
default BUSYBOX_DEFAULT_FEATURE_TAR_LONG_OPTIONS
depends on BUSYBOX_CONFIG_TAR && BUSYBOX_CONFIG_LONG_OPTS
config BUSYBOX_CONFIG_FEATURE_TAR_CREATE
bool "Enable -c (archive creation)"
default BUSYBOX_DEFAULT_FEATURE_TAR_CREATE
depends on BUSYBOX_CONFIG_TAR
config BUSYBOX_CONFIG_FEATURE_TAR_AUTODETECT
bool "Autodetect compressed tarballs"
default BUSYBOX_DEFAULT_FEATURE_TAR_AUTODETECT
depends on BUSYBOX_CONFIG_TAR && (BUSYBOX_CONFIG_FEATURE_SEAMLESS_Z || BUSYBOX_CONFIG_FEATURE_SEAMLESS_GZ || BUSYBOX_CONFIG_FEATURE_SEAMLESS_BZ2 || BUSYBOX_CONFIG_FEATURE_SEAMLESS_LZMA || BUSYBOX_CONFIG_FEATURE_SEAMLESS_XZ)
help
With this option tar can automatically detect compressed
tarballs. Currently it works only on files (not pipes etc).
config BUSYBOX_CONFIG_FEATURE_TAR_FROM
bool "Enable -X (exclude from) and -T (include from) options"
default BUSYBOX_DEFAULT_FEATURE_TAR_FROM
depends on BUSYBOX_CONFIG_TAR
help
If you enable this option you'll be able to specify
a list of files to include or exclude from an archive.
config BUSYBOX_CONFIG_FEATURE_TAR_OLDGNU_COMPATIBILITY
bool "Support old tar header format"
default BUSYBOX_DEFAULT_FEATURE_TAR_OLDGNU_COMPATIBILITY
depends on BUSYBOX_CONFIG_TAR || BUSYBOX_CONFIG_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.
config BUSYBOX_CONFIG_FEATURE_TAR_OLDSUN_COMPATIBILITY
bool "Enable untarring of tarballs with checksums produced by buggy Sun tar"
default BUSYBOX_DEFAULT_FEATURE_TAR_OLDSUN_COMPATIBILITY
depends on BUSYBOX_CONFIG_TAR || BUSYBOX_CONFIG_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.
config BUSYBOX_CONFIG_FEATURE_TAR_GNU_EXTENSIONS
bool "Support GNU tar extensions (long filenames)"
default BUSYBOX_DEFAULT_FEATURE_TAR_GNU_EXTENSIONS
depends on BUSYBOX_CONFIG_TAR || BUSYBOX_CONFIG_DPKG
config BUSYBOX_CONFIG_FEATURE_TAR_TO_COMMAND
bool "Support writing to an external program (--to-command)"
default BUSYBOX_DEFAULT_FEATURE_TAR_TO_COMMAND
depends on BUSYBOX_CONFIG_TAR && BUSYBOX_CONFIG_FEATURE_TAR_LONG_OPTIONS
help
If you enable this option you'll be able to instruct tar to send
the contents of each extracted file to the standard input of an
external program.
config BUSYBOX_CONFIG_FEATURE_TAR_UNAME_GNAME
bool "Enable use of user and group names"
default BUSYBOX_DEFAULT_FEATURE_TAR_UNAME_GNAME
depends on BUSYBOX_CONFIG_TAR
help
Enable use of user and group names in tar. This affects contents
listings (-t) and preserving permissions when unpacking (-p).
+200 bytes.
config BUSYBOX_CONFIG_FEATURE_TAR_NOPRESERVE_TIME
bool "Enable -m (do not preserve time) GNU option"
default BUSYBOX_DEFAULT_FEATURE_TAR_NOPRESERVE_TIME
depends on BUSYBOX_CONFIG_TAR
config BUSYBOX_CONFIG_FEATURE_TAR_SELINUX
bool "Support extracting SELinux labels"
default BUSYBOX_DEFAULT_FEATURE_TAR_SELINUX
depends on BUSYBOX_CONFIG_TAR && BUSYBOX_CONFIG_SELINUX
help
With this option busybox supports restoring SELinux labels
when extracting files from tar archives.
config BUSYBOX_CONFIG_UNZIP
bool "unzip (26 kb)"
default BUSYBOX_DEFAULT_UNZIP
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.
config BUSYBOX_CONFIG_FEATURE_UNZIP_CDF
bool "Read and use Central Directory data"
default BUSYBOX_DEFAULT_FEATURE_UNZIP_CDF
depends on BUSYBOX_CONFIG_UNZIP
help
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_CONFIG_FEATURE_UNZIP_BZIP2
bool "Support compression method 12 (bzip2)"
default BUSYBOX_DEFAULT_FEATURE_UNZIP_BZIP2
depends on BUSYBOX_CONFIG_FEATURE_UNZIP_CDF && BUSYBOX_CONFIG_DESKTOP
config BUSYBOX_CONFIG_FEATURE_UNZIP_LZMA
bool "Support compression method 14 (lzma)"
default BUSYBOX_DEFAULT_FEATURE_UNZIP_LZMA
depends on BUSYBOX_CONFIG_FEATURE_UNZIP_CDF && BUSYBOX_CONFIG_DESKTOP
config BUSYBOX_CONFIG_FEATURE_UNZIP_XZ
bool "Support compression method 95 (xz)"
default BUSYBOX_DEFAULT_FEATURE_UNZIP_XZ
depends on BUSYBOX_CONFIG_FEATURE_UNZIP_CDF && BUSYBOX_CONFIG_DESKTOP
config BUSYBOX_CONFIG_FEATURE_LZMA_FAST
bool "Optimize lzma for speed"
default BUSYBOX_DEFAULT_FEATURE_LZMA_FAST
depends on BUSYBOX_CONFIG_UNLZMA || BUSYBOX_CONFIG_LZCAT || BUSYBOX_CONFIG_LZMA || BUSYBOX_CONFIG_FEATURE_SEAMLESS_LZMA
help
This option reduces decompression time by about 25% at the cost of
a 1K bigger binary.
endmenu

View File

@@ -0,0 +1,144 @@
# 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 "Console Utilities"
config BUSYBOX_CONFIG_CHVT
bool "chvt (2 kb)"
default BUSYBOX_DEFAULT_CHVT
help
This program is used to change to another terminal.
Example: chvt 4 (change to terminal /dev/tty4)
config BUSYBOX_CONFIG_CLEAR
bool "clear (tiny)"
default BUSYBOX_DEFAULT_CLEAR
help
This program clears the terminal screen.
config BUSYBOX_CONFIG_DEALLOCVT
bool "deallocvt (1.9 kb)"
default BUSYBOX_DEFAULT_DEALLOCVT
help
This program deallocates unused virtual consoles.
config BUSYBOX_CONFIG_DUMPKMAP
bool "dumpkmap (1.6 kb)"
default BUSYBOX_DEFAULT_DUMPKMAP
help
This program dumps the kernel's keyboard translation table to
stdout, in binary format. You can then use loadkmap to load it.
config BUSYBOX_CONFIG_FGCONSOLE
bool "fgconsole (1.5 kb)"
default BUSYBOX_DEFAULT_FGCONSOLE
help
This program prints active (foreground) console number.
config BUSYBOX_CONFIG_KBD_MODE
bool "kbd_mode (4.1 kb)"
default BUSYBOX_DEFAULT_KBD_MODE
help
This program reports and sets keyboard mode.
config BUSYBOX_CONFIG_LOADFONT
bool "loadfont (5.2 kb)"
default BUSYBOX_DEFAULT_LOADFONT
help
This program loads a console font from standard input.
config BUSYBOX_CONFIG_SETFONT
bool "setfont (24 kb)"
default BUSYBOX_DEFAULT_SETFONT
help
Allows to load console screen map. Useful for i18n.
config BUSYBOX_CONFIG_FEATURE_SETFONT_TEXTUAL_MAP
bool "Support reading textual screen maps"
default BUSYBOX_DEFAULT_FEATURE_SETFONT_TEXTUAL_MAP
depends on BUSYBOX_CONFIG_SETFONT
help
Support reading textual screen maps.
config BUSYBOX_CONFIG_DEFAULT_SETFONT_DIR
string "Default directory for console-tools files"
default BUSYBOX_DEFAULT_DEFAULT_SETFONT_DIR
depends on BUSYBOX_CONFIG_SETFONT
help
Directory to use if setfont's params are simple filenames
(not /path/to/file or ./file). Default is "" (no default directory).
comment "Common options for loadfont and setfont"
depends on BUSYBOX_CONFIG_LOADFONT || BUSYBOX_CONFIG_SETFONT
config BUSYBOX_CONFIG_FEATURE_LOADFONT_PSF2
bool "Support PSF2 console fonts"
default BUSYBOX_DEFAULT_FEATURE_LOADFONT_PSF2
depends on BUSYBOX_CONFIG_LOADFONT || BUSYBOX_CONFIG_SETFONT
config BUSYBOX_CONFIG_FEATURE_LOADFONT_RAW
bool "Support old (raw) console fonts"
default BUSYBOX_DEFAULT_FEATURE_LOADFONT_RAW
depends on BUSYBOX_CONFIG_LOADFONT || BUSYBOX_CONFIG_SETFONT
config BUSYBOX_CONFIG_LOADKMAP
bool "loadkmap (1.8 kb)"
default BUSYBOX_DEFAULT_LOADKMAP
help
This program loads a keyboard translation table from
standard input.
config BUSYBOX_CONFIG_OPENVT
bool "openvt (7.2 kb)"
default BUSYBOX_DEFAULT_OPENVT
help
This program is used to start a command on an unused
virtual terminal.
config BUSYBOX_CONFIG_RESET
bool "reset (345 bytes)"
default BUSYBOX_DEFAULT_RESET
help
This program is used to reset the terminal screen, if it
gets messed up.
config BUSYBOX_CONFIG_RESIZE
bool "resize (903 bytes)"
default BUSYBOX_DEFAULT_RESIZE
help
This program is used to (re)set the width and height of your current
terminal.
config BUSYBOX_CONFIG_FEATURE_RESIZE_PRINT
bool "Print environment variables"
default BUSYBOX_DEFAULT_FEATURE_RESIZE_PRINT
depends on BUSYBOX_CONFIG_RESIZE
help
Prints the newly set size (number of columns and rows) of
the terminal.
E.g.:
COLUMNS=80;LINES=44;export COLUMNS LINES;
config BUSYBOX_CONFIG_SETCONSOLE
bool "setconsole (3.6 kb)"
default BUSYBOX_DEFAULT_SETCONSOLE
help
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_CONFIG_FEATURE_SETCONSOLE_LONG_OPTIONS
bool "Enable long options"
default BUSYBOX_DEFAULT_FEATURE_SETCONSOLE_LONG_OPTIONS
depends on BUSYBOX_CONFIG_SETCONSOLE && BUSYBOX_CONFIG_LONG_OPTS
config BUSYBOX_CONFIG_SETKEYCODES
bool "setkeycodes (2.1 kb)"
default BUSYBOX_DEFAULT_SETKEYCODES
help
This program loads entries into the kernel's scancode-to-keycode
map, allowing unusual keyboards to generate usable keycodes.
config BUSYBOX_CONFIG_SETLOGCONS
bool "setlogcons (1.8 kb)"
default BUSYBOX_DEFAULT_SETLOGCONS
help
This program redirects the output console of kernel messages.
config BUSYBOX_CONFIG_SHOWKEY
bool "showkey (4.7 kb)"
default BUSYBOX_DEFAULT_SHOWKEY
help
Shows keys pressed.
endmenu

View File

@@ -0,0 +1,965 @@
# 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 "Coreutils"
config BUSYBOX_CONFIG_FEATURE_VERBOSE
bool "Support verbose options (usually -v) for various applets"
default BUSYBOX_DEFAULT_FEATURE_VERBOSE
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.
comment "Common options for date and touch"
config BUSYBOX_CONFIG_FEATURE_TIMEZONE
bool "Allow timezone in dates"
default BUSYBOX_DEFAULT_FEATURE_TIMEZONE
depends on BUSYBOX_CONFIG_DESKTOP
help
Permit the use of timezones when parsing user-provided data
strings, e.g. '1996-04-09 12:45:00 -0500'.
This requires support for the '%z' extension to strptime() which
may not be available in all implementations.
comment "Common options for cp and mv"
depends on BUSYBOX_CONFIG_CP || BUSYBOX_CONFIG_MV
config BUSYBOX_CONFIG_FEATURE_PRESERVE_HARDLINKS
bool "Preserve hard links"
default BUSYBOX_DEFAULT_FEATURE_PRESERVE_HARDLINKS
depends on BUSYBOX_CONFIG_CP || BUSYBOX_CONFIG_MV
help
Allow cp and mv to preserve hard links.
comment "Common options for df, du, ls"
depends on BUSYBOX_CONFIG_DF || BUSYBOX_CONFIG_DU || BUSYBOX_CONFIG_LS
config BUSYBOX_CONFIG_FEATURE_HUMAN_READABLE
bool "Support human readable output (example 13k, 23M, 235G)"
default BUSYBOX_DEFAULT_FEATURE_HUMAN_READABLE
depends on BUSYBOX_CONFIG_DF || BUSYBOX_CONFIG_DU || BUSYBOX_CONFIG_LS
help
Allow df, du, and ls to have human readable output.
config BUSYBOX_CONFIG_BASENAME
bool "basename (438 bytes)"
default BUSYBOX_DEFAULT_BASENAME
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_CONFIG_CAT
bool "cat (5.6 kb)"
default BUSYBOX_DEFAULT_CAT
help
cat is used to concatenate files and print them to the standard
output. Enable this option if you wish to enable the 'cat' utility.
config BUSYBOX_CONFIG_FEATURE_CATN
bool "Enable -n and -b options"
default BUSYBOX_DEFAULT_FEATURE_CATN
depends on BUSYBOX_CONFIG_CAT
help
-n numbers all output lines while -b numbers nonempty output lines.
config BUSYBOX_CONFIG_FEATURE_CATV
bool "cat -v[etA]"
default BUSYBOX_DEFAULT_FEATURE_CATV
depends on BUSYBOX_CONFIG_CAT
help
Display nonprinting characters as escape sequences
config BUSYBOX_CONFIG_CHGRP
bool "chgrp (7.6 kb)"
default BUSYBOX_DEFAULT_CHGRP
help
chgrp is used to change the group ownership of files.
config BUSYBOX_CONFIG_CHMOD
bool "chmod (5.5 kb)"
default BUSYBOX_DEFAULT_CHMOD
help
chmod is used to change the access permission of files.
config BUSYBOX_CONFIG_CHOWN
bool "chown (7.6 kb)"
default BUSYBOX_DEFAULT_CHOWN
help
chown is used to change the user and/or group ownership
of files.
config BUSYBOX_CONFIG_FEATURE_CHOWN_LONG_OPTIONS
bool "Enable long options"
default BUSYBOX_DEFAULT_FEATURE_CHOWN_LONG_OPTIONS
depends on BUSYBOX_CONFIG_CHOWN && BUSYBOX_CONFIG_LONG_OPTS
config BUSYBOX_CONFIG_CHROOT
bool "chroot (3.7 kb)"
default BUSYBOX_DEFAULT_CHROOT
help
chroot is used to change the root directory and run a command.
The default command is '/bin/sh'.
config BUSYBOX_CONFIG_CKSUM
bool "cksum (4.1 kb)"
default BUSYBOX_DEFAULT_CKSUM
config BUSYBOX_CONFIG_CRC32
bool "crc32 (4.1 kb)"
default BUSYBOX_DEFAULT_CRC32
config BUSYBOX_CONFIG_COMM
bool "comm (4.2 kb)"
default BUSYBOX_DEFAULT_COMM
help
comm is used to compare two files line by line and return
a three-column output.
config BUSYBOX_CONFIG_CP
bool "cp (10 kb)"
default BUSYBOX_DEFAULT_CP
help
cp is used to copy files and directories.
config BUSYBOX_CONFIG_FEATURE_CP_LONG_OPTIONS
bool "Enable long options"
default BUSYBOX_DEFAULT_FEATURE_CP_LONG_OPTIONS
depends on BUSYBOX_CONFIG_CP && BUSYBOX_CONFIG_LONG_OPTS
help
Enable long options.
Also add support for --parents option.
config BUSYBOX_CONFIG_FEATURE_CP_REFLINK
bool "Enable --reflink[=auto]"
default BUSYBOX_DEFAULT_FEATURE_CP_REFLINK
depends on BUSYBOX_CONFIG_FEATURE_CP_LONG_OPTIONS
config BUSYBOX_CONFIG_CUT
bool "cut (5.8 kb)"
default BUSYBOX_DEFAULT_CUT
help
cut is used to print selected parts of lines from
each file to stdout.
config BUSYBOX_CONFIG_FEATURE_CUT_REGEX
bool "cut -F"
default BUSYBOX_DEFAULT_FEATURE_CUT_REGEX
depends on BUSYBOX_CONFIG_CUT
help
Allow regex based delimiters.
config BUSYBOX_CONFIG_DATE
bool "date (7 kb)"
default BUSYBOX_DEFAULT_DATE
help
date is used to set the system date or display the
current time in the given format.
config BUSYBOX_CONFIG_FEATURE_DATE_ISOFMT
bool "Enable ISO date format output (-I)"
default BUSYBOX_DEFAULT_FEATURE_DATE_ISOFMT
depends on BUSYBOX_CONFIG_DATE
help
Enable option (-I) to output an ISO-8601 compliant
date/time string.
config BUSYBOX_CONFIG_FEATURE_DATE_NANO
bool "Support %[num]N nanosecond format specifier"
default BUSYBOX_DEFAULT_FEATURE_DATE_NANO # stat's nanosecond field is a bit non-portable
depends on BUSYBOX_CONFIG_DATE
help
Support %[num]N format specifier. Adds ~250 bytes of code.
config BUSYBOX_CONFIG_FEATURE_DATE_COMPAT
bool "Support weird 'date MMDDhhmm[[YY]YY][.ss]' format"
default BUSYBOX_DEFAULT_FEATURE_DATE_COMPAT
depends on BUSYBOX_CONFIG_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_CONFIG_DD
bool "dd (7.5 kb)"
default BUSYBOX_DEFAULT_DD
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.
config BUSYBOX_CONFIG_FEATURE_DD_SIGNAL_HANDLING
bool "Enable signal handling for status reporting"
default BUSYBOX_DEFAULT_FEATURE_DD_SIGNAL_HANDLING
depends on BUSYBOX_CONFIG_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.
$ 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_CONFIG_FEATURE_DD_THIRD_STATUS_LINE
bool "Enable the third status line upon signal"
default BUSYBOX_DEFAULT_FEATURE_DD_THIRD_STATUS_LINE
depends on BUSYBOX_CONFIG_DD && BUSYBOX_CONFIG_FEATURE_DD_SIGNAL_HANDLING
help
Displays a coreutils-like third status line with transferred bytes,
elapsed time and speed.
config BUSYBOX_CONFIG_FEATURE_DD_IBS_OBS
bool "Enable ibs, obs, iflag, oflag and conv options"
default BUSYBOX_DEFAULT_FEATURE_DD_IBS_OBS
depends on BUSYBOX_CONFIG_DD
help
Enable support for writing a certain number of bytes in and out,
at a time, and performing conversions on the data stream.
config BUSYBOX_CONFIG_FEATURE_DD_STATUS
bool "Enable status display options"
default BUSYBOX_DEFAULT_FEATURE_DD_STATUS
depends on BUSYBOX_CONFIG_DD
help
Enable support for status=noxfer/none option.
config BUSYBOX_CONFIG_DF
bool "df (6.8 kb)"
default BUSYBOX_DEFAULT_DF
help
df reports the amount of disk space used and available
on filesystems.
config BUSYBOX_CONFIG_FEATURE_DF_FANCY
bool "Enable -a, -i, -B"
default BUSYBOX_DEFAULT_FEATURE_DF_FANCY
depends on BUSYBOX_CONFIG_DF
help
-a Show all filesystems
-i Inodes
-B <SIZE> Blocksize
config BUSYBOX_CONFIG_FEATURE_SKIP_ROOTFS
bool "Skip rootfs in mount table"
default BUSYBOX_DEFAULT_FEATURE_SKIP_ROOTFS
depends on BUSYBOX_CONFIG_DF
help
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.
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_CONFIG_DIRNAME
bool "dirname (329 bytes)"
default BUSYBOX_DEFAULT_DIRNAME
help
dirname is used to strip a non-directory suffix from
a file name.
config BUSYBOX_CONFIG_DOS2UNIX
bool "dos2unix (5.2 kb)"
default BUSYBOX_DEFAULT_DOS2UNIX
help
dos2unix is used to convert a text file from DOS format to
UNIX format, and vice versa.
config BUSYBOX_CONFIG_UNIX2DOS
bool "unix2dos (5.2 kb)"
default BUSYBOX_DEFAULT_UNIX2DOS
help
unix2dos is used to convert a text file from UNIX format to
DOS format, and vice versa.
config BUSYBOX_CONFIG_DU
bool "du (6.3 kb)"
default BUSYBOX_DEFAULT_DU
help
du is used to report the amount of disk space used
for specified files.
config BUSYBOX_CONFIG_FEATURE_DU_DEFAULT_BLOCKSIZE_1K
bool "Use default blocksize of 1024 bytes (else it's 512 bytes)"
default BUSYBOX_DEFAULT_FEATURE_DU_DEFAULT_BLOCKSIZE_1K
depends on BUSYBOX_CONFIG_DU
config BUSYBOX_CONFIG_ECHO
bool "echo (1.8 kb)"
default BUSYBOX_DEFAULT_ECHO
help
echo prints a specified string to stdout.
# this entry also appears in shell/Config.in, next to the echo builtin
config BUSYBOX_CONFIG_FEATURE_FANCY_ECHO
bool "Enable -n and -e options"
default BUSYBOX_DEFAULT_FEATURE_FANCY_ECHO
depends on BUSYBOX_CONFIG_ECHO || BUSYBOX_CONFIG_ASH_ECHO || BUSYBOX_CONFIG_HUSH_ECHO
config BUSYBOX_CONFIG_ENV
bool "env (4 kb)"
default BUSYBOX_DEFAULT_ENV
help
env is used to set an environment variable and run
a command; without options it displays the current
environment.
config BUSYBOX_CONFIG_EXPAND
bool "expand (5.1 kb)"
default BUSYBOX_DEFAULT_EXPAND
help
By default, convert all tabs to spaces.
config BUSYBOX_CONFIG_UNEXPAND
bool "unexpand (5.3 kb)"
default BUSYBOX_DEFAULT_UNEXPAND
help
By default, convert only leading sequences of blanks to tabs.
config BUSYBOX_CONFIG_EXPR
bool "expr (6.6 kb)"
default BUSYBOX_DEFAULT_EXPR
help
expr is used to calculate numbers and print the result
to standard output.
config BUSYBOX_CONFIG_EXPR_MATH_SUPPORT_64
bool "Extend Posix numbers support to 64 bit"
default BUSYBOX_DEFAULT_EXPR_MATH_SUPPORT_64
depends on BUSYBOX_CONFIG_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.
config BUSYBOX_CONFIG_FACTOR
bool "factor (2.7 kb)"
default BUSYBOX_DEFAULT_FACTOR
help
factor factorizes integers
config BUSYBOX_CONFIG_FALSE
bool "false (tiny)"
default BUSYBOX_DEFAULT_FALSE
help
false returns an exit code of FALSE (1).
config BUSYBOX_CONFIG_FOLD
bool "fold (4.6 kb)"
default BUSYBOX_DEFAULT_FOLD
help
Wrap text to fit a specific width.
config BUSYBOX_CONFIG_HEAD
bool "head (3.8 kb)"
default BUSYBOX_DEFAULT_HEAD
help
head is used to print the first specified number of lines
from files.
config BUSYBOX_CONFIG_FEATURE_FANCY_HEAD
bool "Enable -c, -q, and -v"
default BUSYBOX_DEFAULT_FEATURE_FANCY_HEAD
depends on BUSYBOX_CONFIG_HEAD
config BUSYBOX_CONFIG_HOSTID
bool "hostid (286 bytes)"
default BUSYBOX_DEFAULT_HOSTID
help
hostid prints the numeric identifier (in hexadecimal) for
the current host.
config BUSYBOX_CONFIG_ID
bool "id (7 kb)"
default BUSYBOX_DEFAULT_ID
help
id displays the current user and group ID names.
config BUSYBOX_CONFIG_GROUPS
bool "groups (6.7 kb)"
default BUSYBOX_DEFAULT_GROUPS
help
Print the group names associated with current user id.
config BUSYBOX_CONFIG_INSTALL
bool "install (12 kb)"
default BUSYBOX_DEFAULT_INSTALL
help
Copy files and set attributes.
config BUSYBOX_CONFIG_FEATURE_INSTALL_LONG_OPTIONS
bool "Enable long options"
default BUSYBOX_DEFAULT_FEATURE_INSTALL_LONG_OPTIONS
depends on BUSYBOX_CONFIG_INSTALL && BUSYBOX_CONFIG_LONG_OPTS
config BUSYBOX_CONFIG_LINK
bool "link (3.2 kb)"
default BUSYBOX_DEFAULT_LINK
help
link creates hard links between files.
config BUSYBOX_CONFIG_LN
bool "ln (4.9 kb)"
default BUSYBOX_DEFAULT_LN
help
ln is used to create hard or soft links between files.
config BUSYBOX_CONFIG_LOGNAME
bool "logname (1.1 kb)"
default BUSYBOX_DEFAULT_LOGNAME
help
logname is used to print the current user's login name.
config BUSYBOX_CONFIG_LS
bool "ls (14 kb)"
default BUSYBOX_DEFAULT_LS
help
ls is used to list the contents of directories.
config BUSYBOX_CONFIG_FEATURE_LS_FILETYPES
bool "Enable filetyping options (-p and -F)"
default BUSYBOX_DEFAULT_FEATURE_LS_FILETYPES
depends on BUSYBOX_CONFIG_LS
config BUSYBOX_CONFIG_FEATURE_LS_FOLLOWLINKS
bool "Enable symlinks dereferencing (-L)"
default BUSYBOX_DEFAULT_FEATURE_LS_FOLLOWLINKS
depends on BUSYBOX_CONFIG_LS
config BUSYBOX_CONFIG_FEATURE_LS_RECURSIVE
bool "Enable recursion (-R)"
default BUSYBOX_DEFAULT_FEATURE_LS_RECURSIVE
depends on BUSYBOX_CONFIG_LS
config BUSYBOX_CONFIG_FEATURE_LS_WIDTH
bool "Enable -w WIDTH and window size autodetection"
default BUSYBOX_DEFAULT_FEATURE_LS_WIDTH
depends on BUSYBOX_CONFIG_LS
config BUSYBOX_CONFIG_FEATURE_LS_SORTFILES
bool "Sort the file names"
default BUSYBOX_DEFAULT_FEATURE_LS_SORTFILES
depends on BUSYBOX_CONFIG_LS
help
Allow ls to sort file names alphabetically.
config BUSYBOX_CONFIG_FEATURE_LS_TIMESTAMPS
bool "Show file timestamps"
default BUSYBOX_DEFAULT_FEATURE_LS_TIMESTAMPS
depends on BUSYBOX_CONFIG_LS
help
Allow ls to display timestamps for files.
config BUSYBOX_CONFIG_FEATURE_LS_USERNAME
bool "Show username/groupnames"
default BUSYBOX_DEFAULT_FEATURE_LS_USERNAME
depends on BUSYBOX_CONFIG_LS
help
Allow ls to display username/groupname for files.
config BUSYBOX_CONFIG_FEATURE_LS_COLOR
bool "Allow use of color to identify file types"
default BUSYBOX_DEFAULT_FEATURE_LS_COLOR
depends on BUSYBOX_CONFIG_LS && BUSYBOX_CONFIG_LONG_OPTS
help
This enables the --color option to ls.
config BUSYBOX_CONFIG_FEATURE_LS_COLOR_IS_DEFAULT
bool "Produce colored ls output by default"
default BUSYBOX_DEFAULT_FEATURE_LS_COLOR_IS_DEFAULT
depends on BUSYBOX_CONFIG_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.
config BUSYBOX_CONFIG_MD5SUM
bool "md5sum (6.5 kb)"
default BUSYBOX_DEFAULT_MD5SUM
help
Compute and check MD5 message digest
config BUSYBOX_CONFIG_SHA1SUM
bool "sha1sum (5.9 kb)"
default BUSYBOX_DEFAULT_SHA1SUM
help
Compute and check SHA1 message digest
config BUSYBOX_CONFIG_SHA256SUM
bool "sha256sum (7 kb)"
default BUSYBOX_DEFAULT_SHA256SUM
help
Compute and check SHA256 message digest
config BUSYBOX_CONFIG_SHA512SUM
bool "sha512sum (7.4 kb)"
default BUSYBOX_DEFAULT_SHA512SUM
help
Compute and check SHA512 message digest
config BUSYBOX_CONFIG_SHA3SUM
bool "sha3sum (6.1 kb)"
default BUSYBOX_DEFAULT_SHA3SUM
help
Compute and check SHA3 message digest
comment "Common options for md5sum, sha1sum, sha256sum, sha512sum, sha3sum"
depends on BUSYBOX_CONFIG_MD5SUM || BUSYBOX_CONFIG_SHA1SUM || BUSYBOX_CONFIG_SHA256SUM || BUSYBOX_CONFIG_SHA512SUM || BUSYBOX_CONFIG_SHA3SUM
config BUSYBOX_CONFIG_FEATURE_MD5_SHA1_SUM_CHECK
bool "Enable -c, -s and -w options"
default BUSYBOX_DEFAULT_FEATURE_MD5_SHA1_SUM_CHECK
depends on BUSYBOX_CONFIG_MD5SUM || BUSYBOX_CONFIG_SHA1SUM || BUSYBOX_CONFIG_SHA256SUM || BUSYBOX_CONFIG_SHA512SUM || BUSYBOX_CONFIG_SHA3SUM
help
Enabling the -c options allows files to be checked
against pre-calculated hash values.
-s and -w are useful options when verifying checksums.
config BUSYBOX_CONFIG_MKDIR
bool "mkdir (4.5 kb)"
default BUSYBOX_DEFAULT_MKDIR
help
mkdir is used to create directories with the specified names.
config BUSYBOX_CONFIG_MKFIFO
bool "mkfifo (3.8 kb)"
default BUSYBOX_DEFAULT_MKFIFO
help
mkfifo is used to create FIFOs (named pipes).
The 'mknod' program can also create FIFOs.
config BUSYBOX_CONFIG_MKNOD
bool "mknod (4.5 kb)"
default BUSYBOX_DEFAULT_MKNOD
help
mknod is used to create FIFOs or block/character special
files with the specified names.
config BUSYBOX_CONFIG_MKTEMP
bool "mktemp (4.2 kb)"
default BUSYBOX_DEFAULT_MKTEMP
help
mktemp is used to create unique temporary files
config BUSYBOX_CONFIG_MV
bool "mv (10 kb)"
default BUSYBOX_DEFAULT_MV
help
mv is used to move or rename files or directories.
config BUSYBOX_CONFIG_NICE
bool "nice (2.1 kb)"
default BUSYBOX_DEFAULT_NICE
help
nice runs a program with modified scheduling priority.
config BUSYBOX_CONFIG_NL
bool "nl (4.6 kb)"
default BUSYBOX_DEFAULT_NL
help
nl is used to number lines of files.
config BUSYBOX_CONFIG_NOHUP
bool "nohup (2 kb)"
default BUSYBOX_DEFAULT_NOHUP
help
run a command immune to hangups, with output to a non-tty.
config BUSYBOX_CONFIG_NPROC
bool "nproc (3.7 kb)"
default BUSYBOX_DEFAULT_NPROC
help
Print number of CPUs
config BUSYBOX_CONFIG_OD
bool "od (11 kb)"
default BUSYBOX_DEFAULT_OD
help
od is used to dump binary files in octal and other formats.
config BUSYBOX_CONFIG_PASTE
bool "paste (4.9 kb)"
default BUSYBOX_DEFAULT_PASTE
help
paste is used to paste lines of different files together
and write the result to stdout
config BUSYBOX_CONFIG_PRINTENV
bool "printenv (1.3 kb)"
default BUSYBOX_DEFAULT_PRINTENV
help
printenv is used to print all or part of environment.
config BUSYBOX_CONFIG_PRINTF
bool "printf (3.8 kb)"
default BUSYBOX_DEFAULT_PRINTF
help
printf is used to format and print specified strings.
It's similar to 'echo' except it has more options.
config BUSYBOX_CONFIG_PWD
bool "pwd (3.7 kb)"
default BUSYBOX_DEFAULT_PWD
help
pwd is used to print the current directory.
config BUSYBOX_CONFIG_READLINK
bool "readlink (4 kb)"
default BUSYBOX_DEFAULT_READLINK
help
This program reads a symbolic link and returns the name
of the file it points to
config BUSYBOX_CONFIG_FEATURE_READLINK_FOLLOW
bool "Enable canonicalization by following all symlinks (-f)"
default BUSYBOX_DEFAULT_FEATURE_READLINK_FOLLOW
depends on BUSYBOX_CONFIG_READLINK
help
Enable the readlink option (-f).
config BUSYBOX_CONFIG_REALPATH
bool "realpath (1.6 kb)"
default BUSYBOX_DEFAULT_REALPATH
help
Return the canonicalized absolute pathname.
This isn't provided by GNU shellutils, but where else does it belong.
config BUSYBOX_CONFIG_RM
bool "rm (5.4 kb)"
default BUSYBOX_DEFAULT_RM
help
rm is used to remove files or directories.
config BUSYBOX_CONFIG_RMDIR
bool "rmdir (3.5 kb)"
default BUSYBOX_DEFAULT_RMDIR
help
rmdir is used to remove empty directories.
config BUSYBOX_CONFIG_SEQ
bool "seq (3.8 kb)"
default BUSYBOX_DEFAULT_SEQ
help
print a sequence of numbers
config BUSYBOX_CONFIG_SHRED
bool "shred (4.9 kb)"
default BUSYBOX_DEFAULT_SHRED
help
Overwrite a file to hide its contents, and optionally delete it
config BUSYBOX_CONFIG_SHUF
bool "shuf (5.4 kb)"
default BUSYBOX_DEFAULT_SHUF
help
Generate random permutations
config BUSYBOX_CONFIG_SLEEP
bool "sleep (2 kb)"
default BUSYBOX_DEFAULT_SLEEP
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.
config BUSYBOX_CONFIG_FEATURE_FANCY_SLEEP
bool "Enable multiple arguments and s/m/h/d suffixes"
default BUSYBOX_DEFAULT_FEATURE_FANCY_SLEEP
depends on BUSYBOX_CONFIG_SLEEP
help
Allow sleep to pause for specified minutes, hours, and days.
config BUSYBOX_CONFIG_SORT
bool "sort (7.7 kb)"
default BUSYBOX_DEFAULT_SORT
help
sort is used to sort lines of text in specified files.
config BUSYBOX_CONFIG_FEATURE_SORT_BIG
bool "Full SuSv3 compliant sort (support -ktcbdfioghM)"
default BUSYBOX_DEFAULT_FEATURE_SORT_BIG
depends on BUSYBOX_CONFIG_SORT
help
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
config BUSYBOX_CONFIG_FEATURE_SORT_OPTIMIZE_MEMORY
bool "Use less memory (but might be slower)"
default BUSYBOX_DEFAULT_FEATURE_SORT_OPTIMIZE_MEMORY # defaults to N since we are size-paranoid tribe
depends on BUSYBOX_CONFIG_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_CONFIG_SPLIT
bool "split (5 kb)"
default BUSYBOX_DEFAULT_SPLIT
help
Split a file into pieces.
config BUSYBOX_CONFIG_FEATURE_SPLIT_FANCY
bool "Fancy extensions"
default BUSYBOX_DEFAULT_FEATURE_SPLIT_FANCY
depends on BUSYBOX_CONFIG_SPLIT
help
Add support for features not required by SUSv3.
Supports additional suffixes 'b' for 512 bytes,
'g' for 1GiB for the -b option.
config BUSYBOX_CONFIG_STAT
bool "stat (11 kb)"
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
help
Without this, stat will not support the '-f' option to display
information about filesystem status.
config BUSYBOX_CONFIG_STTY
bool "stty (8.9 kb)"
default BUSYBOX_DEFAULT_STTY
help
stty is used to change and print terminal line settings.
config BUSYBOX_CONFIG_SUM
bool "sum (4 kb)"
default BUSYBOX_DEFAULT_SUM
help
checksum and count the blocks in a file
config BUSYBOX_CONFIG_SYNC
bool "sync (3.8 kb)"
default BUSYBOX_DEFAULT_SYNC
help
sync is used to flush filesystem buffers.
config BUSYBOX_CONFIG_FEATURE_SYNC_FANCY
bool "Enable -d and -f flags (requires syncfs(2) in libc)"
default BUSYBOX_DEFAULT_FEATURE_SYNC_FANCY
depends on BUSYBOX_CONFIG_SYNC
help
sync -d FILE... executes fdatasync() on each FILE.
sync -f FILE... executes syncfs() on each FILE.
config BUSYBOX_CONFIG_FSYNC
bool "fsync (3.6 kb)"
default BUSYBOX_DEFAULT_FSYNC
help
fsync is used to flush file-related cached blocks to disk.
config BUSYBOX_CONFIG_TAC
bool "tac (3.9 kb)"
default BUSYBOX_DEFAULT_TAC
help
tac is used to concatenate and print files in reverse.
config BUSYBOX_CONFIG_TAIL
bool "tail (6.8 kb)"
default BUSYBOX_DEFAULT_TAIL
help
tail is used to print the last specified number of lines
from files.
config BUSYBOX_CONFIG_FEATURE_FANCY_TAIL
bool "Enable -q, -s, -v, and -F options"
default BUSYBOX_DEFAULT_FEATURE_FANCY_TAIL
depends on BUSYBOX_CONFIG_TAIL
help
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_CONFIG_TEE
bool "tee (4.2 kb)"
default BUSYBOX_DEFAULT_TEE
help
tee is used to read from standard input and write
to standard output and files.
config BUSYBOX_CONFIG_FEATURE_TEE_USE_BLOCK_IO
bool "Enable block I/O (larger/faster) instead of byte I/O"
default BUSYBOX_DEFAULT_FEATURE_TEE_USE_BLOCK_IO
depends on BUSYBOX_CONFIG_TEE
help
Enable this option for a faster tee, at expense of size.
config BUSYBOX_CONFIG_TEST
bool "test (4.1 kb)"
default BUSYBOX_DEFAULT_TEST
help
test is used to check file types and compare values,
returning an appropriate exit code. The bash shell
has test built in, ash can build it in optionally.
config BUSYBOX_CONFIG_TEST1
bool "test as ["
default BUSYBOX_DEFAULT_TEST1
help
Provide test command in the "[ EXPR ]" form
config BUSYBOX_CONFIG_TEST2
bool "test as [["
default BUSYBOX_DEFAULT_TEST2
help
Provide test command in the "[[ EXPR ]]" form
config BUSYBOX_CONFIG_FEATURE_TEST_64
bool "Extend test to 64 bit"
default BUSYBOX_DEFAULT_FEATURE_TEST_64
depends on BUSYBOX_CONFIG_TEST || BUSYBOX_CONFIG_TEST1 || BUSYBOX_CONFIG_TEST2 || BUSYBOX_CONFIG_ASH_TEST || BUSYBOX_CONFIG_HUSH_TEST
help
Enable 64-bit support in test.
config BUSYBOX_CONFIG_TIMEOUT
bool "timeout (6 kb)"
default BUSYBOX_DEFAULT_TIMEOUT
help
Runs a program and watches it. If it does not terminate in
specified number of seconds, it is sent a signal.
config BUSYBOX_CONFIG_TOUCH
bool "touch (5.9 kb)"
default BUSYBOX_DEFAULT_TOUCH
help
touch is used to create or change the access and/or
modification timestamp of specified files.
config BUSYBOX_CONFIG_FEATURE_TOUCH_SUSV3
bool "Add support for SUSV3 features (-a -d -m -t -r)"
default BUSYBOX_DEFAULT_FEATURE_TOUCH_SUSV3
depends on BUSYBOX_CONFIG_TOUCH
help
Enable touch to use a reference file or a given date/time argument.
config BUSYBOX_CONFIG_TR
bool "tr (5.1 kb)"
default BUSYBOX_DEFAULT_TR
help
tr is used to squeeze, and/or delete characters from standard
input, writing to standard output.
config BUSYBOX_CONFIG_FEATURE_TR_CLASSES
bool "Enable character classes (such as [:upper:])"
default BUSYBOX_DEFAULT_FEATURE_TR_CLASSES
depends on BUSYBOX_CONFIG_TR
help
Enable character classes, enabling commands such as:
tr [:upper:] [:lower:] to convert input into lowercase.
config BUSYBOX_CONFIG_FEATURE_TR_EQUIV
bool "Enable equivalence classes"
default BUSYBOX_DEFAULT_FEATURE_TR_EQUIV
depends on BUSYBOX_CONFIG_TR
help
Enable equivalence classes, which essentially add the enclosed
character to the current set. For instance, tr [=a=] xyz would
replace all instances of 'a' with 'xyz'. This option is mainly
useful for cases when no other way of expressing a character
is possible.
config BUSYBOX_CONFIG_TRUE
bool "true (tiny)"
default BUSYBOX_DEFAULT_TRUE
help
true returns an exit code of TRUE (0).
config BUSYBOX_CONFIG_TRUNCATE
bool "truncate (4.2 kb)"
default BUSYBOX_DEFAULT_TRUNCATE
help
truncate truncates files to a given size. If a file does
not exist, it is created unless told otherwise.
config BUSYBOX_CONFIG_TSORT
bool "tsort (0.7 kb)"
default BUSYBOX_DEFAULT_TSORT
help
tsort performs a topological sort.
config BUSYBOX_CONFIG_TTY
bool "tty (3.6 kb)"
default BUSYBOX_DEFAULT_TTY
help
tty is used to print the name of the current terminal to
standard output.
config BUSYBOX_CONFIG_UNAME
bool "uname (3.9 kb)"
default BUSYBOX_DEFAULT_UNAME
help
uname is used to print system information.
config BUSYBOX_CONFIG_UNAME_OSNAME
string "Operating system name"
default BUSYBOX_DEFAULT_UNAME_OSNAME
depends on BUSYBOX_CONFIG_UNAME
help
Sets the operating system name reported by uname -o. The
default BUSYBOX_DEFAULT_UNAME_OSNAME "GNU/Linux".
config BUSYBOX_CONFIG_BB_ARCH
bool "arch (1.1 kb)"
default BUSYBOX_DEFAULT_BB_ARCH
help
Same as uname -m.
config BUSYBOX_CONFIG_UNIQ
bool "uniq (4.9 kb)"
default BUSYBOX_DEFAULT_UNIQ
help
uniq is used to remove duplicate lines from a sorted file.
config BUSYBOX_CONFIG_UNLINK
bool "unlink (3.2 kb)"
default BUSYBOX_DEFAULT_UNLINK
help
unlink deletes a file by calling unlink()
config BUSYBOX_CONFIG_USLEEP
bool "usleep (1.3 kb)"
default BUSYBOX_DEFAULT_USLEEP
help
usleep is used to pause for a specified number of microseconds.
config BUSYBOX_CONFIG_UUDECODE
bool "uudecode (5.8 kb)"
default BUSYBOX_DEFAULT_UUDECODE
help
uudecode is used to decode a uuencoded file.
config BUSYBOX_CONFIG_BASE32
bool "base32 (4.9 kb)"
default BUSYBOX_DEFAULT_BASE32
help
Base32 encode and decode
config BUSYBOX_CONFIG_BASE64
bool "base64 (4.9 kb)"
default BUSYBOX_DEFAULT_BASE64
help
Base64 encode and decode
config BUSYBOX_CONFIG_UUENCODE
bool "uuencode (4.4 kb)"
default BUSYBOX_DEFAULT_UUENCODE
help
uuencode is used to uuencode a file.
config BUSYBOX_CONFIG_WC
bool "wc (4.5 kb)"
default BUSYBOX_DEFAULT_WC
help
wc is used to print the number of bytes, words, and lines,
in specified files.
config BUSYBOX_CONFIG_FEATURE_WC_LARGE
bool "Support very large counts"
default BUSYBOX_DEFAULT_FEATURE_WC_LARGE
depends on BUSYBOX_CONFIG_WC
help
Use "unsigned long long" for counter variables.
config BUSYBOX_CONFIG_WHO
bool "who (3.9 kb)"
default BUSYBOX_DEFAULT_WHO
depends on BUSYBOX_CONFIG_FEATURE_UTMP
help
Print users currently logged on.
config BUSYBOX_CONFIG_W
bool "w (3.8 kb)"
default BUSYBOX_DEFAULT_W
depends on BUSYBOX_CONFIG_FEATURE_UTMP
help
Print users currently logged on.
config BUSYBOX_CONFIG_USERS
bool "users (3.4 kb)"
default BUSYBOX_DEFAULT_USERS
depends on BUSYBOX_CONFIG_FEATURE_UTMP
help
Print users currently logged on.
config BUSYBOX_CONFIG_WHOAMI
bool "whoami (3.2 kb)"
default BUSYBOX_DEFAULT_WHOAMI
help
whoami is used to print the username of the current
user id (same as id -un).
config BUSYBOX_CONFIG_YES
bool "yes (1.2 kb)"
default BUSYBOX_DEFAULT_YES
help
yes is used to repeatedly output a specific string, or
the default string 'y'.
endmenu

View File

@@ -0,0 +1,70 @@
# 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 "Debian Utilities"
config BUSYBOX_CONFIG_PIPE_PROGRESS
bool "pipe_progress (275 bytes)"
default BUSYBOX_DEFAULT_PIPE_PROGRESS
help
Display a dot to indicate pipe activity.
config BUSYBOX_CONFIG_RUN_PARTS
bool "run-parts (6.1 kb)"
default BUSYBOX_DEFAULT_RUN_PARTS
help
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.
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.
config BUSYBOX_CONFIG_FEATURE_RUN_PARTS_LONG_OPTIONS
bool "Enable long options"
default BUSYBOX_DEFAULT_FEATURE_RUN_PARTS_LONG_OPTIONS
depends on BUSYBOX_CONFIG_RUN_PARTS && BUSYBOX_CONFIG_LONG_OPTS
config BUSYBOX_CONFIG_FEATURE_RUN_PARTS_FANCY
bool "Support additional arguments"
default BUSYBOX_DEFAULT_FEATURE_RUN_PARTS_FANCY
depends on BUSYBOX_CONFIG_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.
config BUSYBOX_CONFIG_START_STOP_DAEMON
bool "start-stop-daemon (12 kb)"
default BUSYBOX_DEFAULT_START_STOP_DAEMON
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_CONFIG_FEATURE_START_STOP_DAEMON_LONG_OPTIONS
bool "Enable long options"
default BUSYBOX_DEFAULT_FEATURE_START_STOP_DAEMON_LONG_OPTIONS
depends on BUSYBOX_CONFIG_START_STOP_DAEMON && BUSYBOX_CONFIG_LONG_OPTS
config BUSYBOX_CONFIG_FEATURE_START_STOP_DAEMON_FANCY
bool "Support additional arguments"
default BUSYBOX_DEFAULT_FEATURE_START_STOP_DAEMON_FANCY
depends on BUSYBOX_CONFIG_START_STOP_DAEMON
help
-o|--oknodo ignored since we exit with 0 anyway
-v|--verbose
-N|--nicelevel N
config BUSYBOX_CONFIG_WHICH
bool "which (3.8 kb)"
default BUSYBOX_DEFAULT_WHICH
help
which is used to find programs in your PATH and
print out their pathnames.
endmenu

View File

@@ -0,0 +1,66 @@
# 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 "Linux Ext2 FS Progs"
config BUSYBOX_CONFIG_CHATTR
bool "chattr (3.8 kb)"
default BUSYBOX_DEFAULT_CHATTR
help
chattr changes the file attributes on a second extended file system.
config BUSYBOX_CONFIG_FSCK
bool "fsck (7.4 kb)"
default BUSYBOX_DEFAULT_FSCK
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_CONFIG_LSATTR
bool "lsattr (5.5 kb)"
default BUSYBOX_DEFAULT_LSATTR
help
lsattr lists the file attributes on a second extended file system.
config BUSYBOX_CONFIG_TUNE2FS
bool "tune2fs (4.4 kb)"
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
### 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 E2LABEL
### bool "e2label"
### default y
### depends on TUNE2FS
### help
### e2label will display or change the filesystem label on the ext2
### filesystem located on device.
### NB: this one is now provided by util-linux/volume_id/*
### config FINDFS
### bool "findfs"
### default y
### depends on 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

View File

@@ -0,0 +1,69 @@
# 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_CONFIG_CHATTR
bool "chattr"
default BUSYBOX_DEFAULT_CHATTR
help
chattr changes the file attributes on a second extended file system.
config BUSYBOX_CONFIG_E2FSCK
bool "e2fsck"
default BUSYBOX_DEFAULT_E2FSCK
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
bool "fsck"
default BUSYBOX_DEFAULT_FSCK
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_CONFIG_LSATTR
bool "lsattr"
default BUSYBOX_DEFAULT_LSATTR
help
lsattr lists the file attributes on a second extended file system.
config BUSYBOX_CONFIG_MKE2FS
bool "mke2fs"
default BUSYBOX_DEFAULT_MKE2FS
help
mke2fs is used to create an ext2/ext3 filesystem. The normal compat
symlinks 'mkfs.ext2' and 'mkfs.ext3' are also provided.
config BUSYBOX_CONFIG_TUNE2FS
bool "tune2fs"
default BUSYBOX_DEFAULT_TUNE2FS
help
tune2fs allows the system administrator to adjust various tunable
filesystem parameters on Linux ext2/ext3 filesystems.
config BUSYBOX_CONFIG_E2LABEL
bool "e2label"
default BUSYBOX_DEFAULT_E2LABEL
depends on BUSYBOX_CONFIG_TUNE2FS
help
e2label will display or change the filesystem label on the ext2
filesystem located on device.
config BUSYBOX_CONFIG_FINDFS
bool "findfs"
default BUSYBOX_DEFAULT_FINDFS
depends on BUSYBOX_CONFIG_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

View File

@@ -0,0 +1,245 @@
# 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 "Editors"
config BUSYBOX_CONFIG_AWK
bool "awk (23 kb)"
default BUSYBOX_DEFAULT_AWK
help
Awk is used as a pattern scanning and processing language.
config BUSYBOX_CONFIG_FEATURE_AWK_LIBM
bool "Enable math functions (requires libm)"
default BUSYBOX_DEFAULT_FEATURE_AWK_LIBM
depends on BUSYBOX_CONFIG_AWK
help
Enable math functions of the Awk programming language.
NOTE: This requires libm to be present for linking.
config BUSYBOX_CONFIG_FEATURE_AWK_GNU_EXTENSIONS
bool "Enable a few GNU extensions"
default BUSYBOX_DEFAULT_FEATURE_AWK_GNU_EXTENSIONS
depends on BUSYBOX_CONFIG_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_CONFIG_CMP
bool "cmp (4.9 kb)"
default BUSYBOX_DEFAULT_CMP
help
cmp is used to compare two files and returns the result
to standard output.
config BUSYBOX_CONFIG_DIFF
bool "diff (13 kb)"
default BUSYBOX_DEFAULT_DIFF
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_CONFIG_FEATURE_DIFF_LONG_OPTIONS
bool "Enable long options"
default BUSYBOX_DEFAULT_FEATURE_DIFF_LONG_OPTIONS
depends on BUSYBOX_CONFIG_DIFF && BUSYBOX_CONFIG_LONG_OPTS
config BUSYBOX_CONFIG_FEATURE_DIFF_DIR
bool "Enable directory support"
default BUSYBOX_DEFAULT_FEATURE_DIFF_DIR
depends on BUSYBOX_CONFIG_DIFF
help
This option enables support for directory and subdirectory
comparison.
config BUSYBOX_CONFIG_ED
bool "ed (21 kb)"
default BUSYBOX_DEFAULT_ED
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_CONFIG_PATCH
bool "patch (9.4 kb)"
default BUSYBOX_DEFAULT_PATCH
help
Apply a unified diff formatted patch.
config BUSYBOX_CONFIG_SED
bool "sed (12 kb)"
default BUSYBOX_DEFAULT_SED
help
sed is used to perform text transformations on a file
or input from a pipeline.
config BUSYBOX_CONFIG_VI
bool "vi (23 kb)"
default BUSYBOX_DEFAULT_VI
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.
config BUSYBOX_CONFIG_FEATURE_VI_MAX_LEN
int "Maximum screen width"
range 256 16384
default BUSYBOX_DEFAULT_FEATURE_VI_MAX_LEN
depends on BUSYBOX_CONFIG_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.
config BUSYBOX_CONFIG_FEATURE_VI_8BIT
bool "Allow to display 8-bit chars (otherwise shows dots)"
default BUSYBOX_DEFAULT_FEATURE_VI_8BIT
depends on BUSYBOX_CONFIG_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.
config BUSYBOX_CONFIG_FEATURE_VI_COLON
bool "Enable \":\" colon commands (no \"ex\" mode)"
default BUSYBOX_DEFAULT_FEATURE_VI_COLON
depends on BUSYBOX_CONFIG_VI
help
Enable a limited set of colon commands. This does not
provide an "ex" mode.
config BUSYBOX_CONFIG_FEATURE_VI_COLON_EXPAND
bool "Expand \"%\" and \"#\" in colon commands"
default BUSYBOX_DEFAULT_FEATURE_VI_COLON_EXPAND
depends on BUSYBOX_CONFIG_FEATURE_VI_COLON
help
Expand the special characters \"%\" (current filename)
and \"#\" (alternate filename) in colon commands.
config BUSYBOX_CONFIG_FEATURE_VI_YANKMARK
bool "Enable yank/put commands and mark cmds"
default BUSYBOX_DEFAULT_FEATURE_VI_YANKMARK
depends on BUSYBOX_CONFIG_VI
help
This enables you to use yank and put, as well as mark.
config BUSYBOX_CONFIG_FEATURE_VI_SEARCH
bool "Enable search and replace cmds"
default BUSYBOX_DEFAULT_FEATURE_VI_SEARCH
depends on BUSYBOX_CONFIG_VI
help
Select this if you wish to be able to do search and replace.
config BUSYBOX_CONFIG_FEATURE_VI_REGEX_SEARCH
bool "Enable regex in search and replace"
default BUSYBOX_DEFAULT_FEATURE_VI_REGEX_SEARCH # Uses GNU regex, which may be unavailable. FIXME
depends on BUSYBOX_CONFIG_FEATURE_VI_SEARCH
depends on USE_GLIBC
help
Use extended regex search.
config BUSYBOX_CONFIG_FEATURE_VI_USE_SIGNALS
bool "Catch signals"
default BUSYBOX_DEFAULT_FEATURE_VI_USE_SIGNALS
depends on BUSYBOX_CONFIG_VI
help
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_CONFIG_FEATURE_VI_DOT_CMD
bool "Remember previous cmd and \".\" cmd"
default BUSYBOX_DEFAULT_FEATURE_VI_DOT_CMD
depends on BUSYBOX_CONFIG_VI
help
Make vi remember the last command and be able to repeat it.
config BUSYBOX_CONFIG_FEATURE_VI_READONLY
bool "Enable -R option and \"view\" mode"
default BUSYBOX_DEFAULT_FEATURE_VI_READONLY
depends on BUSYBOX_CONFIG_VI
help
Enable the read-only command line option, which allows the user to
open a file in read-only mode.
config BUSYBOX_CONFIG_FEATURE_VI_SETOPTS
bool "Enable settable options, ai ic showmatch"
default BUSYBOX_DEFAULT_FEATURE_VI_SETOPTS
depends on BUSYBOX_CONFIG_VI
help
Enable the editor to set some (ai, ic, showmatch) options.
config BUSYBOX_CONFIG_FEATURE_VI_SET
bool "Support :set"
default BUSYBOX_DEFAULT_FEATURE_VI_SET
depends on BUSYBOX_CONFIG_VI
config BUSYBOX_CONFIG_FEATURE_VI_WIN_RESIZE
bool "Handle window resize"
default BUSYBOX_DEFAULT_FEATURE_VI_WIN_RESIZE
depends on BUSYBOX_CONFIG_VI
help
Behave nicely with terminals that get resized.
config BUSYBOX_CONFIG_FEATURE_VI_ASK_TERMINAL
bool "Use 'tell me cursor position' ESC sequence to measure window"
default BUSYBOX_DEFAULT_FEATURE_VI_ASK_TERMINAL
depends on BUSYBOX_CONFIG_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.
config BUSYBOX_CONFIG_FEATURE_VI_UNDO
bool "Support undo command \"u\""
default BUSYBOX_DEFAULT_FEATURE_VI_UNDO
depends on BUSYBOX_CONFIG_VI
help
Support the 'u' command to undo insertion, deletion, and replacement
of text.
config BUSYBOX_CONFIG_FEATURE_VI_UNDO_QUEUE
bool "Enable undo operation queuing"
default BUSYBOX_DEFAULT_FEATURE_VI_UNDO_QUEUE
depends on BUSYBOX_CONFIG_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.
config BUSYBOX_CONFIG_FEATURE_VI_UNDO_QUEUE_MAX
int "Maximum undo character queue size"
default BUSYBOX_DEFAULT_FEATURE_VI_UNDO_QUEUE_MAX
range 32 65536
depends on BUSYBOX_CONFIG_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.
config BUSYBOX_CONFIG_FEATURE_VI_VERBOSE_STATUS
bool "Enable verbose status reporting"
default BUSYBOX_DEFAULT_FEATURE_VI_VERBOSE_STATUS
depends on BUSYBOX_CONFIG_VI
help
Enable more verbose reporting of the results of yank, change,
delete, undo and substitution commands.
config BUSYBOX_CONFIG_FEATURE_ALLOW_EXEC
bool "Allow vi and awk to execute shell commands"
default BUSYBOX_DEFAULT_FEATURE_ALLOW_EXEC
depends on BUSYBOX_CONFIG_VI || BUSYBOX_CONFIG_AWK
help
Enables vi and awk features which allow user to execute
shell commands (using system() C call).
endmenu

View File

@@ -0,0 +1,318 @@
# 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 "Finding Utilities"
config BUSYBOX_CONFIG_FIND
bool "find (14 kb)"
default BUSYBOX_DEFAULT_FIND
help
find is used to search your system to find specified files.
config BUSYBOX_CONFIG_FEATURE_FIND_PRINT0
bool "Enable -print0: NUL-terminated output"
default BUSYBOX_DEFAULT_FEATURE_FIND_PRINT0
depends on BUSYBOX_CONFIG_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.
config BUSYBOX_CONFIG_FEATURE_FIND_MTIME
bool "Enable -mtime: modification time matching"
default BUSYBOX_DEFAULT_FEATURE_FIND_MTIME
depends on BUSYBOX_CONFIG_FIND
help
Allow searching based on the modification time of
files, in days.
config BUSYBOX_CONFIG_FEATURE_FIND_ATIME
bool "Enable -atime: access time matching"
default BUSYBOX_DEFAULT_FEATURE_FIND_ATIME
depends on BUSYBOX_CONFIG_FEATURE_FIND_MTIME
help
Allow searching based on the access time of
files, in days.
config BUSYBOX_CONFIG_FEATURE_FIND_CTIME
bool "Enable -ctime: status change timestamp matching"
default BUSYBOX_DEFAULT_FEATURE_FIND_CTIME
depends on BUSYBOX_CONFIG_FEATURE_FIND_MTIME
help
Allow searching based on the status change timestamp of
files, in days.
config BUSYBOX_CONFIG_FEATURE_FIND_MMIN
bool "Enable -mmin: modification time matching by minutes"
default BUSYBOX_DEFAULT_FEATURE_FIND_MMIN
depends on BUSYBOX_CONFIG_FIND
help
Allow searching based on the modification time of
files, in minutes.
config BUSYBOX_CONFIG_FEATURE_FIND_AMIN
bool "Enable -amin: access time matching by minutes"
default BUSYBOX_DEFAULT_FEATURE_FIND_AMIN
depends on BUSYBOX_CONFIG_FEATURE_FIND_MMIN
help
Allow searching based on the access time of
files, in minutes.
config BUSYBOX_CONFIG_FEATURE_FIND_CMIN
bool "Enable -cmin: status change timestamp matching by minutes"
default BUSYBOX_DEFAULT_FEATURE_FIND_CMIN
depends on BUSYBOX_CONFIG_FEATURE_FIND_MMIN
help
Allow searching based on the status change timestamp of
files, in minutes.
config BUSYBOX_CONFIG_FEATURE_FIND_PERM
bool "Enable -perm: permissions matching"
default BUSYBOX_DEFAULT_FEATURE_FIND_PERM
depends on BUSYBOX_CONFIG_FIND
config BUSYBOX_CONFIG_FEATURE_FIND_TYPE
bool "Enable -type: file type matching (file/dir/link/...)"
default BUSYBOX_DEFAULT_FEATURE_FIND_TYPE
depends on BUSYBOX_CONFIG_FIND
help
Enable searching based on file type (file,
directory, socket, device, etc.).
config BUSYBOX_CONFIG_FEATURE_FIND_EXECUTABLE
bool "Enable -executable: file is executable"
default BUSYBOX_DEFAULT_FEATURE_FIND_EXECUTABLE
depends on BUSYBOX_CONFIG_FIND
config BUSYBOX_CONFIG_FEATURE_FIND_XDEV
bool "Enable -xdev: 'stay in filesystem'"
default BUSYBOX_DEFAULT_FEATURE_FIND_XDEV
depends on BUSYBOX_CONFIG_FIND
config BUSYBOX_CONFIG_FEATURE_FIND_MAXDEPTH
bool "Enable -mindepth N and -maxdepth N"
default BUSYBOX_DEFAULT_FEATURE_FIND_MAXDEPTH
depends on BUSYBOX_CONFIG_FIND
config BUSYBOX_CONFIG_FEATURE_FIND_NEWER
bool "Enable -newer: compare file modification times"
default BUSYBOX_DEFAULT_FEATURE_FIND_NEWER
depends on BUSYBOX_CONFIG_FIND
help
Support the 'find -newer' option for finding any files which have
modification time that is more recent than the specified FILE.
config BUSYBOX_CONFIG_FEATURE_FIND_INUM
bool "Enable -inum: inode number matching"
default BUSYBOX_DEFAULT_FEATURE_FIND_INUM
depends on BUSYBOX_CONFIG_FIND
config BUSYBOX_CONFIG_FEATURE_FIND_SAMEFILE
bool "Enable -samefile: reference file matching"
default BUSYBOX_DEFAULT_FEATURE_FIND_SAMEFILE
depends on BUSYBOX_CONFIG_FIND
help
Support the 'find -samefile' option for searching by a reference file.
config BUSYBOX_CONFIG_FEATURE_FIND_EXEC
bool "Enable -exec: execute commands"
default BUSYBOX_DEFAULT_FEATURE_FIND_EXEC
depends on BUSYBOX_CONFIG_FIND
help
Support the 'find -exec' option for executing commands based upon
the files matched.
config BUSYBOX_CONFIG_FEATURE_FIND_EXEC_PLUS
bool "Enable -exec ... {} +"
default BUSYBOX_DEFAULT_FEATURE_FIND_EXEC_PLUS
depends on BUSYBOX_CONFIG_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)
config BUSYBOX_CONFIG_FEATURE_FIND_USER
bool "Enable -user: username/uid matching"
default BUSYBOX_DEFAULT_FEATURE_FIND_USER
depends on BUSYBOX_CONFIG_FIND
config BUSYBOX_CONFIG_FEATURE_FIND_GROUP
bool "Enable -group: group/gid matching"
default BUSYBOX_DEFAULT_FEATURE_FIND_GROUP
depends on BUSYBOX_CONFIG_FIND
config BUSYBOX_CONFIG_FEATURE_FIND_NOT
bool "Enable the 'not' (!) operator"
default BUSYBOX_DEFAULT_FEATURE_FIND_NOT
depends on BUSYBOX_CONFIG_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'.
config BUSYBOX_CONFIG_FEATURE_FIND_DEPTH
bool "Enable -depth"
default BUSYBOX_DEFAULT_FEATURE_FIND_DEPTH
depends on BUSYBOX_CONFIG_FIND
help
Process each directory's contents before the directory itself.
config BUSYBOX_CONFIG_FEATURE_FIND_PAREN
bool "Enable parens in options"
default BUSYBOX_DEFAULT_FEATURE_FIND_PAREN
depends on BUSYBOX_CONFIG_FIND
help
Enable usage of parens '(' to specify logical order of arguments.
config BUSYBOX_CONFIG_FEATURE_FIND_SIZE
bool "Enable -size: file size matching"
default BUSYBOX_DEFAULT_FEATURE_FIND_SIZE
depends on BUSYBOX_CONFIG_FIND
config BUSYBOX_CONFIG_FEATURE_FIND_PRUNE
bool "Enable -prune: exclude subdirectories"
default BUSYBOX_DEFAULT_FEATURE_FIND_PRUNE
depends on BUSYBOX_CONFIG_FIND
help
If the file is a directory, don't descend into it. Useful for
exclusion .svn and CVS directories.
config BUSYBOX_CONFIG_FEATURE_FIND_QUIT
bool "Enable -quit: exit"
default BUSYBOX_DEFAULT_FEATURE_FIND_QUIT
depends on BUSYBOX_CONFIG_FIND
help
If this action is reached, 'find' exits.
config BUSYBOX_CONFIG_FEATURE_FIND_DELETE
bool "Enable -delete: delete files/dirs"
default BUSYBOX_DEFAULT_FEATURE_FIND_DELETE
depends on BUSYBOX_CONFIG_FIND && BUSYBOX_CONFIG_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.
config BUSYBOX_CONFIG_FEATURE_FIND_EMPTY
bool "Enable -empty: match empty files or directories"
default BUSYBOX_DEFAULT_FEATURE_FIND_EMPTY
depends on BUSYBOX_CONFIG_FIND
help
Support the 'find -empty' option to find empty regular files
or directories.
config BUSYBOX_CONFIG_FEATURE_FIND_PATH
bool "Enable -path: match pathname with shell pattern"
default BUSYBOX_DEFAULT_FEATURE_FIND_PATH
depends on BUSYBOX_CONFIG_FIND
help
The -path option matches whole pathname instead of just filename.
config BUSYBOX_CONFIG_FEATURE_FIND_REGEX
bool "Enable -regex: match pathname with regex"
default BUSYBOX_DEFAULT_FEATURE_FIND_REGEX
depends on BUSYBOX_CONFIG_FIND
help
The -regex option matches whole pathname against regular expression.
config BUSYBOX_CONFIG_FEATURE_FIND_CONTEXT
bool "Enable -context: security context matching"
default BUSYBOX_DEFAULT_FEATURE_FIND_CONTEXT
depends on BUSYBOX_CONFIG_FIND && BUSYBOX_CONFIG_SELINUX
help
Support the 'find -context' option for matching security context.
config BUSYBOX_CONFIG_FEATURE_FIND_LINKS
bool "Enable -links: link count matching"
default BUSYBOX_DEFAULT_FEATURE_FIND_LINKS
depends on BUSYBOX_CONFIG_FIND
help
Support the 'find -links' option for matching number of links.
config BUSYBOX_CONFIG_GREP
bool "grep (8.6 kb)"
default BUSYBOX_DEFAULT_GREP
help
grep is used to search files for a specified pattern.
config BUSYBOX_CONFIG_EGREP
bool "egrep (7.8 kb)"
default BUSYBOX_DEFAULT_EGREP
help
Alias to "grep -E".
config BUSYBOX_CONFIG_FGREP
bool "fgrep (7.8 kb)"
default BUSYBOX_DEFAULT_FGREP
help
Alias to "grep -F".
config BUSYBOX_CONFIG_FEATURE_GREP_CONTEXT
bool "Enable before and after context flags (-A, -B and -C)"
default BUSYBOX_DEFAULT_FEATURE_GREP_CONTEXT
depends on BUSYBOX_CONFIG_GREP || BUSYBOX_CONFIG_EGREP || BUSYBOX_CONFIG_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).
config BUSYBOX_CONFIG_XARGS
bool "xargs (7.2 kb)"
default BUSYBOX_DEFAULT_XARGS
help
xargs is used to execute a specified command for
every item from standard input.
config BUSYBOX_CONFIG_FEATURE_XARGS_SUPPORT_CONFIRMATION
bool "Enable -p: prompt and confirmation"
default BUSYBOX_DEFAULT_FEATURE_XARGS_SUPPORT_CONFIRMATION
depends on BUSYBOX_CONFIG_XARGS
help
Support -p: prompt the user whether to run each command
line and read a line from the terminal.
config BUSYBOX_CONFIG_FEATURE_XARGS_SUPPORT_QUOTES
bool "Enable single and double quotes and backslash"
default BUSYBOX_DEFAULT_FEATURE_XARGS_SUPPORT_QUOTES
depends on BUSYBOX_CONFIG_XARGS
help
Support quoting in the input.
config BUSYBOX_CONFIG_FEATURE_XARGS_SUPPORT_TERMOPT
bool "Enable -x: exit if -s or -n is exceeded"
default BUSYBOX_DEFAULT_FEATURE_XARGS_SUPPORT_TERMOPT
depends on BUSYBOX_CONFIG_XARGS
help
Support -x: exit if the command size (see the -s or -n option)
is exceeded.
config BUSYBOX_CONFIG_FEATURE_XARGS_SUPPORT_ZERO_TERM
bool "Enable -0: NUL-terminated input"
default BUSYBOX_DEFAULT_FEATURE_XARGS_SUPPORT_ZERO_TERM
depends on BUSYBOX_CONFIG_XARGS
help
Support -0: input items are terminated by a NUL character
instead of whitespace, and the quotes and backslash
are not special.
config BUSYBOX_CONFIG_FEATURE_XARGS_SUPPORT_REPL_STR
bool "Enable -I STR: string to replace"
default BUSYBOX_DEFAULT_FEATURE_XARGS_SUPPORT_REPL_STR
depends on BUSYBOX_CONFIG_XARGS
help
Support -I STR and -i[STR] options.
config BUSYBOX_CONFIG_FEATURE_XARGS_SUPPORT_PARALLEL
bool "Enable -P N: processes to run in parallel"
default BUSYBOX_DEFAULT_FEATURE_XARGS_SUPPORT_PARALLEL
depends on BUSYBOX_CONFIG_XARGS
config BUSYBOX_CONFIG_FEATURE_XARGS_SUPPORT_ARGS_FILE
bool "Enable -a FILE: use FILE instead of stdin"
default BUSYBOX_DEFAULT_FEATURE_XARGS_SUPPORT_ARGS_FILE
depends on BUSYBOX_CONFIG_XARGS
endmenu

View File

@@ -0,0 +1,206 @@
# 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 "Init Utilities"
config BUSYBOX_CONFIG_BOOTCHARTD
bool "bootchartd (10 kb)"
default BUSYBOX_DEFAULT_BOOTCHARTD
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.
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_CONFIG_FEATURE_BOOTCHARTD_BLOATED_HEADER
bool "Compatible, bloated header"
default BUSYBOX_DEFAULT_FEATURE_BOOTCHARTD_BLOATED_HEADER
depends on BUSYBOX_CONFIG_BOOTCHARTD
help
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_CONFIG_FEATURE_BOOTCHARTD_CONFIG_FILE
bool "Support bootchartd.conf"
default BUSYBOX_DEFAULT_FEATURE_BOOTCHARTD_CONFIG_FILE
depends on BUSYBOX_CONFIG_BOOTCHARTD
help
Enable reading and parsing of $PWD/bootchartd.conf
and /etc/bootchartd.conf files.
config BUSYBOX_CONFIG_HALT
bool "halt (4 kb)"
default BUSYBOX_DEFAULT_HALT
help
Stop all processes and halt the system.
config BUSYBOX_CONFIG_POWEROFF
bool "poweroff (4 kb)"
default BUSYBOX_DEFAULT_POWEROFF
help
Stop all processes and power off the system.
config BUSYBOX_CONFIG_REBOOT
bool "reboot (4 kb)"
default BUSYBOX_DEFAULT_REBOOT
help
Stop all processes and reboot the system.
config BUSYBOX_CONFIG_FEATURE_WAIT_FOR_INIT
bool "Before signaling init, make sure it is ready for it"
default BUSYBOX_DEFAULT_FEATURE_WAIT_FOR_INIT
depends on BUSYBOX_CONFIG_HALT || BUSYBOX_CONFIG_POWEROFF || BUSYBOX_CONFIG_REBOOT
help
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_CONFIG_FEATURE_CALL_TELINIT
bool "Call telinit on shutdown and reboot"
default BUSYBOX_DEFAULT_FEATURE_CALL_TELINIT
depends on (BUSYBOX_CONFIG_HALT || BUSYBOX_CONFIG_POWEROFF || BUSYBOX_CONFIG_REBOOT) && !BUSYBOX_CONFIG_INIT
help
Call an external program (normally telinit) to facilitate
a switch to a proper runlevel.
This option is only available if you selected halt and friends,
but did not select init.
config BUSYBOX_CONFIG_TELINIT_PATH
string "Path to telinit executable"
default BUSYBOX_DEFAULT_TELINIT_PATH
depends on BUSYBOX_CONFIG_FEATURE_CALL_TELINIT
help
When busybox halt and friends have to call external telinit
to facilitate proper shutdown, this path is to be used when
locating telinit executable.
config BUSYBOX_CONFIG_INIT
bool "init (10 kb)"
default BUSYBOX_DEFAULT_INIT
select BUSYBOX_CONFIG_FEATURE_SYSLOG
help
init is the first program run when the system boots.
config BUSYBOX_CONFIG_LINUXRC
bool "linuxrc: support running init from 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
bool "Support reading an inittab file"
default BUSYBOX_DEFAULT_FEATURE_USE_INITTAB
depends on BUSYBOX_CONFIG_INIT || BUSYBOX_CONFIG_LINUXRC
help
Allow init to read an inittab file when the system boot.
config BUSYBOX_CONFIG_FEATURE_KILL_REMOVED
bool "Support killing processes that have been removed from inittab"
default BUSYBOX_DEFAULT_FEATURE_KILL_REMOVED
depends on BUSYBOX_CONFIG_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.
config BUSYBOX_CONFIG_FEATURE_KILL_DELAY
int "How long to wait between TERM and KILL (0 - send TERM only)" if FEATURE_KILL_REMOVED
range 0 1024
default BUSYBOX_DEFAULT_FEATURE_KILL_DELAY
depends on BUSYBOX_CONFIG_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!)
config BUSYBOX_CONFIG_FEATURE_INIT_SCTTY
bool "Run commands with leading dash with controlling tty"
default BUSYBOX_DEFAULT_FEATURE_INIT_SCTTY
depends on BUSYBOX_CONFIG_INIT || BUSYBOX_CONFIG_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_CONFIG_FEATURE_INIT_SYSLOG
bool "Enable init to write to syslog"
default BUSYBOX_DEFAULT_FEATURE_INIT_SYSLOG
depends on BUSYBOX_CONFIG_INIT || BUSYBOX_CONFIG_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_CONFIG_FEATURE_INIT_QUIET
bool "Be quiet on boot (no 'init started:' message)"
default BUSYBOX_DEFAULT_FEATURE_INIT_QUIET
depends on BUSYBOX_CONFIG_INIT || BUSYBOX_CONFIG_LINUXRC
config BUSYBOX_CONFIG_FEATURE_INIT_COREDUMPS
bool "Support dumping core for child processes (debugging only)"
default BUSYBOX_DEFAULT_FEATURE_INIT_COREDUMPS # not Y because this is a debug option
depends on BUSYBOX_CONFIG_INIT || BUSYBOX_CONFIG_LINUXRC
help
If this option is enabled and the file /.init_enable_core
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_CONFIG_INIT_TERMINAL_TYPE
string "Initial terminal type"
default BUSYBOX_DEFAULT_INIT_TERMINAL_TYPE
depends on BUSYBOX_CONFIG_INIT || BUSYBOX_CONFIG_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.
Note that on Linux, init attempts to detect serial terminal and
sets TERM to "vt102" if one is found.
config BUSYBOX_CONFIG_FEATURE_INIT_MODIFY_CMDLINE
bool "Clear init's command line"
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.
endmenu

View File

@@ -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_CONFIG_MINIPS
bool "minips (11 kb)"
default BUSYBOX_DEFAULT_MINIPS # for god's sake, just use "ps" name in your scripts
help
Alias to "ps".
config BUSYBOX_CONFIG_NUKE
bool "nuke (2.9 kb)"
default BUSYBOX_DEFAULT_NUKE # off by default: too "accidentally destructive"
help
Alias to "rm -rf".
config BUSYBOX_CONFIG_RESUME
bool "resume (3.2 kb)"
default BUSYBOX_DEFAULT_RESUME
help
Resume from saved "suspend-to-disk" image
config BUSYBOX_CONFIG_RUN_INIT
bool "run-init (7.7 kb)"
default BUSYBOX_DEFAULT_RUN_INIT
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

View File

@@ -0,0 +1,449 @@
# 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.
#
comment "Library Tuning"
config BUSYBOX_CONFIG_FEATURE_USE_BSS_TAIL
bool "Use the end of BSS page"
default BUSYBOX_DEFAULT_FEATURE_USE_BSS_TAIL
help
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_CONFIG_FLOAT_DURATION
bool "Enable fractional duration arguments"
default BUSYBOX_DEFAULT_FLOAT_DURATION
help
Allow sleep N.NNN, top -d N.NNN etc.
config BUSYBOX_CONFIG_FEATURE_RTMINMAX
bool "Support RTMIN[+n] and RTMAX[-n] signal names"
default BUSYBOX_DEFAULT_FEATURE_RTMINMAX
help
Support RTMIN[+n] and RTMAX[-n] signal names
in kill, killall etc. This costs ~250 bytes.
config BUSYBOX_CONFIG_FEATURE_RTMINMAX_USE_LIBC_DEFINITIONS
bool "Use the definitions of SIGRTMIN/SIGRTMAX provided by libc"
default BUSYBOX_DEFAULT_FEATURE_RTMINMAX_USE_LIBC_DEFINITIONS
depends on BUSYBOX_CONFIG_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_CONFIG_FEATURE_BUFFERS_GO_ON_STACK
help
There are 3 ways busybox can handle buffer allocations:
- Use malloc. This costs code size for the call to xmalloc.
- Put them on stack. For some very small machines with limited stack
space, this can be deadly. For most folks, this works just fine.
- Put them in BSS. This works beautifully for computers with a real
MMU (and OS support), but wastes runtime RAM for uCLinux. This
behavior was the only one available for versions 0.48 and earlier.
config BUSYBOX_CONFIG_FEATURE_BUFFERS_USE_MALLOC
bool "Allocate with Malloc"
config BUSYBOX_CONFIG_FEATURE_BUFFERS_GO_ON_STACK
bool "Allocate on the Stack"
config BUSYBOX_CONFIG_FEATURE_BUFFERS_GO_IN_BSS
bool "Allocate in the .bss section"
endchoice
config BUSYBOX_CONFIG_PASSWORD_MINLEN
int "Minimum password length"
default BUSYBOX_DEFAULT_PASSWORD_MINLEN
range 5 32
help
Minimum allowable password length.
config BUSYBOX_CONFIG_MD5_SMALL
int "MD5: Trade bytes for speed (0:fast, 3:slow)"
default BUSYBOX_DEFAULT_MD5_SMALL # 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_CONFIG_SHA1_SMALL
int "SHA1: Trade bytes for speed (0:fast, 3:slow)"
default BUSYBOX_DEFAULT_SHA1_SMALL # all "fast or small" options default to small
range 0 3
help
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_CONFIG_SHA1_HWACCEL
bool "SHA1: Use hardware accelerated instructions if possible"
default BUSYBOX_DEFAULT_SHA1_HWACCEL
help
On x86, this adds ~590 bytes of code. Throughput
is about twice as fast as fully-unrolled generic code.
config BUSYBOX_CONFIG_SHA256_HWACCEL
bool "SHA256: Use hardware accelerated instructions if possible"
default BUSYBOX_DEFAULT_SHA256_HWACCEL
help
On x86, this adds ~1k bytes of code.
config BUSYBOX_CONFIG_SHA3_SMALL
int "SHA3: Trade bytes for speed (0:fast, 1:slow)"
default BUSYBOX_DEFAULT_SHA3_SMALL # 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_CONFIG_FEATURE_NON_POSIX_CP
bool "Non-POSIX, but safer, copying to special nodes"
default BUSYBOX_DEFAULT_FEATURE_NON_POSIX_CP
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")
config BUSYBOX_CONFIG_FEATURE_VERBOSE_CP_MESSAGE
bool "Give more precise messages when copy fails (cp, mv etc)"
default BUSYBOX_DEFAULT_FEATURE_VERBOSE_CP_MESSAGE
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.
config BUSYBOX_CONFIG_FEATURE_USE_SENDFILE
bool "Use sendfile system call"
default BUSYBOX_DEFAULT_FEATURE_USE_SENDFILE
help
When enabled, busybox will use the kernel sendfile() function
instead of read/write loops to copy data between file descriptors
(for example, cp command does this a lot).
If sendfile() doesn't work, copying code falls back to read/write
loop. sendfile() was originally implemented for faster I/O
from files to sockets, but since Linux 2.6.33 it was extended
to work for many more file types.
config BUSYBOX_CONFIG_FEATURE_COPYBUF_KB
int "Copy buffer size, in kilobytes"
range 1 1024
default BUSYBOX_DEFAULT_FEATURE_COPYBUF_KB
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_CONFIG_MONOTONIC_SYSCALL
bool "Use clock_gettime(CLOCK_MONOTONIC) syscall"
default BUSYBOX_DEFAULT_MONOTONIC_SYSCALL
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_CONFIG_IOCTL_HEX2STR_ERROR
bool "Use ioctl names rather than hex values in error messages"
default BUSYBOX_DEFAULT_IOCTL_HEX2STR_ERROR
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.
config BUSYBOX_CONFIG_FEATURE_EDITING
bool "Command line editing"
default BUSYBOX_DEFAULT_FEATURE_EDITING
help
Enable line editing (mainly for shell command line).
config BUSYBOX_CONFIG_FEATURE_EDITING_MAX_LEN
int "Maximum length of input"
range 128 8192
default BUSYBOX_DEFAULT_FEATURE_EDITING_MAX_LEN
depends on BUSYBOX_CONFIG_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.
config BUSYBOX_CONFIG_FEATURE_EDITING_VI
bool "vi-style line editing commands"
default BUSYBOX_DEFAULT_FEATURE_EDITING_VI
depends on BUSYBOX_CONFIG_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".
config BUSYBOX_CONFIG_FEATURE_EDITING_HISTORY
int "History size"
# Don't allow way too big values here, code uses fixed "char *history[N]" struct member
range 0 9999
default BUSYBOX_DEFAULT_FEATURE_EDITING_HISTORY
depends on BUSYBOX_CONFIG_FEATURE_EDITING
help
Specify command history size (0 - disable).
config BUSYBOX_CONFIG_FEATURE_EDITING_SAVEHISTORY
bool "History saving"
default BUSYBOX_DEFAULT_FEATURE_EDITING_SAVEHISTORY
depends on BUSYBOX_CONFIG_FEATURE_EDITING
help
Enable history saving in shells.
config BUSYBOX_CONFIG_FEATURE_EDITING_SAVE_ON_EXIT
bool "Save history on shell exit, not after every command"
default BUSYBOX_DEFAULT_FEATURE_EDITING_SAVE_ON_EXIT
depends on BUSYBOX_CONFIG_FEATURE_EDITING_SAVEHISTORY
help
Save history on shell exit, not after every command.
config BUSYBOX_CONFIG_FEATURE_REVERSE_SEARCH
bool "Reverse history search"
default BUSYBOX_DEFAULT_FEATURE_REVERSE_SEARCH
depends on BUSYBOX_CONFIG_FEATURE_EDITING
help
Enable readline-like Ctrl-R combination for reverse history search.
Increases code by about 0.5k.
config BUSYBOX_CONFIG_FEATURE_TAB_COMPLETION
bool "Tab completion"
default BUSYBOX_DEFAULT_FEATURE_TAB_COMPLETION
depends on BUSYBOX_CONFIG_FEATURE_EDITING
config BUSYBOX_CONFIG_FEATURE_USERNAME_COMPLETION
bool "Username completion"
default BUSYBOX_DEFAULT_FEATURE_USERNAME_COMPLETION
depends on BUSYBOX_CONFIG_FEATURE_TAB_COMPLETION
config BUSYBOX_CONFIG_FEATURE_EDITING_FANCY_PROMPT
bool "Fancy shell prompts"
default BUSYBOX_DEFAULT_FEATURE_EDITING_FANCY_PROMPT
depends on BUSYBOX_CONFIG_FEATURE_EDITING
help
Setting this option allows for prompts to use things like \w and
\$ and escape codes.
config BUSYBOX_CONFIG_FEATURE_EDITING_WINCH
bool "Enable automatic tracking of window size changes"
default BUSYBOX_DEFAULT_FEATURE_EDITING_WINCH
depends on BUSYBOX_CONFIG_FEATURE_EDITING
config BUSYBOX_CONFIG_FEATURE_EDITING_ASK_TERMINAL
bool "Query cursor position from terminal"
default BUSYBOX_DEFAULT_FEATURE_EDITING_ASK_TERMINAL
depends on BUSYBOX_CONFIG_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.
config BUSYBOX_CONFIG_LOCALE_SUPPORT
bool "Enable locale support (system needs locale for this to work)"
default BUSYBOX_DEFAULT_LOCALE_SUPPORT
help
Enable this if your system has locale support and you would like
busybox to support locale settings.
config BUSYBOX_CONFIG_UNICODE_SUPPORT
bool "Support Unicode"
default BUSYBOX_DEFAULT_UNICODE_SUPPORT
help
This makes various applets aware that one byte is not
one character on screen.
Busybox aims to eventually work correctly with Unicode displays.
Any older encodings are not guaranteed to work.
Probably by the time when busybox will be fully Unicode-clean,
other encodings will be mainly of historic interest.
config BUSYBOX_CONFIG_UNICODE_USING_LOCALE
bool "Use libc routines for Unicode (else uses internal ones)"
default BUSYBOX_DEFAULT_UNICODE_USING_LOCALE
depends on BUSYBOX_CONFIG_UNICODE_SUPPORT && BUSYBOX_CONFIG_LOCALE_SUPPORT
help
With this option on, Unicode support is implemented using libc
routines. Otherwise, internal implementation is used.
Internal implementation is smaller.
config BUSYBOX_CONFIG_FEATURE_CHECK_UNICODE_IN_ENV
bool "Check $LC_ALL, $LC_CTYPE and $LANG environment variables"
default BUSYBOX_DEFAULT_FEATURE_CHECK_UNICODE_IN_ENV
depends on BUSYBOX_CONFIG_UNICODE_SUPPORT && !BUSYBOX_CONFIG_UNICODE_USING_LOCALE
help
With this option on, Unicode support is activated
only if locale-related variables have the value of the form
"xxxx.utf8"
Otherwise, Unicode support will be always enabled and active.
config BUSYBOX_CONFIG_SUBST_WCHAR
int "Character code to substitute unprintable characters with"
depends on BUSYBOX_CONFIG_UNICODE_SUPPORT
default BUSYBOX_DEFAULT_SUBST_WCHAR
help
Typical values are 63 for '?' (works with any output device),
30 for ASCII substitute control code,
65533 (0xfffd) for Unicode replacement character.
config BUSYBOX_CONFIG_LAST_SUPPORTED_WCHAR
int "Range of supported Unicode characters"
depends on BUSYBOX_CONFIG_UNICODE_SUPPORT
default BUSYBOX_DEFAULT_LAST_SUPPORTED_WCHAR
help
Any character with Unicode value bigger than this is assumed
to be non-printable on output device. Many applets replace
such characters with substitution character.
The idea is that many valid printable Unicode chars
nevertheless are not displayed correctly. Think about
combining charachers, double-wide hieroglyphs, obscure
characters in dozens of ancient scripts...
Many terminals, terminal emulators, xterms etc will fail
to handle them correctly. Choose the smallest value
which suits your needs.
Typical values are:
126 - ASCII only
767 (0x2ff) - there are no combining chars in [0..767] range
(the range includes Latin 1, Latin Ext. A and B),
code is ~700 bytes smaller for this case.
4351 (0x10ff) - there are no double-wide chars in [0..4351] range,
code is ~300 bytes smaller for this case.
12799 (0x31ff) - nearly all non-ideographic characters are
available in [0..12799] range, including
East Asian scripts like katakana, hiragana, hangul,
bopomofo...
0 - off, any valid printable Unicode character will be printed.
config BUSYBOX_CONFIG_UNICODE_COMBINING_WCHARS
bool "Allow zero-width Unicode characters on output"
default BUSYBOX_DEFAULT_UNICODE_COMBINING_WCHARS
depends on BUSYBOX_CONFIG_UNICODE_SUPPORT
help
With this option off, any Unicode char with width of 0
is substituted on output.
config BUSYBOX_CONFIG_UNICODE_WIDE_WCHARS
bool "Allow wide Unicode characters on output"
default BUSYBOX_DEFAULT_UNICODE_WIDE_WCHARS
depends on BUSYBOX_CONFIG_UNICODE_SUPPORT
help
With this option off, any Unicode char with width > 1
is substituted on output.
config BUSYBOX_CONFIG_UNICODE_BIDI_SUPPORT
bool "Bidirectional character-aware line input"
default BUSYBOX_DEFAULT_UNICODE_BIDI_SUPPORT
depends on BUSYBOX_CONFIG_UNICODE_SUPPORT && !BUSYBOX_CONFIG_UNICODE_USING_LOCALE
help
With this option on, right-to-left Unicode characters
are treated differently on input (e.g. cursor movement).
config BUSYBOX_CONFIG_UNICODE_NEUTRAL_TABLE
bool "In bidi input, support non-ASCII neutral chars too"
default BUSYBOX_DEFAULT_UNICODE_NEUTRAL_TABLE
depends on BUSYBOX_CONFIG_UNICODE_BIDI_SUPPORT
help
In most cases it's enough to treat only ASCII non-letters
(i.e. punctuation, numbers and space) as characters
with neutral directionality.
With this option on, more extensive (and bigger) table
of neutral chars will be used.
config BUSYBOX_CONFIG_UNICODE_PRESERVE_BROKEN
bool "Make it possible to enter sequences of chars which are not Unicode"
default BUSYBOX_DEFAULT_UNICODE_PRESERVE_BROKEN
depends on BUSYBOX_CONFIG_UNICODE_SUPPORT
help
With this option on, on line-editing input (such as used by shells)
invalid UTF-8 bytes are not substituted with the selected
substitution character.
For example, this means that entering 'l', 's', ' ', 0xff, [Enter]
at shell prompt will list file named 0xff (single char name
with char value 255), not file named '?'.
choice
prompt "Use LOOP_CONFIGURE for losetup and loop mounts"
default BUSYBOX_CONFIG_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_CONFIG_LOOP_CONFIGURE
bool "use LOOP_CONFIGURE, needs kernel >= 5.8"
config BUSYBOX_CONFIG_NO_LOOP_CONFIGURE
bool "use LOOP_SET_FD + LOOP_SET_STATUS"
config BUSYBOX_CONFIG_TRY_LOOP_CONFIGURE
bool "try LOOP_CONFIGURE, fall back to LOOP_SET_FD + LOOP_SET_STATUS"
endchoice

View File

@@ -0,0 +1,330 @@
# 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 "Login/Password Management Utilities"
config BUSYBOX_CONFIG_FEATURE_SHADOWPASSWDS
bool "Support shadow passwords"
default BUSYBOX_DEFAULT_FEATURE_SHADOWPASSWDS
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.
config BUSYBOX_CONFIG_USE_BB_PWD_GRP
bool "Use internal password and group functions rather than system functions"
default BUSYBOX_DEFAULT_USE_BB_PWD_GRP
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.
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 enable this option, it will add about 1.5k.
config BUSYBOX_CONFIG_USE_BB_SHADOW
bool "Use internal shadow password functions"
default BUSYBOX_DEFAULT_USE_BB_SHADOW
depends on BUSYBOX_CONFIG_USE_BB_PWD_GRP && BUSYBOX_CONFIG_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.
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_CONFIG_USE_BB_CRYPT
bool "Use internal crypt functions"
default BUSYBOX_DEFAULT_USE_BB_CRYPT
help
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.
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.
config BUSYBOX_CONFIG_USE_BB_CRYPT_SHA
bool "Enable SHA256/512 crypt functions"
default BUSYBOX_DEFAULT_USE_BB_CRYPT_SHA
depends on BUSYBOX_CONFIG_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.
config BUSYBOX_CONFIG_ADD_SHELL
bool "add-shell (3.1 kb)"
default BUSYBOX_DEFAULT_ADD_SHELL if BUSYBOX_CONFIG_DESKTOP
help
Add shells to /etc/shells.
config BUSYBOX_CONFIG_REMOVE_SHELL
bool "remove-shell (3 kb)"
default BUSYBOX_DEFAULT_REMOVE_SHELL if BUSYBOX_CONFIG_DESKTOP
help
Remove shells from /etc/shells.
config BUSYBOX_CONFIG_ADDGROUP
bool "addgroup (8.6 kb)"
default BUSYBOX_DEFAULT_ADDGROUP
select BUSYBOX_CONFIG_LONG_OPTS
help
Utility for creating a new group account.
config BUSYBOX_CONFIG_FEATURE_ADDUSER_TO_GROUP
bool "Support 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
bool "adduser (15 kb)"
default BUSYBOX_DEFAULT_ADDUSER
select BUSYBOX_CONFIG_LONG_OPTS
help
Utility for creating a new user account.
config BUSYBOX_CONFIG_FEATURE_CHECK_NAMES
bool "Enable sanity check on user/group names in adduser and addgroup"
default BUSYBOX_DEFAULT_FEATURE_CHECK_NAMES
depends on BUSYBOX_CONFIG_ADDUSER || BUSYBOX_CONFIG_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.
config BUSYBOX_CONFIG_LAST_ID
int "Last valid uid or gid for adduser and addgroup"
depends on BUSYBOX_CONFIG_ADDUSER || BUSYBOX_CONFIG_ADDGROUP
default BUSYBOX_DEFAULT_LAST_ID
help
Last valid uid or gid for adduser and addgroup
config BUSYBOX_CONFIG_FIRST_SYSTEM_ID
int "First valid system uid or gid for adduser and addgroup"
depends on BUSYBOX_CONFIG_ADDUSER || BUSYBOX_CONFIG_ADDGROUP
range 0 BUSYBOX_CONFIG_LAST_ID
default BUSYBOX_DEFAULT_FIRST_SYSTEM_ID
help
First valid system uid or gid for adduser and addgroup
config BUSYBOX_CONFIG_LAST_SYSTEM_ID
int "Last valid system uid or gid for adduser and addgroup"
depends on BUSYBOX_CONFIG_ADDUSER || BUSYBOX_CONFIG_ADDGROUP
range BUSYBOX_CONFIG_FIRST_SYSTEM_ID BUSYBOX_CONFIG_LAST_ID
default BUSYBOX_DEFAULT_LAST_SYSTEM_ID
help
Last valid system uid or gid for adduser and addgroup
config BUSYBOX_CONFIG_CHPASSWD
bool "chpasswd (18 kb)"
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 encryption method (passwd -a, cryptpw -m, chpasswd -c ALG)"
default BUSYBOX_DEFAULT_FEATURE_DEFAULT_PASSWD_ALGO
depends on BUSYBOX_CONFIG_PASSWD || BUSYBOX_CONFIG_CRYPTPW || BUSYBOX_CONFIG_CHPASSWD
help
Possible choices are "d[es]", "m[d5]", "s[ha256]" or "sha512".
config BUSYBOX_CONFIG_CRYPTPW
bool "cryptpw (14 kb)"
default BUSYBOX_DEFAULT_CRYPTPW
help
Encrypts the given password with the crypt(3) libc function
using the given salt.
config BUSYBOX_CONFIG_MKPASSWD
bool "mkpasswd (15 kb)"
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
bool "deluser (9.1 kb)"
default BUSYBOX_DEFAULT_DELUSER
help
Utility for deleting a user account.
config BUSYBOX_CONFIG_DELGROUP
bool "delgroup (6.4 kb)"
default BUSYBOX_DEFAULT_DELGROUP
help
Utility for deleting a group account.
config BUSYBOX_CONFIG_FEATURE_DEL_USER_FROM_GROUP
bool "Support removing users from groups"
default BUSYBOX_DEFAULT_FEATURE_DEL_USER_FROM_GROUP
depends on BUSYBOX_CONFIG_DELGROUP
help
If called with two non-option arguments, deluser
or delgroup will remove an user from a specified group.
config BUSYBOX_CONFIG_GETTY
bool "getty (10 kb)"
default BUSYBOX_DEFAULT_GETTY
select BUSYBOX_CONFIG_FEATURE_SYSLOG
help
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 || exit 1
reset
stty sane; stty ispeed 38400; stty ospeed 38400
printf "%s login: " "`hostname`"
read -r login
exec /bin/login "$login"
config BUSYBOX_CONFIG_LOGIN
bool "login (24 kb)"
default BUSYBOX_DEFAULT_LOGIN
select BUSYBOX_CONFIG_FEATURE_SYSLOG
help
login is used when signing onto a system.
Note that busybox binary must be setuid root for this applet to
work properly.
config BUSYBOX_CONFIG_LOGIN_SESSION_AS_CHILD
bool "Run logged in session in a child process"
default BUSYBOX_DEFAULT_LOGIN_SESSION_AS_CHILD if BUSYBOX_CONFIG_PAM
depends on BUSYBOX_CONFIG_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_CONFIG_LOGIN_SCRIPTS
bool "Support login scripts"
depends on BUSYBOX_CONFIG_LOGIN
default BUSYBOX_DEFAULT_LOGIN_SCRIPTS
help
Enable this if you want login to execute $LOGIN_PRE_SUID_SCRIPT
just prior to switching from root to logged-in user.
config BUSYBOX_CONFIG_FEATURE_NOLOGIN
bool "Support /etc/nologin"
default BUSYBOX_DEFAULT_FEATURE_NOLOGIN
depends on BUSYBOX_CONFIG_LOGIN
help
The file /etc/nologin is used by (some versions of) login(1).
If it exists, non-root logins are prohibited.
config BUSYBOX_CONFIG_FEATURE_SECURETTY
bool "Support /etc/securetty"
default BUSYBOX_DEFAULT_FEATURE_SECURETTY
depends on BUSYBOX_CONFIG_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.
config BUSYBOX_CONFIG_PASSWD
bool "passwd (21 kb)"
default BUSYBOX_DEFAULT_PASSWD
select BUSYBOX_CONFIG_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.
Note that busybox binary must be setuid root for this applet to
work properly.
config BUSYBOX_CONFIG_FEATURE_PASSWD_WEAK_CHECK
bool "Check new passwords for weakness"
default BUSYBOX_DEFAULT_FEATURE_PASSWD_WEAK_CHECK
depends on BUSYBOX_CONFIG_PASSWD
help
With this option passwd will refuse new passwords which are "weak".
config BUSYBOX_CONFIG_SU
bool "su (19 kb)"
default BUSYBOX_DEFAULT_SU
select BUSYBOX_CONFIG_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.
config BUSYBOX_CONFIG_FEATURE_SU_SYSLOG
bool "Log to syslog all attempts to use su"
default BUSYBOX_DEFAULT_FEATURE_SU_SYSLOG
depends on BUSYBOX_CONFIG_SU
config BUSYBOX_CONFIG_FEATURE_SU_CHECKS_SHELLS
bool "If user's shell is not in /etc/shells, disallow -s PROG"
default BUSYBOX_DEFAULT_FEATURE_SU_CHECKS_SHELLS
depends on BUSYBOX_CONFIG_SU
config BUSYBOX_CONFIG_FEATURE_SU_BLANK_PW_NEEDS_SECURE_TTY
bool "Allow blank passwords only on TTYs in /etc/securetty"
default BUSYBOX_DEFAULT_FEATURE_SU_BLANK_PW_NEEDS_SECURE_TTY
depends on BUSYBOX_CONFIG_SU
config BUSYBOX_CONFIG_SULOGIN
bool "sulogin (17 kb)"
default BUSYBOX_DEFAULT_SULOGIN
select BUSYBOX_CONFIG_FEATURE_SYSLOG
help
sulogin is invoked when the system goes into single user
mode (this is done through an entry in inittab).
config BUSYBOX_CONFIG_VLOCK
bool "vlock (17 kb)"
default BUSYBOX_DEFAULT_VLOCK
help
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.
endmenu

View File

@@ -0,0 +1,51 @@
# DO NOT EDIT. This file is generated from Config.src
menu "Mail Utilities"
config BUSYBOX_CONFIG_FEATURE_MIME_CHARSET
string "Default charset"
default BUSYBOX_DEFAULT_FEATURE_MIME_CHARSET
depends on BUSYBOX_CONFIG_MAKEMIME || BUSYBOX_CONFIG_REFORMIME || BUSYBOX_CONFIG_SENDMAIL
help
Default charset of the message.
config BUSYBOX_CONFIG_MAKEMIME
bool "makemime (5.4 kb)"
default BUSYBOX_DEFAULT_MAKEMIME
help
Create MIME-formatted messages.
config BUSYBOX_CONFIG_POPMAILDIR
bool "popmaildir (10 kb)"
default BUSYBOX_DEFAULT_POPMAILDIR
help
Simple yet powerful POP3 mail popper. Delivers content
of remote mailboxes to local Maildir.
config BUSYBOX_CONFIG_FEATURE_POPMAILDIR_DELIVERY
bool "Allow message filters and custom delivery program"
default BUSYBOX_DEFAULT_FEATURE_POPMAILDIR_DELIVERY
depends on BUSYBOX_CONFIG_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...]").
config BUSYBOX_CONFIG_REFORMIME
bool "reformime (7.5 kb)"
default BUSYBOX_DEFAULT_REFORMIME
help
Parse MIME-formatted messages.
config BUSYBOX_CONFIG_FEATURE_REFORMIME_COMPAT
bool "Accept and ignore options other than -x and -X"
default BUSYBOX_DEFAULT_FEATURE_REFORMIME_COMPAT
depends on BUSYBOX_CONFIG_REFORMIME
help
Accept (for compatibility only) and ignore options
other than -x and -X.
config BUSYBOX_CONFIG_SENDMAIL
bool "sendmail (14 kb)"
default BUSYBOX_DEFAULT_SENDMAIL
help
Barebones sendmail.
endmenu

View File

@@ -0,0 +1,824 @@
# 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 "Miscellaneous Utilities"
config BUSYBOX_CONFIG_ADJTIMEX
bool "adjtimex (4.7 kb)"
default BUSYBOX_DEFAULT_ADJTIMEX
help
Adjtimex reads and optionally sets adjustment parameters for
the Linux clock adjustment algorithm.
config BUSYBOX_CONFIG_ASCII
bool "ascii"
default BUSYBOX_DEFAULT_ASCII
help
Print ascii table.
config BUSYBOX_CONFIG_BBCONFIG
bool "bbconfig (9.7 kb)"
default BUSYBOX_DEFAULT_BBCONFIG
help
The bbconfig applet will print the config file with which
busybox was built.
config BUSYBOX_CONFIG_FEATURE_COMPRESS_BBCONFIG
bool "Compress bbconfig data"
default BUSYBOX_DEFAULT_FEATURE_COMPRESS_BBCONFIG
depends on BUSYBOX_CONFIG_BBCONFIG
help
Store bbconfig data in compressed form, uncompress them on-the-fly
before output.
If you have a really tiny busybox with few applets enabled (and
bunzip2 isn't one of them), the overhead of the decompressor might
be noticeable. Also, if you run executables directly from ROM
and have very little memory, this might not be a win. Otherwise,
you probably want this.
config BUSYBOX_CONFIG_BC
bool "bc (45 kb)"
default BUSYBOX_DEFAULT_BC
select BUSYBOX_CONFIG_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_CONFIG_DC
bool "dc (36 kb)"
default BUSYBOX_DEFAULT_DC
help
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 BC || BUSYBOX_CONFIG_DC # for menuconfig indenting
config BUSYBOX_CONFIG_FEATURE_DC_BIG
bool "Use bc code base for dc (larger, more features)"
default BUSYBOX_DEFAULT_FEATURE_DC_BIG
config BUSYBOX_CONFIG_FEATURE_DC_LIBM
bool "Enable power and exp functions (requires libm)"
default BUSYBOX_DEFAULT_FEATURE_DC_LIBM
depends on BUSYBOX_CONFIG_DC && !BUSYBOX_CONFIG_BC && !BUSYBOX_CONFIG_FEATURE_DC_BIG
help
Enable power and exp functions.
NOTE: This will require libm to be present for linking.
config BUSYBOX_CONFIG_FEATURE_BC_INTERACTIVE
bool "Interactive mode (+4kb)"
default BUSYBOX_DEFAULT_FEATURE_BC_INTERACTIVE
depends on BUSYBOX_CONFIG_BC || (BUSYBOX_CONFIG_DC && BUSYBOX_CONFIG_FEATURE_DC_BIG)
help
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.
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_CONFIG_FEATURE_BC_LONG_OPTIONS
bool "Enable bc/dc long options"
default BUSYBOX_DEFAULT_FEATURE_BC_LONG_OPTIONS
depends on BUSYBOX_CONFIG_BC || (BUSYBOX_CONFIG_DC && BUSYBOX_CONFIG_FEATURE_DC_BIG)
endif
config BUSYBOX_CONFIG_BEEP
bool "beep (2.4 kb)"
default BUSYBOX_DEFAULT_BEEP
help
The beep applets beeps in a given freq/Hz.
config BUSYBOX_CONFIG_FEATURE_BEEP_FREQ
int "default frequency"
range 20 50000 # allowing 0 here breaks the build
default BUSYBOX_DEFAULT_FEATURE_BEEP_FREQ
depends on BUSYBOX_CONFIG_BEEP
help
Frequency for default beep.
config BUSYBOX_CONFIG_FEATURE_BEEP_LENGTH_MS
int "default length"
range 0 2147483647
default BUSYBOX_DEFAULT_FEATURE_BEEP_LENGTH_MS
depends on BUSYBOX_CONFIG_BEEP
help
Length in ms for default beep.
config BUSYBOX_CONFIG_CHAT
bool "chat (6.3 kb)"
default BUSYBOX_DEFAULT_CHAT
help
Simple chat utility.
config BUSYBOX_CONFIG_FEATURE_CHAT_NOFAIL
bool "Enable NOFAIL expect strings"
depends on BUSYBOX_CONFIG_CHAT
default BUSYBOX_DEFAULT_FEATURE_CHAT_NOFAIL
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.
config BUSYBOX_CONFIG_FEATURE_CHAT_TTY_HIFI
bool "Force STDIN to be a TTY"
depends on BUSYBOX_CONFIG_CHAT
default BUSYBOX_DEFAULT_FEATURE_CHAT_TTY_HIFI
help
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_CONFIG_FEATURE_CHAT_IMPLICIT_CR
bool "Enable implicit Carriage Return"
depends on BUSYBOX_CONFIG_CHAT
default BUSYBOX_DEFAULT_FEATURE_CHAT_IMPLICIT_CR
help
When enabled make chat to terminate all SEND strings with a "\r"
unless "\c" is met anywhere in the string.
config BUSYBOX_CONFIG_FEATURE_CHAT_SWALLOW_OPTS
bool "Swallow options"
depends on BUSYBOX_CONFIG_CHAT
default BUSYBOX_DEFAULT_FEATURE_CHAT_SWALLOW_OPTS
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.
config BUSYBOX_CONFIG_FEATURE_CHAT_SEND_ESCAPES
bool "Support weird SEND escapes"
depends on BUSYBOX_CONFIG_CHAT
default BUSYBOX_DEFAULT_FEATURE_CHAT_SEND_ESCAPES
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?
config BUSYBOX_CONFIG_FEATURE_CHAT_VAR_ABORT_LEN
bool "Support variable-length ABORT conditions"
depends on BUSYBOX_CONFIG_CHAT
default BUSYBOX_DEFAULT_FEATURE_CHAT_VAR_ABORT_LEN
help
Original chat uses fixed 50-bytes length ABORT conditions. Say N here.
config BUSYBOX_CONFIG_FEATURE_CHAT_CLR_ABORT
bool "Support revoking of ABORT conditions"
depends on BUSYBOX_CONFIG_CHAT
default BUSYBOX_DEFAULT_FEATURE_CHAT_CLR_ABORT
help
Support CLR_ABORT directive.
config BUSYBOX_CONFIG_CONSPY
bool "conspy (10 kb)"
default BUSYBOX_DEFAULT_CONSPY
help
A text-mode VNC like program for Linux virtual terminals.
example: conspy NUM shared access to console num
or conspy -nd NUM screenshot of console num
or conspy -cs NUM poor man's GNU screen like
config BUSYBOX_CONFIG_CROND
bool "crond (14 kb)"
default BUSYBOX_DEFAULT_CROND
select BUSYBOX_CONFIG_FEATURE_SYSLOG
help
Crond is a background daemon that parses individual crontab
files and executes commands on behalf of the users in question.
This is a port of dcron from slackware. It uses files of the
format /var/spool/cron/crontabs/<username> files, for example:
$ cat /var/spool/cron/crontabs/root
# Run daily cron jobs at 4:40 every day:
40 4 * * * /etc/cron/daily > /dev/null 2>&1
config BUSYBOX_CONFIG_FEATURE_CROND_D
bool "Support -d (redirect output to stderr)"
depends on BUSYBOX_CONFIG_CROND
default BUSYBOX_DEFAULT_FEATURE_CROND_D
help
-d N sets loglevel (0:most verbose) and directs all output to stderr.
config BUSYBOX_CONFIG_FEATURE_CROND_CALL_SENDMAIL
bool "Report command output via email (using sendmail)"
default BUSYBOX_DEFAULT_FEATURE_CROND_CALL_SENDMAIL
depends on BUSYBOX_CONFIG_CROND
help
Command output will be sent to corresponding user via email.
config BUSYBOX_CONFIG_FEATURE_CROND_SPECIAL_TIMES
bool "Support special times (@reboot, @daily, etc) in crontabs"
default BUSYBOX_DEFAULT_FEATURE_CROND_SPECIAL_TIMES
depends on BUSYBOX_CONFIG_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_CONFIG_FEATURE_CROND_DIR
string "crond spool directory"
default BUSYBOX_DEFAULT_FEATURE_CROND_DIR
depends on BUSYBOX_CONFIG_CROND || BUSYBOX_CONFIG_CRONTAB
help
Location of crond spool.
config BUSYBOX_CONFIG_CRONTAB
bool "crontab (10 kb)"
default BUSYBOX_DEFAULT_CRONTAB
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_CONFIG_DEVFSD
bool "devfsd (obsolete)"
default BUSYBOX_DEFAULT_DEVFSD
select BUSYBOX_CONFIG_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.
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!!!!!!!!
config BUSYBOX_CONFIG_DEVFSD_MODLOAD
bool "Adds support for MODLOAD keyword in devsfd.conf"
default BUSYBOX_DEFAULT_DEVFSD_MODLOAD
depends on BUSYBOX_CONFIG_DEVFSD
help
This actually doesn't work with busybox modutils but needs
the external modutils.
config BUSYBOX_CONFIG_DEVFSD_FG_NP
bool "Enable the -fg and -np options"
default BUSYBOX_DEFAULT_DEVFSD_FG_NP
depends on BUSYBOX_CONFIG_DEVFSD
help
-fg Run the daemon in the foreground.
-np Exit after parsing config. Do not poll for events.
config BUSYBOX_CONFIG_DEVFSD_VERBOSE
bool "Increases logging (and size)"
default BUSYBOX_DEFAULT_DEVFSD_VERBOSE
depends on BUSYBOX_CONFIG_DEVFSD
help
Increases logging to stderr or syslog.
config BUSYBOX_CONFIG_FEATURE_DEVFS
bool "Use devfs names for all devices (obsolete)"
default BUSYBOX_DEFAULT_FEATURE_DEVFS
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.
config BUSYBOX_CONFIG_DEVMEM
bool "devmem (2.5 kb)"
default BUSYBOX_DEFAULT_DEVMEM
help
devmem is a small program that reads and writes from physical
memory using /dev/mem.
config BUSYBOX_CONFIG_FBSPLASH
bool "fbsplash (26 kb)"
default BUSYBOX_DEFAULT_FBSPLASH
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 && setsid fbsplash [params] &
- commands for fifo:
"NN" (ASCII decimal number) - percentage to show on progress bar
"exit" - well you guessed it
config BUSYBOX_CONFIG_FLASH_ERASEALL
bool "flash_eraseall (5.9 kb)"
default BUSYBOX_DEFAULT_FLASH_ERASEALL # doesn't build on Ubuntu 8.04
help
The flash_eraseall binary from mtd-utils as of git head c4c6a59eb.
This utility is used to erase the whole MTD device.
config BUSYBOX_CONFIG_FLASH_LOCK
bool "flash_lock (2.1 kb)"
default BUSYBOX_DEFAULT_FLASH_LOCK # doesn't build on Ubuntu 8.04
help
The flash_lock binary from mtd-utils as of git head 5ec0c10d0. This
utility locks part or all of the flash device.
config BUSYBOX_CONFIG_FLASH_UNLOCK
bool "flash_unlock (1.3 kb)"
default BUSYBOX_DEFAULT_FLASH_UNLOCK # doesn't build on Ubuntu 8.04
help
The flash_unlock binary from mtd-utils as of git head 5ec0c10d0. This
utility unlocks part or all of the flash device.
config BUSYBOX_CONFIG_FLASHCP
bool "flashcp (5.3 kb)"
default BUSYBOX_DEFAULT_FLASHCP # doesn't build on Ubuntu 8.04
help
The flashcp binary, inspired by mtd-utils as of git head 5eceb74f7.
This utility is used to copy images into a MTD device.
config BUSYBOX_CONFIG_HDPARM
bool "hdparm (25 kb)"
default BUSYBOX_DEFAULT_HDPARM
help
Get/Set hard drive parameters. Primarily intended for ATA
drives.
config BUSYBOX_CONFIG_FEATURE_HDPARM_GET_IDENTITY
bool "Support obtaining detailed information directly from drives"
default BUSYBOX_DEFAULT_FEATURE_HDPARM_GET_IDENTITY
depends on BUSYBOX_CONFIG_HDPARM
help
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_CONFIG_FEATURE_HDPARM_HDIO_SCAN_HWIF
bool "Register an IDE interface (DANGEROUS)"
default BUSYBOX_DEFAULT_FEATURE_HDPARM_HDIO_SCAN_HWIF
depends on BUSYBOX_CONFIG_HDPARM
help
Enable the 'hdparm -R' option to register an IDE interface.
This is dangerous stuff, so you should probably say N.
config BUSYBOX_CONFIG_FEATURE_HDPARM_HDIO_UNREGISTER_HWIF
bool "Un-register an IDE interface (DANGEROUS)"
default BUSYBOX_DEFAULT_FEATURE_HDPARM_HDIO_UNREGISTER_HWIF
depends on BUSYBOX_CONFIG_HDPARM
help
Enable the 'hdparm -U' option to un-register an IDE interface.
This is dangerous stuff, so you should probably say N.
config BUSYBOX_CONFIG_FEATURE_HDPARM_HDIO_DRIVE_RESET
bool "Perform device reset (DANGEROUS)"
default BUSYBOX_DEFAULT_FEATURE_HDPARM_HDIO_DRIVE_RESET
depends on BUSYBOX_CONFIG_HDPARM
help
Enable the 'hdparm -w' option to perform a device reset.
This is dangerous stuff, so you should probably say N.
config BUSYBOX_CONFIG_FEATURE_HDPARM_HDIO_TRISTATE_HWIF
bool "Tristate device for hotswap (DANGEROUS)"
default BUSYBOX_DEFAULT_FEATURE_HDPARM_HDIO_TRISTATE_HWIF
depends on BUSYBOX_CONFIG_HDPARM
help
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_CONFIG_FEATURE_HDPARM_HDIO_GETSET_DMA
bool "Get/set using_dma flag"
default BUSYBOX_DEFAULT_FEATURE_HDPARM_HDIO_GETSET_DMA
depends on BUSYBOX_CONFIG_HDPARM
help
Enable the 'hdparm -d' option to get/set using_dma flag.
config BUSYBOX_CONFIG_HEXEDIT
bool "hexedit (21 kb)"
default BUSYBOX_DEFAULT_HEXEDIT
help
Edit file in hexadecimal.
config BUSYBOX_CONFIG_I2CGET
bool "i2cget (5.5 kb)"
default BUSYBOX_DEFAULT_I2CGET
help
Read from I2C/SMBus chip registers.
config BUSYBOX_CONFIG_I2CSET
bool "i2cset (6.7 kb)"
default BUSYBOX_DEFAULT_I2CSET
help
Set I2C registers.
config BUSYBOX_CONFIG_I2CDUMP
bool "i2cdump (7.1 kb)"
default BUSYBOX_DEFAULT_I2CDUMP
help
Examine I2C registers.
config BUSYBOX_CONFIG_I2CDETECT
bool "i2cdetect (7.1 kb)"
default BUSYBOX_DEFAULT_I2CDETECT
help
Detect I2C chips.
config BUSYBOX_CONFIG_I2CTRANSFER
bool "i2ctransfer (4.0 kb)"
default BUSYBOX_DEFAULT_I2CTRANSFER
help
Send user-defined I2C messages in one transfer.
config BUSYBOX_CONFIG_INOTIFYD
bool "inotifyd (3.6 kb)"
default BUSYBOX_DEFAULT_INOTIFYD # doesn't build on Knoppix 5
help
Simple inotify daemon. Reports filesystem changes. Requires
kernel >= 2.6.13
config BUSYBOX_CONFIG_LESS
bool "less (16 kb)"
default BUSYBOX_DEFAULT_LESS
help
'less' is a pager, meaning that it displays text files. It possesses
a wide array of features, and is an improvement over 'more'.
config BUSYBOX_CONFIG_FEATURE_LESS_MAXLINES
int "Max number of input lines less will try to eat"
default BUSYBOX_DEFAULT_FEATURE_LESS_MAXLINES
depends on BUSYBOX_CONFIG_LESS
config BUSYBOX_CONFIG_FEATURE_LESS_BRACKETS
bool "Enable bracket searching"
default BUSYBOX_DEFAULT_FEATURE_LESS_BRACKETS
depends on BUSYBOX_CONFIG_LESS
help
This option adds the capability to search for matching left and right
brackets, facilitating programming.
config BUSYBOX_CONFIG_FEATURE_LESS_FLAGS
bool "Enable -m/-M"
default BUSYBOX_DEFAULT_FEATURE_LESS_FLAGS
depends on BUSYBOX_CONFIG_LESS
help
The -M/-m flag enables a more sophisticated status line.
config BUSYBOX_CONFIG_FEATURE_LESS_TRUNCATE
bool "Enable -S"
default BUSYBOX_DEFAULT_FEATURE_LESS_TRUNCATE
depends on BUSYBOX_CONFIG_LESS
help
The -S flag causes long lines to be truncated rather than
wrapped.
config BUSYBOX_CONFIG_FEATURE_LESS_MARKS
bool "Enable marks"
default BUSYBOX_DEFAULT_FEATURE_LESS_MARKS
depends on BUSYBOX_CONFIG_LESS
help
Marks enable positions in a file to be stored for easy reference.
config BUSYBOX_CONFIG_FEATURE_LESS_REGEXP
bool "Enable regular expressions"
default BUSYBOX_DEFAULT_FEATURE_LESS_REGEXP
depends on BUSYBOX_CONFIG_LESS
help
Enable regular expressions, allowing complex file searches.
config BUSYBOX_CONFIG_FEATURE_LESS_WINCH
bool "Enable automatic resizing on window size changes"
default BUSYBOX_DEFAULT_FEATURE_LESS_WINCH
depends on BUSYBOX_CONFIG_LESS
help
Makes less track window size changes.
config BUSYBOX_CONFIG_FEATURE_LESS_ASK_TERMINAL
bool "Use 'tell me cursor position' ESC sequence to measure window"
default BUSYBOX_DEFAULT_FEATURE_LESS_ASK_TERMINAL
depends on BUSYBOX_CONFIG_FEATURE_LESS_WINCH
help
Makes less track window size changes.
If terminal size can't be retrieved and $LINES/$COLUMNS are not set,
this option makes less perform a last-ditch effort to find it:
position cursor to 999,999 and ask terminal to report real
cursor position using "ESC [ 6 n" escape sequence, then read stdin.
This is not clean but helps a lot on serial lines and such.
config BUSYBOX_CONFIG_FEATURE_LESS_DASHCMD
bool "Enable flag changes ('-' command)"
default BUSYBOX_DEFAULT_FEATURE_LESS_DASHCMD
depends on BUSYBOX_CONFIG_LESS
help
This enables the ability to change command-line flags within
less itself ('-' keyboard command).
config BUSYBOX_CONFIG_FEATURE_LESS_LINENUMS
bool "Enable -N (dynamic switching of line numbers)"
default BUSYBOX_DEFAULT_FEATURE_LESS_LINENUMS
depends on BUSYBOX_CONFIG_FEATURE_LESS_DASHCMD
config BUSYBOX_CONFIG_FEATURE_LESS_RAW
bool "Enable -R ('raw control characters')"
default BUSYBOX_DEFAULT_FEATURE_LESS_RAW
depends on BUSYBOX_CONFIG_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_CONFIG_FEATURE_LESS_ENV
bool "Take options from $LESS environment variable"
default BUSYBOX_DEFAULT_FEATURE_LESS_ENV
depends on BUSYBOX_CONFIG_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_CONFIG_LOCK
bool "lock"
default BUSYBOX_DEFAULT_LOCK
help
Small utility for using locks in scripts
config BUSYBOX_CONFIG_LSSCSI
bool "lsscsi (2.5 kb)"
default BUSYBOX_DEFAULT_LSSCSI
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_CONFIG_MAKEDEVS
bool "makedevs (9.2 kb)"
default BUSYBOX_DEFAULT_MAKEDEVS
help
'makedevs' is a utility used to create a batch of devices with
one command.
There are two choices for command line behaviour, the interface
as used by LEAF/Linux Router Project, or a device table file.
'leaf' is traditionally what busybox follows, it allows multiple
devices of a particluar type to be created per command.
e.g. /dev/hda[0-9]
Device properties are passed as command line arguments.
'table' reads device properties from a file or stdin, allowing
a batch of unrelated devices to be made with one command.
User/group names are allowed as an alternative to uid/gid.
choice
prompt "Choose makedevs behaviour"
depends on BUSYBOX_CONFIG_MAKEDEVS
default BUSYBOX_CONFIG_FEATURE_MAKEDEVS_TABLE
config BUSYBOX_CONFIG_FEATURE_MAKEDEVS_LEAF
bool "leaf"
config BUSYBOX_CONFIG_FEATURE_MAKEDEVS_TABLE
bool "table"
endchoice
config BUSYBOX_CONFIG_MAN
bool "man (26 kb)"
default BUSYBOX_DEFAULT_MAN
help
Format and display manual pages.
config BUSYBOX_CONFIG_MICROCOM
bool "microcom (5.7 kb)"
default BUSYBOX_DEFAULT_MICROCOM
help
The poor man's minicom utility for chatting with serial port devices.
config BUSYBOX_CONFIG_MIM
bool "mim (0.5 kb)"
default BUSYBOX_DEFAULT_MIM
depends on BUSYBOX_CONFIG_FEATURE_SH_EMBEDDED_SCRIPTS
help
Run a script from a Makefile-like specification file.
Unlike 'make' dependencies aren't supported.
config BUSYBOX_CONFIG_MT
bool "mt (2.5 kb)"
default BUSYBOX_DEFAULT_MT
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_CONFIG_NANDWRITE
bool "nandwrite (4.8 kb)"
default BUSYBOX_DEFAULT_NANDWRITE
help
Write to the specified MTD device, with bad blocks awareness
config BUSYBOX_CONFIG_NANDDUMP
bool "nanddump (5.2 kb)"
default BUSYBOX_DEFAULT_NANDDUMP
help
Dump the content of raw NAND chip
config BUSYBOX_CONFIG_PARTPROBE
bool "partprobe (3.5 kb)"
default BUSYBOX_DEFAULT_PARTPROBE
help
Ask kernel to rescan partition table.
config BUSYBOX_CONFIG_RAIDAUTORUN
bool "raidautorun (1.3 kb)"
default BUSYBOX_DEFAULT_RAIDAUTORUN
help
raidautorun tells the kernel md driver to
search and start RAID arrays.
config BUSYBOX_CONFIG_READAHEAD
bool "readahead (1.5 kb)"
default BUSYBOX_DEFAULT_READAHEAD
depends on BUSYBOX_CONFIG_LFS
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.
As readahead(2) blocks until each file has been read, it is best to
run this applet as a background job.
config BUSYBOX_CONFIG_RFKILL
bool "rfkill (4.4 kb)"
default BUSYBOX_DEFAULT_RFKILL # doesn't build on Ubuntu 9.04
help
Enable/disable wireless devices.
rfkill list : list all wireless devices
rfkill list bluetooth : list all bluetooth devices
rfkill list 1 : list device corresponding to the given index
rfkill block|unblock wlan : block/unblock all wlan(wifi) devices
config BUSYBOX_CONFIG_RUNLEVEL
bool "runlevel (559 bytes)"
default BUSYBOX_DEFAULT_RUNLEVEL
depends on BUSYBOX_CONFIG_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.
config BUSYBOX_CONFIG_RX
bool "rx (2.9 kb)"
default BUSYBOX_DEFAULT_RX
help
Receive files using the Xmodem protocol.
config BUSYBOX_CONFIG_SEEDRNG
bool "seedrng (1.3 kb)"
default BUSYBOX_DEFAULT_SEEDRNG
help
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_CONFIG_SETFATTR
bool "setfattr (3.7 kb)"
default BUSYBOX_DEFAULT_SETFATTR
help
Set/delete extended attributes on files
config BUSYBOX_CONFIG_SETSERIAL
bool "setserial (6.9 kb)"
default BUSYBOX_DEFAULT_SETSERIAL
help
Retrieve or set Linux serial port.
config BUSYBOX_CONFIG_STRINGS
bool "strings (4.6 kb)"
default BUSYBOX_DEFAULT_STRINGS
help
strings prints the printable character sequences for each file
specified.
config BUSYBOX_CONFIG_TIME
bool "time (6.8 kb)"
default BUSYBOX_DEFAULT_TIME
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_CONFIG_TREE
bool "tree (0.6 kb)"
default BUSYBOX_DEFAULT_TREE
help
List files and directories in a tree structure.
config BUSYBOX_CONFIG_TS
bool "ts (450 bytes)"
default BUSYBOX_DEFAULT_TS
config BUSYBOX_CONFIG_TTYSIZE
bool "ttysize (432 bytes)"
default BUSYBOX_DEFAULT_TTYSIZE
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_CONFIG_UBIATTACH
bool "ubiattach (4.2 kb)"
default BUSYBOX_DEFAULT_UBIATTACH
help
Attach MTD device to an UBI device.
config BUSYBOX_CONFIG_UBIDETACH
bool "ubidetach (4.1 kb)"
default BUSYBOX_DEFAULT_UBIDETACH
help
Detach MTD device from an UBI device.
config BUSYBOX_CONFIG_UBIMKVOL
bool "ubimkvol (5.3 kb)"
default BUSYBOX_DEFAULT_UBIMKVOL
help
Create a UBI volume.
config BUSYBOX_CONFIG_UBIRMVOL
bool "ubirmvol (4.9 kb)"
default BUSYBOX_DEFAULT_UBIRMVOL
help
Delete a UBI volume.
config BUSYBOX_CONFIG_UBIRSVOL
bool "ubirsvol (4.2 kb)"
default BUSYBOX_DEFAULT_UBIRSVOL
help
Resize a UBI volume.
config BUSYBOX_CONFIG_UBIUPDATEVOL
bool "ubiupdatevol (5.2 kb)"
default BUSYBOX_DEFAULT_UBIUPDATEVOL
help
Update a UBI volume.
config BUSYBOX_CONFIG_UBIRENAME
bool "ubirename (2.4 kb)"
default BUSYBOX_DEFAULT_UBIRENAME
help
Utility to rename UBI volumes
config BUSYBOX_CONFIG_VOLNAME
bool "volname (1.6 kb)"
default BUSYBOX_DEFAULT_VOLNAME
help
Prints a CD-ROM volume name.
config BUSYBOX_CONFIG_WATCHDOG
bool "watchdog (5.3 kb)"
default BUSYBOX_DEFAULT_WATCHDOG
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_CONFIG_FEATURE_WATCHDOG_OPEN_TWICE
bool "Open watchdog device twice, closing it gracefully in between"
depends on BUSYBOX_CONFIG_WATCHDOG
default BUSYBOX_DEFAULT_FEATURE_WATCHDOG_OPEN_TWICE # 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

View File

@@ -0,0 +1,239 @@
# 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 "Linux Module Utilities"
config BUSYBOX_CONFIG_MODPROBE_SMALL
bool "Simplified modutils"
default BUSYBOX_DEFAULT_MODPROBE_SMALL
help
Build smaller (~1.5 kbytes), simplified module tools.
This option by itself does not enable any applets -
you need to select applets individually below.
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.
NB: modules.dep.bb file format is not compatible
with modules.dep file as created/used by standard module tools.
Additional module parameters can be stored in
/etc/modules/$module_name files.
config BUSYBOX_CONFIG_DEPMOD
bool "depmod (27 kb)"
default BUSYBOX_DEFAULT_DEPMOD
help
depmod generates modules.dep (and potentially modules.alias
and modules.symbols) that contain dependency information
for modprobe.
config BUSYBOX_CONFIG_INSMOD
bool "insmod (22 kb)"
default BUSYBOX_DEFAULT_INSMOD
help
insmod is used to load specified modules in the running kernel.
config BUSYBOX_CONFIG_LSMOD
bool "lsmod (1.9 kb)"
default BUSYBOX_DEFAULT_LSMOD
help
lsmod is used to display a list of loaded modules.
config BUSYBOX_CONFIG_FEATURE_LSMOD_PRETTY_2_6_OUTPUT
bool "Pretty output"
default BUSYBOX_DEFAULT_FEATURE_LSMOD_PRETTY_2_6_OUTPUT
depends on BUSYBOX_CONFIG_LSMOD && !BUSYBOX_CONFIG_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.
config BUSYBOX_CONFIG_MODINFO
bool "modinfo (24 kb)"
default BUSYBOX_DEFAULT_MODINFO
help
Show information about a Linux Kernel module
config BUSYBOX_CONFIG_MODPROBE
bool "modprobe (28 kb)"
default BUSYBOX_DEFAULT_MODPROBE
help
Handle the loading of modules, and their dependencies on a high
level.
config BUSYBOX_CONFIG_FEATURE_MODPROBE_BLACKLIST
bool "Blacklist support"
default BUSYBOX_DEFAULT_FEATURE_MODPROBE_BLACKLIST
depends on BUSYBOX_CONFIG_MODPROBE && !BUSYBOX_CONFIG_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_CONFIG_RMMOD
bool "rmmod (3.3 kb)"
default BUSYBOX_DEFAULT_RMMOD
help
rmmod is used to unload specified modules from the kernel.
comment "Options common to multiple modutils"
config BUSYBOX_CONFIG_FEATURE_CMDLINE_MODULE_OPTIONS
bool "Accept module options on modprobe command line"
default BUSYBOX_DEFAULT_FEATURE_CMDLINE_MODULE_OPTIONS
depends on BUSYBOX_CONFIG_INSMOD || BUSYBOX_CONFIG_MODPROBE
help
Allow insmod and modprobe take module options from the applets'
command line.
config BUSYBOX_CONFIG_FEATURE_MODPROBE_SMALL_CHECK_ALREADY_LOADED
bool "Skip loading of already loaded modules"
default BUSYBOX_DEFAULT_FEATURE_MODPROBE_SMALL_CHECK_ALREADY_LOADED
depends on BUSYBOX_CONFIG_MODPROBE_SMALL && (BUSYBOX_CONFIG_DEPMOD || BUSYBOX_CONFIG_INSMOD || BUSYBOX_CONFIG_MODPROBE)
help
Check if the module is already loaded.
config BUSYBOX_CONFIG_FEATURE_2_4_MODULES
bool "Support version 2.2/2.4 Linux kernels"
default BUSYBOX_DEFAULT_FEATURE_2_4_MODULES
depends on (BUSYBOX_CONFIG_INSMOD || BUSYBOX_CONFIG_LSMOD || BUSYBOX_CONFIG_MODPROBE || BUSYBOX_CONFIG_RMMOD) && !BUSYBOX_CONFIG_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_CONFIG_FEATURE_INSMOD_VERSION_CHECKING
bool "Enable module version checking"
default BUSYBOX_DEFAULT_FEATURE_INSMOD_VERSION_CHECKING
depends on BUSYBOX_CONFIG_FEATURE_2_4_MODULES && (BUSYBOX_CONFIG_INSMOD || BUSYBOX_CONFIG_MODPROBE)
help
Support checking of versions for modules. This is used to
ensure that the kernel and module are made for each other.
config BUSYBOX_CONFIG_FEATURE_INSMOD_KSYMOOPS_SYMBOLS
bool "Add module symbols to kernel symbol table"
default BUSYBOX_DEFAULT_FEATURE_INSMOD_KSYMOOPS_SYMBOLS
depends on BUSYBOX_CONFIG_FEATURE_2_4_MODULES && (BUSYBOX_CONFIG_INSMOD || BUSYBOX_CONFIG_MODPROBE)
help
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_CONFIG_FEATURE_INSMOD_LOADINKMEM
bool "In kernel memory optimization (uClinux only)"
default BUSYBOX_DEFAULT_FEATURE_INSMOD_LOADINKMEM
depends on BUSYBOX_CONFIG_FEATURE_2_4_MODULES && (BUSYBOX_CONFIG_INSMOD || BUSYBOX_CONFIG_MODPROBE)
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.
config BUSYBOX_CONFIG_FEATURE_INSMOD_LOAD_MAP
bool "Enable insmod load map (-m) option"
default BUSYBOX_DEFAULT_FEATURE_INSMOD_LOAD_MAP
depends on BUSYBOX_CONFIG_FEATURE_2_4_MODULES && BUSYBOX_CONFIG_INSMOD
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.
config BUSYBOX_CONFIG_FEATURE_INSMOD_LOAD_MAP_FULL
bool "Symbols in load map"
default BUSYBOX_DEFAULT_FEATURE_INSMOD_LOAD_MAP_FULL
depends on BUSYBOX_CONFIG_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.
config BUSYBOX_CONFIG_FEATURE_CHECK_TAINTED_MODULE
bool "Support tainted module checking with new kernels"
default BUSYBOX_DEFAULT_FEATURE_CHECK_TAINTED_MODULE
depends on (BUSYBOX_CONFIG_LSMOD || BUSYBOX_CONFIG_FEATURE_2_4_MODULES) && !BUSYBOX_CONFIG_MODPROBE_SMALL
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.
config BUSYBOX_CONFIG_FEATURE_INSMOD_TRY_MMAP
bool "Try to load module from a mmap'ed area"
default BUSYBOX_DEFAULT_FEATURE_INSMOD_TRY_MMAP
depends on (BUSYBOX_CONFIG_INSMOD || BUSYBOX_CONFIG_MODPROBE) && !BUSYBOX_CONFIG_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_CONFIG_FEATURE_MODUTILS_ALIAS
bool "Support module.aliases file"
default BUSYBOX_DEFAULT_FEATURE_MODUTILS_ALIAS
depends on (BUSYBOX_CONFIG_DEPMOD || BUSYBOX_CONFIG_MODPROBE) && !BUSYBOX_CONFIG_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
and aliases for logical modules names e.g.:
alias padlock_aes aes
alias aes_i586 aes
alias aes_generic aes
Say Y if unsure.
config BUSYBOX_CONFIG_FEATURE_MODUTILS_SYMBOLS
bool "Support module.symbols file"
default BUSYBOX_DEFAULT_FEATURE_MODUTILS_SYMBOLS
depends on (BUSYBOX_CONFIG_DEPMOD || BUSYBOX_CONFIG_MODPROBE) && !BUSYBOX_CONFIG_MODPROBE_SMALL
help
Generate and parse modules.symbols containing aliases for
symbol_request() kernel calls, such as:
alias symbol:usb_sg_init usbcore
Say Y if unsure.
config BUSYBOX_CONFIG_DEFAULT_MODULES_DIR
string "Default directory containing modules"
default BUSYBOX_DEFAULT_DEFAULT_MODULES_DIR
depends on BUSYBOX_CONFIG_DEPMOD || BUSYBOX_CONFIG_MODPROBE || BUSYBOX_CONFIG_MODINFO
help
Directory that contains kernel modules.
Defaults to "/lib/modules"
config BUSYBOX_CONFIG_DEFAULT_DEPMOD_FILE
string "Default name of modules.dep"
default BUSYBOX_DEFAULT_DEFAULT_DEPMOD_FILE
depends on BUSYBOX_CONFIG_DEPMOD || BUSYBOX_CONFIG_MODPROBE || BUSYBOX_CONFIG_MODINFO
help
Filename that contains kernel modules dependencies.
Defaults to "modules.dep".
If you configured the "simplified modutils" (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

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,216 @@
# 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_CONFIG_UDHCPD
bool "udhcpd (21 kb)"
default BUSYBOX_DEFAULT_UDHCPD
help
udhcpd is a DHCP server geared primarily toward embedded systems,
while striving to be fully functional and RFC compliant.
config BUSYBOX_CONFIG_FEATURE_UDHCPD_BASE_IP_ON_MAC
bool "Select IP address based on client MAC"
default BUSYBOX_DEFAULT_FEATURE_UDHCPD_BASE_IP_ON_MAC
depends on BUSYBOX_CONFIG_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.
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_CONFIG_FEATURE_UDHCPD_WRITE_LEASES_EARLY
bool "Rewrite lease file at every new acknowledge"
default BUSYBOX_DEFAULT_FEATURE_UDHCPD_WRITE_LEASES_EARLY
depends on BUSYBOX_CONFIG_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_CONFIG_DHCPD_LEASES_FILE
string "Absolute path to lease file"
default BUSYBOX_DEFAULT_DHCPD_LEASES_FILE
depends on BUSYBOX_CONFIG_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.
config BUSYBOX_CONFIG_DUMPLEASES
bool "dumpleases (5.1 kb)"
default BUSYBOX_DEFAULT_DUMPLEASES
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_CONFIG_DHCPRELAY
bool "dhcprelay (5.2 kb)"
default BUSYBOX_DEFAULT_DHCPRELAY
help
dhcprelay listens for DHCP requests on one or more interfaces
and forwards these requests to a different interface or DHCP
server.
config BUSYBOX_CONFIG_UDHCPC
bool "udhcpc (24 kb)"
default BUSYBOX_DEFAULT_UDHCPC
help
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.
config BUSYBOX_CONFIG_FEATURE_UDHCPC_ARPING
bool "Verify that the offered address is free, using ARP ping"
default BUSYBOX_DEFAULT_FEATURE_UDHCPC_ARPING
depends on BUSYBOX_CONFIG_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.
config BUSYBOX_CONFIG_FEATURE_UDHCPC_SANITIZEOPT
bool "Do not pass malformed host and domain names"
default BUSYBOX_DEFAULT_FEATURE_UDHCPC_SANITIZEOPT
depends on BUSYBOX_CONFIG_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.
config BUSYBOX_CONFIG_UDHCPC_DEFAULT_SCRIPT
string "Absolute path to config script"
default BUSYBOX_DEFAULT_UDHCPC_DEFAULT_SCRIPT
depends on BUSYBOX_CONFIG_UDHCPC
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.
config BUSYBOX_CONFIG_UDHCPC6_DEFAULT_SCRIPT
string "Absolute path to config script for IPv6"
default BUSYBOX_DEFAULT_UDHCPC6_DEFAULT_SCRIPT
depends on BUSYBOX_CONFIG_UDHCPC6
# udhcpc6 config is inserted here:
config BUSYBOX_CONFIG_UDHCPC6
bool "udhcpc6 (21 kb)"
default BUSYBOX_DEFAULT_UDHCPC6
depends on BUSYBOX_CONFIG_FEATURE_IPV6
help
udhcpc6 is a DHCPv6 client
config BUSYBOX_CONFIG_FEATURE_UDHCPC6_RFC3646
bool "Support RFC 3646 (DNS server and search list)"
default BUSYBOX_DEFAULT_FEATURE_UDHCPC6_RFC3646
depends on BUSYBOX_CONFIG_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_CONFIG_FEATURE_UDHCPC6_RFC4704
bool "Support RFC 4704 (Client FQDN)"
default BUSYBOX_DEFAULT_FEATURE_UDHCPC6_RFC4704
depends on BUSYBOX_CONFIG_UDHCPC6
help
You can request FQDN to be given by server using "-O fqdn".
config BUSYBOX_CONFIG_FEATURE_UDHCPC6_RFC4833
bool "Support RFC 4833 (Timezones)"
default BUSYBOX_DEFAULT_FEATURE_UDHCPC6_RFC4833
depends on BUSYBOX_CONFIG_UDHCPC6
help
You can request POSIX timezone with "-O tz" and timezone name
with "-O timezone".
config BUSYBOX_CONFIG_FEATURE_UDHCPC6_RFC5970
bool "Support RFC 5970 (Network Boot)"
default BUSYBOX_DEFAULT_FEATURE_UDHCPC6_RFC5970
depends on BUSYBOX_CONFIG_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_CONFIG_UDHCPD || BUSYBOX_CONFIG_UDHCPC || BUSYBOX_CONFIG_UDHCPC6 || BUSYBOX_CONFIG_DHCPRELAY
config BUSYBOX_CONFIG_UDHCPC_DEFAULT_INTERFACE
string "Default interface name"
default BUSYBOX_DEFAULT_UDHCPC_DEFAULT_INTERFACE
depends on BUSYBOX_CONFIG_UDHCPC || BUSYBOX_CONFIG_UDHCPC6
help
The interface that will be used if no other interface is
specified on the commandline.
config BUSYBOX_CONFIG_FEATURE_UDHCP_PORT
bool "Enable '-P port' option for udhcpd and udhcpc"
default BUSYBOX_DEFAULT_FEATURE_UDHCP_PORT
depends on BUSYBOX_CONFIG_UDHCPD || BUSYBOX_CONFIG_UDHCPC || BUSYBOX_CONFIG_UDHCPC6
help
At the cost of ~300 bytes, enables -P port option.
This feature is typically not needed.
config BUSYBOX_CONFIG_UDHCP_DEBUG
int "Maximum verbosity level (0..9)"
default BUSYBOX_DEFAULT_UDHCP_DEBUG
range 0 9
depends on BUSYBOX_CONFIG_UDHCPD || BUSYBOX_CONFIG_UDHCPC || BUSYBOX_CONFIG_UDHCPC6 || BUSYBOX_CONFIG_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_CONFIG_UDHCPC_SLACK_FOR_BUGGY_SERVERS
int "DHCP options slack buffer size"
default BUSYBOX_DEFAULT_UDHCPC_SLACK_FOR_BUGGY_SERVERS
range 0 924
depends on BUSYBOX_CONFIG_UDHCPD || BUSYBOX_CONFIG_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 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_CONFIG_FEATURE_UDHCP_RFC3397
bool "Support RFC 3397 domain search options"
default BUSYBOX_DEFAULT_FEATURE_UDHCP_RFC3397
depends on BUSYBOX_CONFIG_UDHCPD || BUSYBOX_CONFIG_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_CONFIG_FEATURE_UDHCP_8021Q
bool "Support 802.1Q VLAN parameters options"
default BUSYBOX_DEFAULT_FEATURE_UDHCP_8021Q
depends on BUSYBOX_CONFIG_UDHCPD || BUSYBOX_CONFIG_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.

View File

@@ -0,0 +1,26 @@
# 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 "Print Utilities"
config BUSYBOX_CONFIG_LPD
bool "lpd (5.5 kb)"
default BUSYBOX_DEFAULT_LPD
help
lpd is a print spooling daemon.
config BUSYBOX_CONFIG_LPR
bool "lpr (9.9 kb)"
default BUSYBOX_DEFAULT_LPR
help
lpr sends files (or standard input) to a print spooling daemon.
config BUSYBOX_CONFIG_LPQ
bool "lpq (9.9 kb)"
default BUSYBOX_DEFAULT_LPQ
help
lpq is a print spool queue examination and manipulation program.
endmenu

View File

@@ -0,0 +1,277 @@
# 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 "Process Utilities"
config BUSYBOX_CONFIG_FEATURE_FAST_TOP
bool "Faster /proc scanning code (+100 bytes)"
default BUSYBOX_DEFAULT_FEATURE_FAST_TOP # all "fast or small" options default to small
help
This option makes top and ps ~20% faster (or 20% less CPU hungry),
but code size is slightly bigger.
config BUSYBOX_CONFIG_FEATURE_SHOW_THREADS
bool "Support thread display in ps/pstree/top"
default BUSYBOX_DEFAULT_FEATURE_SHOW_THREADS
depends on BUSYBOX_CONFIG_PS || BUSYBOX_CONFIG_TOP || BUSYBOX_CONFIG_PSTREE
help
Enables the ps -T option, showing of threads in pstree,
and 'h' command in top.
config BUSYBOX_CONFIG_FREE
bool "free (3.1 kb)"
default BUSYBOX_DEFAULT_FREE
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.
config BUSYBOX_CONFIG_FUSER
bool "fuser (7 kb)"
default BUSYBOX_DEFAULT_FUSER
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.
config BUSYBOX_CONFIG_IOSTAT
bool "iostat (7.6 kb)"
default BUSYBOX_DEFAULT_IOSTAT
help
Report CPU and I/O statistics
config BUSYBOX_CONFIG_KILL
bool "kill (3.1 kb)"
default BUSYBOX_DEFAULT_KILL
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.
config BUSYBOX_CONFIG_KILLALL
bool "killall (5.6 kb)"
default BUSYBOX_DEFAULT_KILLALL
help
killall sends a signal to all processes running any of the
specified commands. If no signal name is specified, SIGTERM is
sent.
config BUSYBOX_CONFIG_KILLALL5
bool "killall5 (5.3 kb)"
default BUSYBOX_DEFAULT_KILLALL5
help
The SystemV killall command. killall5 sends a signal
to all processes except kernel threads and the processes
in its own session, so it won't kill the shell that is running
the script it was called from.
config BUSYBOX_CONFIG_LSOF
bool "lsof (3.4 kb)"
default BUSYBOX_DEFAULT_LSOF
help
Show open files in the format of:
PID <TAB> /path/to/executable <TAB> /path/to/opened/file
config BUSYBOX_CONFIG_MPSTAT
bool "mpstat (9.8 kb)"
default BUSYBOX_DEFAULT_MPSTAT
help
Per-processor statistics
config BUSYBOX_CONFIG_NMETER
bool "nmeter (11 kb)"
default BUSYBOX_DEFAULT_NMETER
help
Prints selected system stats continuously, one line per update.
config BUSYBOX_CONFIG_PGREP
bool "pgrep (6.5 kb)"
default BUSYBOX_DEFAULT_PGREP
help
Look for processes by name.
config BUSYBOX_CONFIG_PKILL
bool "pkill (7.5 kb)"
default BUSYBOX_DEFAULT_PKILL
help
Send signals to processes by name.
config BUSYBOX_CONFIG_PIDOF
bool "pidof (6.3 kb)"
default BUSYBOX_DEFAULT_PIDOF
help
Pidof finds the process id's (pids) of the named programs. It prints
those id's on the standard output.
config BUSYBOX_CONFIG_FEATURE_PIDOF_SINGLE
bool "Enable single shot (-s)"
default BUSYBOX_DEFAULT_FEATURE_PIDOF_SINGLE
depends on BUSYBOX_CONFIG_PIDOF
help
Support '-s' for returning only the first pid found.
config BUSYBOX_CONFIG_FEATURE_PIDOF_OMIT
bool "Enable omitting pids (-o PID)"
default BUSYBOX_DEFAULT_FEATURE_PIDOF_OMIT
depends on BUSYBOX_CONFIG_PIDOF
help
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_CONFIG_PMAP
bool "pmap (6 kb)"
default BUSYBOX_DEFAULT_PMAP
help
Display processes' memory mappings.
config BUSYBOX_CONFIG_POWERTOP
bool "powertop (9.6 kb)"
default BUSYBOX_DEFAULT_POWERTOP
help
Analyze power consumption on Intel-based laptops
config BUSYBOX_CONFIG_FEATURE_POWERTOP_INTERACTIVE
bool "Accept keyboard commands"
default BUSYBOX_DEFAULT_FEATURE_POWERTOP_INTERACTIVE
depends on BUSYBOX_CONFIG_POWERTOP
help
Without this, powertop will only refresh display every 10 seconds.
No keyboard commands will work, only ^C to terminate.
config BUSYBOX_CONFIG_PS
bool "ps (11 kb)"
default BUSYBOX_DEFAULT_PS
help
ps gives a snapshot of the current processes.
config BUSYBOX_CONFIG_FEATURE_PS_WIDE
bool "Enable wide output (-w)"
default BUSYBOX_DEFAULT_FEATURE_PS_WIDE
depends on (BUSYBOX_CONFIG_PS || BUSYBOX_CONFIG_MINIPS) && !BUSYBOX_CONFIG_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.
config BUSYBOX_CONFIG_FEATURE_PS_LONG
bool "Enable long output (-l)"
default BUSYBOX_DEFAULT_FEATURE_PS_LONG
depends on (BUSYBOX_CONFIG_PS || BUSYBOX_CONFIG_MINIPS) && !BUSYBOX_CONFIG_DESKTOP
help
Support argument 'l' for long output.
Adds fields PPID, RSS, START, TIME & TTY
config BUSYBOX_CONFIG_FEATURE_PS_TIME
bool "Enable -o time and -o etime specifiers"
default BUSYBOX_DEFAULT_FEATURE_PS_TIME
depends on (BUSYBOX_CONFIG_PS || BUSYBOX_CONFIG_MINIPS) && BUSYBOX_CONFIG_DESKTOP
config BUSYBOX_CONFIG_FEATURE_PS_UNUSUAL_SYSTEMS
bool "Support Linux prior to 2.4.0 and non-ELF systems"
default BUSYBOX_DEFAULT_FEATURE_PS_UNUSUAL_SYSTEMS
depends on BUSYBOX_CONFIG_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)
config BUSYBOX_CONFIG_FEATURE_PS_ADDITIONAL_COLUMNS
bool "Enable -o rgroup, -o ruser, -o nice specifiers"
default BUSYBOX_DEFAULT_FEATURE_PS_ADDITIONAL_COLUMNS
depends on (BUSYBOX_CONFIG_PS || BUSYBOX_CONFIG_MINIPS) && BUSYBOX_CONFIG_DESKTOP
config BUSYBOX_CONFIG_PSTREE
bool "pstree (9.3 kb)"
default BUSYBOX_DEFAULT_PSTREE
help
Display a tree of processes.
config BUSYBOX_CONFIG_PWDX
bool "pwdx (3.7 kb)"
default BUSYBOX_DEFAULT_PWDX
help
Report current working directory of a process
config BUSYBOX_CONFIG_SMEMCAP
bool "smemcap (2.5 kb)"
default BUSYBOX_DEFAULT_SMEMCAP
help
smemcap is a tool for capturing process data for smem,
a memory usage statistic tool.
config BUSYBOX_CONFIG_BB_SYSCTL
bool "sysctl (7.4 kb)"
default BUSYBOX_DEFAULT_BB_SYSCTL
help
Configure kernel parameters at runtime.
config BUSYBOX_CONFIG_TOP
bool "top (18 kb)"
default BUSYBOX_DEFAULT_TOP
help
The top program provides a dynamic real-time view of a running
system.
config BUSYBOX_CONFIG_FEATURE_TOP_INTERACTIVE
bool "Accept keyboard commands"
default BUSYBOX_DEFAULT_FEATURE_TOP_INTERACTIVE
depends on BUSYBOX_CONFIG_TOP
help
Without this, top will only refresh display every 5 seconds.
No keyboard commands will work, only ^C to terminate.
config BUSYBOX_CONFIG_FEATURE_TOP_CPU_USAGE_PERCENTAGE
bool "Show CPU per-process usage percentage"
default BUSYBOX_DEFAULT_FEATURE_TOP_CPU_USAGE_PERCENTAGE
depends on BUSYBOX_CONFIG_TOP
help
Make top display CPU usage for each process.
This adds about 2k.
config BUSYBOX_CONFIG_FEATURE_TOP_CPU_GLOBAL_PERCENTS
bool "Show CPU global usage percentage"
default BUSYBOX_DEFAULT_FEATURE_TOP_CPU_GLOBAL_PERCENTS
depends on BUSYBOX_CONFIG_FEATURE_TOP_CPU_USAGE_PERCENTAGE
help
Makes top display "CPU: NN% usr NN% sys..." line.
This adds about 0.5k.
config BUSYBOX_CONFIG_FEATURE_TOP_SMP_CPU
bool "SMP CPU usage display ('c' key)"
default BUSYBOX_DEFAULT_FEATURE_TOP_SMP_CPU
depends on BUSYBOX_CONFIG_FEATURE_TOP_CPU_GLOBAL_PERCENTS
help
Allow 'c' key to switch between individual/cumulative CPU stats
This adds about 0.5k.
config BUSYBOX_CONFIG_FEATURE_TOP_DECIMALS
bool "Show 1/10th of a percent in CPU/mem statistics"
default BUSYBOX_DEFAULT_FEATURE_TOP_DECIMALS
depends on BUSYBOX_CONFIG_FEATURE_TOP_CPU_USAGE_PERCENTAGE
help
Show 1/10th of a percent in CPU/mem statistics.
This adds about 0.3k.
config BUSYBOX_CONFIG_FEATURE_TOP_SMP_PROCESS
bool "Show CPU process runs on ('j' field)"
default BUSYBOX_DEFAULT_FEATURE_TOP_SMP_PROCESS
depends on BUSYBOX_CONFIG_TOP
help
Show CPU where process was last found running on.
This is the 'j' field.
config BUSYBOX_CONFIG_FEATURE_TOPMEM
bool "Topmem command ('s' key)"
default BUSYBOX_DEFAULT_FEATURE_TOPMEM
depends on BUSYBOX_CONFIG_TOP
help
Enable 's' in top (gives lots of memory info).
config BUSYBOX_CONFIG_UPTIME
bool "uptime (3.7 kb)"
default BUSYBOX_DEFAULT_UPTIME
help
uptime gives a one line display of the current time, how long
the system has been running, how many users are currently logged
on, and the system load averages for the past 1, 5, and 15 minutes.
config BUSYBOX_CONFIG_FEATURE_UPTIME_UTMP_SUPPORT
bool "Show the number of users"
default BUSYBOX_DEFAULT_FEATURE_UPTIME_UTMP_SUPPORT
depends on BUSYBOX_CONFIG_UPTIME && BUSYBOX_CONFIG_FEATURE_UTMP
help
Display the number of users currently logged on.
config BUSYBOX_CONFIG_WATCH
bool "watch (4.4 kb)"
default BUSYBOX_DEFAULT_WATCH
help
watch is used to execute a program periodically, showing
output to the screen.
endmenu

View File

@@ -0,0 +1,98 @@
# 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 "Runit Utilities"
config BUSYBOX_CONFIG_CHPST
bool "chpst (9 kb)"
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 (4 kb)"
default BUSYBOX_DEFAULT_SETUIDGID
help
Sets soft resource limits as specified by options
config BUSYBOX_CONFIG_ENVUIDGID
bool "envuidgid (3.9 kb)"
default BUSYBOX_DEFAULT_ENVUIDGID
help
Sets $UID to account's uid and $GID to account's gid
config BUSYBOX_CONFIG_ENVDIR
bool "envdir (2.5 kb)"
default BUSYBOX_DEFAULT_ENVDIR
help
Sets various environment variables as specified by files
in the given directory
config BUSYBOX_CONFIG_SOFTLIMIT
bool "softlimit (4.5 kb)"
default BUSYBOX_DEFAULT_SOFTLIMIT
help
Sets soft resource limits as specified by options
config BUSYBOX_CONFIG_RUNSV
bool "runsv (7.8 kb)"
default BUSYBOX_DEFAULT_RUNSV
help
runsv starts and monitors a service and optionally an appendant log
service.
config BUSYBOX_CONFIG_RUNSVDIR
bool "runsvdir (6.3 kb)"
default BUSYBOX_DEFAULT_RUNSVDIR
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.
config BUSYBOX_CONFIG_FEATURE_RUNSVDIR_LOG
bool "Enable scrolling argument log"
depends on BUSYBOX_CONFIG_RUNSVDIR
default BUSYBOX_DEFAULT_FEATURE_RUNSVDIR_LOG
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.
config BUSYBOX_CONFIG_SV
bool "sv (8.5 kb)"
default BUSYBOX_DEFAULT_SV
help
sv reports the current status and controls the state of services
monitored by the runsv supervisor.
config BUSYBOX_CONFIG_SV_DEFAULT_SERVICE_DIR
string "Default directory for services"
default BUSYBOX_DEFAULT_SV_DEFAULT_SERVICE_DIR
depends on BUSYBOX_CONFIG_SV || BUSYBOX_CONFIG_SVC || BUSYBOX_CONFIG_SVOK
help
Default directory for services.
Defaults to "/var/service"
config BUSYBOX_CONFIG_SVC
bool "svc (8.4 kb)"
default BUSYBOX_DEFAULT_SVC
help
svc controls the state of services monitored by the runsv supervisor.
It is compatible with daemontools command with the same name.
config BUSYBOX_CONFIG_SVOK
bool "svok (1.5 kb)"
default BUSYBOX_DEFAULT_SVOK
help
svok checks whether runsv supervisor is running.
It is compatible with daemontools command with the same name.
config BUSYBOX_CONFIG_SVLOGD
bool "svlogd (16 kb)"
default BUSYBOX_DEFAULT_SVLOGD
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.
endmenu

View File

@@ -0,0 +1,99 @@
# 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 "SELinux Utilities"
depends on BUSYBOX_CONFIG_SELINUX
config BUSYBOX_CONFIG_CHCON
bool "chcon (8.9 kb)"
default BUSYBOX_DEFAULT_CHCON
depends on BUSYBOX_CONFIG_SELINUX
help
Enable support to change the security context of file.
config BUSYBOX_CONFIG_GETENFORCE
bool "getenforce (1.7 kb)"
default BUSYBOX_DEFAULT_GETENFORCE
depends on BUSYBOX_CONFIG_SELINUX
help
Enable support to get the current mode of SELinux.
config BUSYBOX_CONFIG_GETSEBOOL
bool "getsebool (5.5 kb)"
default BUSYBOX_DEFAULT_GETSEBOOL
depends on BUSYBOX_CONFIG_SELINUX
help
Enable support to get SELinux boolean values.
config BUSYBOX_CONFIG_LOAD_POLICY
bool "load_policy (1.6 kb)"
default BUSYBOX_DEFAULT_LOAD_POLICY
depends on BUSYBOX_CONFIG_SELINUX
help
Enable support to load SELinux policy.
config BUSYBOX_CONFIG_MATCHPATHCON
bool "matchpathcon (6.1 kb)"
default BUSYBOX_DEFAULT_MATCHPATHCON
depends on BUSYBOX_CONFIG_SELINUX
help
Enable support to get default security context of the
specified path from the file contexts configuration.
config BUSYBOX_CONFIG_RUNCON
bool "runcon (6.6 kb)"
default BUSYBOX_DEFAULT_RUNCON
depends on BUSYBOX_CONFIG_SELINUX
help
Enable support to run command in specified security context.
config BUSYBOX_CONFIG_SELINUXENABLED
bool "selinuxenabled (321 bytes)"
default BUSYBOX_DEFAULT_SELINUXENABLED
depends on BUSYBOX_CONFIG_SELINUX
help
Enable support for this command to be used within shell scripts
to determine if selinux is enabled.
config BUSYBOX_CONFIG_SESTATUS
bool "sestatus (12 kb)"
default BUSYBOX_DEFAULT_SESTATUS
depends on BUSYBOX_CONFIG_SELINUX
help
Displays the status of SELinux.
config BUSYBOX_CONFIG_SETENFORCE
bool "setenforce (2.1 kb)"
default BUSYBOX_DEFAULT_SETENFORCE
depends on BUSYBOX_CONFIG_SELINUX
help
Enable support to modify the mode SELinux is running in.
config BUSYBOX_CONFIG_SETFILES
bool "setfiles (13 kb)"
default BUSYBOX_DEFAULT_SETFILES
depends on BUSYBOX_CONFIG_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.
config BUSYBOX_CONFIG_FEATURE_SETFILES_CHECK_OPTION
bool "Enable check option"
default BUSYBOX_DEFAULT_FEATURE_SETFILES_CHECK_OPTION
depends on BUSYBOX_CONFIG_SETFILES
help
Support "-c" option (check the validity of the contexts against
the specified binary policy) for setfiles. Requires libsepol.
config BUSYBOX_CONFIG_RESTORECON
bool "restorecon (12 kb)"
default BUSYBOX_DEFAULT_RESTORECON
depends on BUSYBOX_CONFIG_SELINUX
help
Enable support to relabel files. The feature is almost
the same as setfiles, but usage is a little different.
config BUSYBOX_CONFIG_SETSEBOOL
bool "setsebool (1.7 kb)"
default BUSYBOX_DEFAULT_SETSEBOOL
depends on BUSYBOX_CONFIG_SELINUX
help
Enable support for change boolean.
semanage and -P option is not supported yet.
endmenu

View File

@@ -0,0 +1,608 @@
# 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 "Shells"
choice
prompt "Choose which shell is aliased to 'sh' name"
default BUSYBOX_CONFIG_SH_IS_ASH
help
Choose which shell you want to be executed by 'sh' alias.
The ash shell is the most bash compatible and full featured one.
# note: cannot use "select ASH" here, it breaks "make allnoconfig"
config BUSYBOX_CONFIG_SH_IS_ASH
depends on !BUSYBOX_CONFIG_NOMMU
bool "ash"
select BUSYBOX_CONFIG_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_CONFIG_SH_IS_HUSH
bool "hush"
select BUSYBOX_CONFIG_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_CONFIG_SH_IS_NONE
bool "none"
endchoice
choice
prompt "Choose which shell is aliased to 'bash' name"
default BUSYBOX_CONFIG_BASH_IS_NONE
help
Choose which shell you want to be executed by 'bash' alias.
The ash shell is the most bash compatible and full featured one,
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_CONFIG_BASH_IS_ASH
depends on !BUSYBOX_CONFIG_NOMMU
bool "ash"
select BUSYBOX_CONFIG_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_CONFIG_BASH_IS_HUSH
bool "hush"
select BUSYBOX_CONFIG_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_CONFIG_BASH_IS_NONE
bool "none"
endchoice
config BUSYBOX_CONFIG_SHELL_ASH
bool #hidden option
depends on !BUSYBOX_CONFIG_NOMMU
config BUSYBOX_CONFIG_ASH
bool "ash (78 kb)"
default BUSYBOX_DEFAULT_ASH
depends on !BUSYBOX_CONFIG_NOMMU
select BUSYBOX_CONFIG_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 !NOMMU && (BUSYBOX_CONFIG_SHELL_ASH || BUSYBOX_CONFIG_ASH || BUSYBOX_CONFIG_SH_IS_ASH || BUSYBOX_CONFIG_BASH_IS_ASH)
config BUSYBOX_CONFIG_ASH_OPTIMIZE_FOR_SIZE
bool "Optimize for size instead of speed"
default BUSYBOX_DEFAULT_ASH_OPTIMIZE_FOR_SIZE
depends on BUSYBOX_CONFIG_SHELL_ASH
config BUSYBOX_CONFIG_ASH_INTERNAL_GLOB
bool "Use internal glob() implementation"
default BUSYBOX_DEFAULT_ASH_INTERNAL_GLOB # Y is bigger, but because of uclibc glob() bug, let Y be default for now
depends on BUSYBOX_CONFIG_SHELL_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.
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_CONFIG_ASH_BASH_COMPAT
bool "bash-compatible extensions"
default BUSYBOX_DEFAULT_ASH_BASH_COMPAT
depends on BUSYBOX_CONFIG_SHELL_ASH
config BUSYBOX_CONFIG_ASH_BASH_SOURCE_CURDIR
bool "'source' and '.' builtins search current directory after $PATH"
default BUSYBOX_DEFAULT_ASH_BASH_SOURCE_CURDIR # do not encourage non-standard behavior
depends on BUSYBOX_CONFIG_ASH_BASH_COMPAT
help
This is not compliant with standards. Avoid if possible.
config BUSYBOX_CONFIG_ASH_BASH_NOT_FOUND_HOOK
bool "command_not_found_handle hook support"
default BUSYBOX_DEFAULT_ASH_BASH_NOT_FOUND_HOOK
depends on BUSYBOX_CONFIG_ASH_BASH_COMPAT
help
Enable support for the 'command_not_found_handle' hook function,
from GNU bash, which allows for alternative command not found
handling.
config BUSYBOX_CONFIG_ASH_JOB_CONTROL
bool "Job control"
default BUSYBOX_DEFAULT_ASH_JOB_CONTROL
depends on BUSYBOX_CONFIG_SHELL_ASH
config BUSYBOX_CONFIG_ASH_ALIAS
bool "Alias support"
default BUSYBOX_DEFAULT_ASH_ALIAS
depends on BUSYBOX_CONFIG_SHELL_ASH
config BUSYBOX_CONFIG_ASH_RANDOM_SUPPORT
bool "Pseudorandom generator and $RANDOM variable"
default BUSYBOX_DEFAULT_ASH_RANDOM_SUPPORT
depends on BUSYBOX_CONFIG_SHELL_ASH
help
Enable pseudorandom generator and dynamic variable "$RANDOM".
Each read of "$RANDOM" will generate a new pseudorandom value.
You can reset the generator by using a specified start value.
After "unset RANDOM" the generator will switch off and this
variable will no longer have special treatment.
config BUSYBOX_CONFIG_ASH_EXPAND_PRMT
bool "Expand prompt string"
default BUSYBOX_DEFAULT_ASH_EXPAND_PRMT
depends on BUSYBOX_CONFIG_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.
config BUSYBOX_CONFIG_ASH_IDLE_TIMEOUT
bool "Idle timeout variable $TMOUT"
default BUSYBOX_DEFAULT_ASH_IDLE_TIMEOUT
depends on BUSYBOX_CONFIG_SHELL_ASH
help
Enable bash-like auto-logout after $TMOUT seconds of idle time.
config BUSYBOX_CONFIG_ASH_MAIL
bool "Check for new mail in interactive shell"
default BUSYBOX_DEFAULT_ASH_MAIL
depends on BUSYBOX_CONFIG_SHELL_ASH
help
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_CONFIG_ASH_ECHO
bool "echo builtin"
default BUSYBOX_DEFAULT_ASH_ECHO
depends on BUSYBOX_CONFIG_SHELL_ASH
config BUSYBOX_CONFIG_ASH_PRINTF
bool "printf builtin"
default BUSYBOX_DEFAULT_ASH_PRINTF
depends on BUSYBOX_CONFIG_SHELL_ASH
config BUSYBOX_CONFIG_ASH_TEST
bool "test builtin"
default BUSYBOX_DEFAULT_ASH_TEST
depends on BUSYBOX_CONFIG_SHELL_ASH
config BUSYBOX_CONFIG_ASH_SLEEP
bool "sleep builtin"
default BUSYBOX_DEFAULT_ASH_SLEEP
depends on BUSYBOX_CONFIG_SHELL_ASH
config BUSYBOX_CONFIG_ASH_HELP
bool "help builtin"
default BUSYBOX_DEFAULT_ASH_HELP
depends on BUSYBOX_CONFIG_SHELL_ASH
config BUSYBOX_CONFIG_ASH_GETOPTS
bool "getopts builtin"
default BUSYBOX_DEFAULT_ASH_GETOPTS
depends on BUSYBOX_CONFIG_SHELL_ASH
config BUSYBOX_CONFIG_ASH_CMDCMD
bool "command builtin"
default BUSYBOX_DEFAULT_ASH_CMDCMD
depends on BUSYBOX_CONFIG_SHELL_ASH
help
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_CONFIG_CTTYHACK
bool "cttyhack (2.4 kb)"
default BUSYBOX_DEFAULT_CTTYHACK
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.
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.
Example for /etc/inittab (for busybox init):
::respawn:/bin/cttyhack /bin/sh
Starting an interactive shell from boot shell script:
setsid cttyhack sh
Giving controlling tty to shell running with PID 1:
# exec cttyhack sh
Without cttyhack, you need to know exact tty name,
and do something like this:
# exec setsid sh -c 'exec sh </dev/tty1 >/dev/tty1 2>&1'
Starting getty on a controlling tty from a shell script:
# getty 115200 $(cttyhack)
config BUSYBOX_CONFIG_HUSH
bool "hush (68 kb)"
default BUSYBOX_DEFAULT_HUSH
select BUSYBOX_CONFIG_SHELL_HUSH
help
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 does not handle select, aliases, tilde expansion,
&>file and >&file redirection of stdout+stderr.
config BUSYBOX_CONFIG_SHELL_HUSH
bool "Internal shell for embedded script support"
default BUSYBOX_DEFAULT_SHELL_HUSH
# hush options
# It's only needed to get "nice" menuconfig indenting.
if SHELL_HUSH || BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH
config BUSYBOX_CONFIG_HUSH_BASH_COMPAT
bool "bash-compatible extensions"
default BUSYBOX_DEFAULT_HUSH_BASH_COMPAT
depends on BUSYBOX_CONFIG_SHELL_HUSH
config BUSYBOX_CONFIG_HUSH_BRACE_EXPANSION
bool "Brace expansion"
default BUSYBOX_DEFAULT_HUSH_BRACE_EXPANSION
depends on BUSYBOX_CONFIG_HUSH_BASH_COMPAT
help
Enable {abc,def} extension.
config BUSYBOX_CONFIG_HUSH_BASH_SOURCE_CURDIR
bool "'source' and '.' builtins search current directory after $PATH"
default BUSYBOX_DEFAULT_HUSH_BASH_SOURCE_CURDIR # do not encourage non-standard behavior
depends on BUSYBOX_CONFIG_HUSH_BASH_COMPAT
help
This is not compliant with standards. Avoid if possible.
config BUSYBOX_CONFIG_HUSH_LINENO_VAR
bool "$LINENO variable (bashism)"
default BUSYBOX_DEFAULT_HUSH_LINENO_VAR
depends on BUSYBOX_CONFIG_SHELL_HUSH
config BUSYBOX_CONFIG_HUSH_INTERACTIVE
bool "Interactive mode"
default BUSYBOX_DEFAULT_HUSH_INTERACTIVE
depends on BUSYBOX_CONFIG_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.
config BUSYBOX_CONFIG_HUSH_SAVEHISTORY
bool "Save command history to .hush_history"
default BUSYBOX_DEFAULT_HUSH_SAVEHISTORY
depends on BUSYBOX_CONFIG_HUSH_INTERACTIVE && BUSYBOX_CONFIG_FEATURE_EDITING_SAVEHISTORY
config BUSYBOX_CONFIG_HUSH_JOB
bool "Job control"
default BUSYBOX_DEFAULT_HUSH_JOB
depends on BUSYBOX_CONFIG_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.
config BUSYBOX_CONFIG_HUSH_TICK
bool "Support command substitution"
default BUSYBOX_DEFAULT_HUSH_TICK
depends on BUSYBOX_CONFIG_SHELL_HUSH
help
Enable `command` and $(command).
config BUSYBOX_CONFIG_HUSH_IF
bool "Support if/then/elif/else/fi"
default BUSYBOX_DEFAULT_HUSH_IF
depends on BUSYBOX_CONFIG_SHELL_HUSH
config BUSYBOX_CONFIG_HUSH_LOOPS
bool "Support for, while and until loops"
default BUSYBOX_DEFAULT_HUSH_LOOPS
depends on BUSYBOX_CONFIG_SHELL_HUSH
config BUSYBOX_CONFIG_HUSH_CASE
bool "Support case ... esac statement"
default BUSYBOX_DEFAULT_HUSH_CASE
depends on BUSYBOX_CONFIG_SHELL_HUSH
help
Enable case ... esac statement. +400 bytes.
config BUSYBOX_CONFIG_HUSH_FUNCTIONS
bool "Support funcname() { commands; } syntax"
default BUSYBOX_DEFAULT_HUSH_FUNCTIONS
depends on BUSYBOX_CONFIG_SHELL_HUSH
help
Enable support for shell functions. +800 bytes.
config BUSYBOX_CONFIG_HUSH_LOCAL
bool "local builtin"
default BUSYBOX_DEFAULT_HUSH_LOCAL
depends on BUSYBOX_CONFIG_HUSH_FUNCTIONS
help
Enable support for local variables in functions.
config BUSYBOX_CONFIG_HUSH_RANDOM_SUPPORT
bool "Pseudorandom generator and $RANDOM variable"
default BUSYBOX_DEFAULT_HUSH_RANDOM_SUPPORT
depends on BUSYBOX_CONFIG_SHELL_HUSH
help
Enable pseudorandom generator and dynamic variable "$RANDOM".
Each read of "$RANDOM" will generate a new pseudorandom value.
config BUSYBOX_CONFIG_HUSH_MODE_X
bool "Support 'hush -x' option and 'set -x' command"
default BUSYBOX_DEFAULT_HUSH_MODE_X
depends on BUSYBOX_CONFIG_SHELL_HUSH
help
This instructs hush to print commands before execution.
Adds ~300 bytes.
config BUSYBOX_CONFIG_HUSH_ECHO
bool "echo builtin"
default BUSYBOX_DEFAULT_HUSH_ECHO
depends on BUSYBOX_CONFIG_SHELL_HUSH
config BUSYBOX_CONFIG_HUSH_PRINTF
bool "printf builtin"
default BUSYBOX_DEFAULT_HUSH_PRINTF
depends on BUSYBOX_CONFIG_SHELL_HUSH
config BUSYBOX_CONFIG_HUSH_TEST
bool "test builtin"
default BUSYBOX_DEFAULT_HUSH_TEST
depends on BUSYBOX_CONFIG_SHELL_HUSH
config BUSYBOX_CONFIG_HUSH_HELP
bool "help builtin"
default BUSYBOX_DEFAULT_HUSH_HELP
depends on BUSYBOX_CONFIG_SHELL_HUSH
config BUSYBOX_CONFIG_HUSH_EXPORT
bool "export builtin"
default BUSYBOX_DEFAULT_HUSH_EXPORT
depends on BUSYBOX_CONFIG_SHELL_HUSH
config BUSYBOX_CONFIG_HUSH_EXPORT_N
bool "Support 'export -n' option"
default BUSYBOX_DEFAULT_HUSH_EXPORT_N
depends on BUSYBOX_CONFIG_HUSH_EXPORT
help
export -n unexports variables. It is a bash extension.
config BUSYBOX_CONFIG_HUSH_READONLY
bool "readonly builtin"
default BUSYBOX_DEFAULT_HUSH_READONLY
depends on BUSYBOX_CONFIG_SHELL_HUSH
help
Enable support for read-only variables.
config BUSYBOX_CONFIG_HUSH_KILL
bool "kill builtin (supports kill %jobspec)"
default BUSYBOX_DEFAULT_HUSH_KILL
depends on BUSYBOX_CONFIG_SHELL_HUSH
config BUSYBOX_CONFIG_HUSH_WAIT
bool "wait builtin"
default BUSYBOX_DEFAULT_HUSH_WAIT
depends on BUSYBOX_CONFIG_SHELL_HUSH
config BUSYBOX_CONFIG_HUSH_COMMAND
bool "command builtin"
default BUSYBOX_DEFAULT_HUSH_COMMAND
depends on BUSYBOX_CONFIG_SHELL_HUSH
config BUSYBOX_CONFIG_HUSH_TRAP
bool "trap builtin"
default BUSYBOX_DEFAULT_HUSH_TRAP
depends on BUSYBOX_CONFIG_SHELL_HUSH
config BUSYBOX_CONFIG_HUSH_TYPE
bool "type builtin"
default BUSYBOX_DEFAULT_HUSH_TYPE
depends on BUSYBOX_CONFIG_SHELL_HUSH
config BUSYBOX_CONFIG_HUSH_TIMES
bool "times builtin"
default BUSYBOX_DEFAULT_HUSH_TIMES
depends on BUSYBOX_CONFIG_SHELL_HUSH
config BUSYBOX_CONFIG_HUSH_READ
bool "read builtin"
default BUSYBOX_DEFAULT_HUSH_READ
depends on BUSYBOX_CONFIG_SHELL_HUSH
config BUSYBOX_CONFIG_HUSH_SET
bool "set builtin"
default BUSYBOX_DEFAULT_HUSH_SET
depends on BUSYBOX_CONFIG_SHELL_HUSH
config BUSYBOX_CONFIG_HUSH_UNSET
bool "unset builtin"
default BUSYBOX_DEFAULT_HUSH_UNSET
depends on BUSYBOX_CONFIG_SHELL_HUSH
config BUSYBOX_CONFIG_HUSH_ULIMIT
bool "ulimit builtin"
default BUSYBOX_DEFAULT_HUSH_ULIMIT
depends on BUSYBOX_CONFIG_SHELL_HUSH
config BUSYBOX_CONFIG_HUSH_UMASK
bool "umask builtin"
default BUSYBOX_DEFAULT_HUSH_UMASK
depends on BUSYBOX_CONFIG_SHELL_HUSH
config BUSYBOX_CONFIG_HUSH_GETOPTS
bool "getopts builtin"
default BUSYBOX_DEFAULT_HUSH_GETOPTS
depends on BUSYBOX_CONFIG_SHELL_HUSH
config BUSYBOX_CONFIG_HUSH_MEMLEAK
bool "memleak builtin (debugging)"
default BUSYBOX_DEFAULT_HUSH_MEMLEAK
depends on BUSYBOX_CONFIG_SHELL_HUSH
endif # hush options
comment "Options common to all shells"
if BUSYBOX_CONFIG_SHELL_ASH || BUSYBOX_CONFIG_SHELL_HUSH
config BUSYBOX_CONFIG_FEATURE_SH_MATH
bool "POSIX math support"
default BUSYBOX_DEFAULT_FEATURE_SH_MATH
depends on BUSYBOX_CONFIG_SHELL_ASH || BUSYBOX_CONFIG_SHELL_HUSH
help
Enable math support in the shell via $((...)) syntax.
config BUSYBOX_CONFIG_FEATURE_SH_MATH_64
bool "Extend POSIX math support to 64 bit"
default BUSYBOX_DEFAULT_FEATURE_SH_MATH_64
depends on BUSYBOX_CONFIG_FEATURE_SH_MATH
help
Enable 64-bit math support in the shell. This will make the shell
slightly larger, but will allow computation with very large numbers.
This is not in POSIX, so do not rely on this in portable code.
config BUSYBOX_CONFIG_FEATURE_SH_MATH_BASE
bool "Support BASE#nnnn literals"
default BUSYBOX_DEFAULT_FEATURE_SH_MATH_BASE
depends on BUSYBOX_CONFIG_FEATURE_SH_MATH
config BUSYBOX_CONFIG_FEATURE_SH_EXTRA_QUIET
bool "Hide message on interactive shell startup"
default BUSYBOX_DEFAULT_FEATURE_SH_EXTRA_QUIET
depends on BUSYBOX_CONFIG_SHELL_ASH || BUSYBOX_CONFIG_SHELL_HUSH
help
Remove the busybox introduction when starting a shell.
config BUSYBOX_CONFIG_FEATURE_SH_STANDALONE
bool "Standalone shell"
default BUSYBOX_DEFAULT_FEATURE_SH_STANDALONE
depends on BUSYBOX_CONFIG_SHELL_ASH || BUSYBOX_CONFIG_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_CONFIG_FEATURE_SH_NOFORK
bool "Run 'nofork' applets directly"
default BUSYBOX_DEFAULT_FEATURE_SH_NOFORK
depends on BUSYBOX_CONFIG_SHELL_ASH || BUSYBOX_CONFIG_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 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 feature is relatively new. Use with care. Report bugs
to project mailing list.
config BUSYBOX_CONFIG_FEATURE_SH_READ_FRAC
bool "read -t N.NNN support (+110 bytes)"
default BUSYBOX_DEFAULT_FEATURE_SH_READ_FRAC
depends on BUSYBOX_CONFIG_SHELL_ASH || BUSYBOX_CONFIG_SHELL_HUSH
help
Enable support for fractional second timeout in read builtin.
config BUSYBOX_CONFIG_FEATURE_SH_HISTFILESIZE
bool "Use $HISTFILESIZE"
default BUSYBOX_DEFAULT_FEATURE_SH_HISTFILESIZE
depends on BUSYBOX_CONFIG_SHELL_ASH || BUSYBOX_CONFIG_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.
config BUSYBOX_CONFIG_FEATURE_SH_EMBEDDED_SCRIPTS
bool "Embed scripts in the binary"
default BUSYBOX_DEFAULT_FEATURE_SH_EMBEDDED_SCRIPTS
depends on BUSYBOX_CONFIG_SHELL_ASH || BUSYBOX_CONFIG_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

View File

@@ -0,0 +1,171 @@
# 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 "System Logging Utilities"
config BUSYBOX_CONFIG_KLOGD
bool "klogd (5.7 kb)"
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
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 (6.3 kb)"
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 (4.8 kb)"
default BUSYBOX_DEFAULT_LOGREAD
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' 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_CONFIG_SYSLOGD
bool "syslogd (13 kb)"
default BUSYBOX_DEFAULT_SYSLOGD
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....
config BUSYBOX_CONFIG_FEATURE_ROTATE_LOGFILE
bool "Rotate message files"
default BUSYBOX_DEFAULT_FEATURE_ROTATE_LOGFILE
depends on BUSYBOX_CONFIG_SYSLOGD
help
This enables syslogd to rotate the message files
on his own. No need to use an external rotate script.
config BUSYBOX_CONFIG_FEATURE_REMOTE_LOG
bool "Remote Log support"
default BUSYBOX_DEFAULT_FEATURE_REMOTE_LOG
depends on BUSYBOX_CONFIG_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.
config BUSYBOX_CONFIG_FEATURE_SYSLOGD_DUP
bool "Support -D (drop dups) option"
default BUSYBOX_DEFAULT_FEATURE_SYSLOGD_DUP
depends on BUSYBOX_CONFIG_SYSLOGD
help
Option -D instructs syslogd to drop consecutive messages
which are totally the same.
config BUSYBOX_CONFIG_FEATURE_SYSLOGD_CFG
bool "Support syslog.conf"
default BUSYBOX_DEFAULT_FEATURE_SYSLOGD_CFG
depends on BUSYBOX_CONFIG_SYSLOGD
help
Supports restricted syslogd config. See docs/syslog.conf.txt
config BUSYBOX_CONFIG_FEATURE_SYSLOGD_PRECISE_TIMESTAMPS
bool "Include milliseconds in timestamps"
default BUSYBOX_DEFAULT_FEATURE_SYSLOGD_PRECISE_TIMESTAMPS
depends on BUSYBOX_CONFIG_SYSLOGD
help
Includes milliseconds (HH:MM:SS.mmm) in timestamp when
timestamps are added.
config BUSYBOX_CONFIG_FEATURE_SYSLOGD_READ_BUFFER_SIZE
int "Read buffer size in bytes"
default BUSYBOX_DEFAULT_FEATURE_SYSLOGD_READ_BUFFER_SIZE
range 256 20000
depends on BUSYBOX_CONFIG_SYSLOGD
help
This option sets the size of the syslog read buffer.
Actual memory usage increases around five times the
change done here.
config BUSYBOX_CONFIG_FEATURE_IPC_SYSLOG
bool "Circular Buffer support"
default BUSYBOX_DEFAULT_FEATURE_IPC_SYSLOG
depends on BUSYBOX_CONFIG_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.
config BUSYBOX_CONFIG_FEATURE_IPC_SYSLOG_BUFFER_SIZE
int "Circular buffer size in Kbytes (minimum 4KB)"
default BUSYBOX_DEFAULT_FEATURE_IPC_SYSLOG_BUFFER_SIZE
range 4 2147483647
depends on BUSYBOX_CONFIG_FEATURE_IPC_SYSLOG
help
This option sets the size of the circular buffer
used to record system log messages.
config BUSYBOX_CONFIG_FEATURE_KMSG_SYSLOG
bool "Linux kernel printk buffer support"
default BUSYBOX_DEFAULT_FEATURE_KMSG_SYSLOG
depends on BUSYBOX_CONFIG_SYSLOGD
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+.
endmenu

View File

@@ -0,0 +1,955 @@
# 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 "Linux System Utilities"
config BUSYBOX_CONFIG_ACPID
bool "acpid (9 kb)"
default BUSYBOX_DEFAULT_ACPID
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.
N.B. acpid relies on run-parts so have the latter installed.
config BUSYBOX_CONFIG_FEATURE_ACPID_COMPAT
bool "Accept and ignore redundant options"
default BUSYBOX_DEFAULT_FEATURE_ACPID_COMPAT
depends on BUSYBOX_CONFIG_ACPID
help
Accept and ignore compatibility options -g -m -s -S -v.
config BUSYBOX_CONFIG_BLKDISCARD
bool "blkdiscard (4.3 kb)"
default BUSYBOX_DEFAULT_BLKDISCARD
help
blkdiscard discards sectors on a given device.
config BUSYBOX_CONFIG_BLKID
bool "blkid (12 kb)"
default BUSYBOX_DEFAULT_BLKID
select BUSYBOX_CONFIG_VOLUMEID
help
Lists labels and UUIDs of all filesystems.
config BUSYBOX_CONFIG_FEATURE_BLKID_TYPE
bool "Print filesystem type"
default BUSYBOX_DEFAULT_FEATURE_BLKID_TYPE
depends on BUSYBOX_CONFIG_BLKID
help
Show TYPE="filesystem type"
config BUSYBOX_CONFIG_BLOCKDEV
bool "blockdev (2.3 kb)"
default BUSYBOX_DEFAULT_BLOCKDEV
help
Performs some ioctls with block devices.
config BUSYBOX_CONFIG_CAL
bool "cal (5.8 kb)"
default BUSYBOX_DEFAULT_CAL
help
cal is used to display a monthly calendar.
config BUSYBOX_CONFIG_CHRT
bool "chrt (4.7 kb)"
default BUSYBOX_DEFAULT_CHRT
help
Manipulate real-time attributes of a process.
This requires sched_{g,s}etparam support in your libc.
config BUSYBOX_CONFIG_DMESG
bool "dmesg (3.7 kb)"
default BUSYBOX_DEFAULT_DMESG
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_CONFIG_FEATURE_DMESG_PRETTY
bool "Pretty output"
default BUSYBOX_DEFAULT_FEATURE_DMESG_PRETTY
depends on BUSYBOX_CONFIG_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)
config BUSYBOX_CONFIG_EJECT
bool "eject (4 kb)"
default BUSYBOX_DEFAULT_EJECT
help
Used to eject cdroms. (defaults to /dev/cdrom)
config BUSYBOX_CONFIG_FEATURE_EJECT_SCSI
bool "SCSI support"
default BUSYBOX_DEFAULT_FEATURE_EJECT_SCSI
depends on BUSYBOX_CONFIG_EJECT
help
Add the -s option to eject, this allows to eject SCSI-Devices and
usb-storage devices.
config BUSYBOX_CONFIG_FALLOCATE
bool "fallocate (4.1 kb)"
default BUSYBOX_DEFAULT_FALLOCATE
help
Preallocate space for files.
config BUSYBOX_CONFIG_FATATTR
bool "fatattr (1.9 kb)"
default BUSYBOX_DEFAULT_FATATTR
help
fatattr lists or changes the file attributes on a fat file system.
config BUSYBOX_CONFIG_FBSET
bool "fbset (5.9 kb)"
default BUSYBOX_DEFAULT_FBSET
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.
config BUSYBOX_CONFIG_FEATURE_FBSET_FANCY
bool "Enable extra options"
default BUSYBOX_DEFAULT_FEATURE_FBSET_FANCY
depends on BUSYBOX_CONFIG_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.
config BUSYBOX_CONFIG_FEATURE_FBSET_READMODE
bool "Enable readmode support"
default BUSYBOX_DEFAULT_FEATURE_FBSET_READMODE
depends on BUSYBOX_CONFIG_FBSET
help
This option allows fbset to read the video mode database stored by
default BUSYBOX_DEFAULT_FEATURE_FBSET_READMODE /etc/fb.modes, which can be used to set frame buffer
device to pre-defined video modes.
config BUSYBOX_CONFIG_FDFORMAT
bool "fdformat (4.4 kb)"
default BUSYBOX_DEFAULT_FDFORMAT
help
fdformat is used to low-level format a floppy disk.
config BUSYBOX_CONFIG_FDISK
bool "fdisk (37 kb)"
default BUSYBOX_DEFAULT_FDISK
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.
config BUSYBOX_CONFIG_FDISK_SUPPORT_LARGE_DISKS
bool "Support over 4GB disks"
default BUSYBOX_DEFAULT_FDISK_SUPPORT_LARGE_DISKS
depends on BUSYBOX_CONFIG_FDISK
depends on !BUSYBOX_CONFIG_LFS # with LFS no special code is needed
config BUSYBOX_CONFIG_FEATURE_FDISK_WRITABLE
bool "Write support"
default BUSYBOX_DEFAULT_FEATURE_FDISK_WRITABLE
depends on BUSYBOX_CONFIG_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.
config BUSYBOX_CONFIG_FEATURE_AIX_LABEL
bool "Support AIX disklabels"
default BUSYBOX_DEFAULT_FEATURE_AIX_LABEL
depends on BUSYBOX_CONFIG_FDISK && BUSYBOX_CONFIG_FEATURE_FDISK_WRITABLE
help
Enabling this option allows you to create or change AIX disklabels.
Most people can safely leave this option disabled.
config BUSYBOX_CONFIG_FEATURE_SGI_LABEL
bool "Support SGI disklabels"
default BUSYBOX_DEFAULT_FEATURE_SGI_LABEL
depends on BUSYBOX_CONFIG_FDISK && BUSYBOX_CONFIG_FEATURE_FDISK_WRITABLE
help
Enabling this option allows you to create or change SGI disklabels.
Most people can safely leave this option disabled.
config BUSYBOX_CONFIG_FEATURE_SUN_LABEL
bool "Support SUN disklabels"
default BUSYBOX_DEFAULT_FEATURE_SUN_LABEL
depends on BUSYBOX_CONFIG_FDISK && BUSYBOX_CONFIG_FEATURE_FDISK_WRITABLE
help
Enabling this option allows you to create or change SUN disklabels.
Most people can safely leave this option disabled.
config BUSYBOX_CONFIG_FEATURE_OSF_LABEL
bool "Support BSD disklabels"
default BUSYBOX_DEFAULT_FEATURE_OSF_LABEL
depends on BUSYBOX_CONFIG_FDISK && BUSYBOX_CONFIG_FEATURE_FDISK_WRITABLE
help
Enabling this option allows you to create or change BSD disklabels
and define and edit BSD disk slices.
config BUSYBOX_CONFIG_FEATURE_GPT_LABEL
bool "Support GPT disklabels"
default BUSYBOX_DEFAULT_FEATURE_GPT_LABEL
depends on BUSYBOX_CONFIG_FDISK && BUSYBOX_CONFIG_FEATURE_FDISK_WRITABLE
help
Enabling this option allows you to view GUID Partition Table
disklabels.
config BUSYBOX_CONFIG_FEATURE_FDISK_ADVANCED
bool "Support expert mode"
default BUSYBOX_DEFAULT_FEATURE_FDISK_ADVANCED
depends on BUSYBOX_CONFIG_FDISK && BUSYBOX_CONFIG_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.
config BUSYBOX_CONFIG_FINDFS
bool "findfs (12 kb)"
default BUSYBOX_DEFAULT_FINDFS
select BUSYBOX_CONFIG_VOLUMEID
help
Prints the name of a filesystem with given label or UUID.
config BUSYBOX_CONFIG_FLOCK
bool "flock (6.3 kb)"
default BUSYBOX_DEFAULT_FLOCK
help
Manage locks from shell scripts
config BUSYBOX_CONFIG_FDFLUSH
bool "fdflush (1.3 kb)"
default BUSYBOX_DEFAULT_FDFLUSH
help
fdflush is only needed when changing media on slightly-broken
removable media drives. It is used to make Linux believe that a
hardware disk-change switch has been actuated, which causes Linux to
forget anything it has cached from the previous media. If you have
such a slightly-broken drive, you will need to run fdflush every time
you change a disk. Most people have working hardware and can safely
leave this disabled.
config BUSYBOX_CONFIG_FREERAMDISK
bool "freeramdisk (1.3 kb)"
default BUSYBOX_DEFAULT_FREERAMDISK
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.
config BUSYBOX_CONFIG_FSCK_MINIX
bool "fsck.minix (13 kb)"
default BUSYBOX_DEFAULT_FSCK_MINIX
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_CONFIG_FSFREEZE
bool "fsfreeze (3.5 kb)"
default BUSYBOX_DEFAULT_FSFREEZE
select BUSYBOX_CONFIG_LONG_OPTS
help
Halt new accesses and flush writes on a mounted filesystem.
config BUSYBOX_CONFIG_FSTRIM
bool "fstrim (4.4 kb)"
default BUSYBOX_DEFAULT_FSTRIM
help
Discard unused blocks on a mounted filesystem.
config BUSYBOX_CONFIG_GETOPT
bool "getopt (5.8 kb)"
default BUSYBOX_DEFAULT_GETOPT
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.
config BUSYBOX_CONFIG_FEATURE_GETOPT_LONG
bool "Support -l LONGOPTs"
default BUSYBOX_DEFAULT_FEATURE_GETOPT_LONG
depends on BUSYBOX_CONFIG_GETOPT && BUSYBOX_CONFIG_LONG_OPTS
help
Enable support for long options (option -l).
config BUSYBOX_CONFIG_HEXDUMP
bool "hexdump (8.6 kb)"
default BUSYBOX_DEFAULT_HEXDUMP
help
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_CONFIG_HD
bool "hd (7.8 kb)"
default BUSYBOX_DEFAULT_HD
help
hd is an alias to hexdump -C.
config BUSYBOX_CONFIG_XXD
bool "xxd (8.9 kb)"
default BUSYBOX_DEFAULT_XXD
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_CONFIG_HWCLOCK
bool "hwclock (5.8 kb)"
default BUSYBOX_DEFAULT_HWCLOCK
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_CONFIG_FEATURE_HWCLOCK_ADJTIME_FHS
bool "Use FHS /var/lib/hwclock/adjtime"
default BUSYBOX_DEFAULT_FEATURE_HWCLOCK_ADJTIME_FHS # util-linux-ng in Fedora 13 still uses /etc/adjtime
depends on BUSYBOX_CONFIG_HWCLOCK
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.
pathname.com/fhs/pub/fhs-2.3.html#VARLIBHWCLOCKSTATEDIRECTORYFORHWCLO
config BUSYBOX_CONFIG_IONICE
bool "ionice (3.8 kb)"
default BUSYBOX_DEFAULT_IONICE
help
Set/set program io scheduling class and priority
Requires kernel >= 2.6.13
config BUSYBOX_CONFIG_IPCRM
bool "ipcrm (3.2 kb)"
default BUSYBOX_DEFAULT_IPCRM
help
The ipcrm utility allows the removal of System V interprocess
communication (IPC) objects and the associated data structures
from the system.
config BUSYBOX_CONFIG_IPCS
bool "ipcs (11 kb)"
default BUSYBOX_DEFAULT_IPCS
help
The ipcs utility is used to provide information on the currently
allocated System V interprocess (IPC) objects in the system.
config BUSYBOX_CONFIG_LAST
bool "last (6.1 kb)"
default BUSYBOX_DEFAULT_LAST
depends on BUSYBOX_CONFIG_FEATURE_WTMP
help
'last' displays a list of the last users that logged into the system.
config BUSYBOX_CONFIG_FEATURE_LAST_FANCY
bool "Output extra information"
default BUSYBOX_DEFAULT_FEATURE_LAST_FANCY
depends on BUSYBOX_CONFIG_LAST
help
'last' displays detailed information about the last users that
logged into the system (mimics sysvinit last). +900 bytes.
config BUSYBOX_CONFIG_LOSETUP
bool "losetup (5.5 kb)"
default BUSYBOX_DEFAULT_LOSETUP
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_CONFIG_LSPCI
bool "lspci (6.3 kb)"
default BUSYBOX_DEFAULT_LSPCI
help
lspci is a utility for displaying information about PCI buses in the
system and devices connected to them.
This version uses sysfs (/sys/bus/pci/devices) only.
config BUSYBOX_CONFIG_LSUSB
bool "lsusb (4.2 kb)"
default BUSYBOX_DEFAULT_LSUSB
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.
config BUSYBOX_CONFIG_MDEV
bool "mdev (17 kb)"
default BUSYBOX_DEFAULT_MDEV
help
mdev is a mini-udev implementation for dynamically creating device
nodes in the /dev directory.
For more information, please see docs/mdev.txt
config BUSYBOX_CONFIG_FEATURE_MDEV_CONF
bool "Support /etc/mdev.conf"
default BUSYBOX_DEFAULT_FEATURE_MDEV_CONF
depends on BUSYBOX_CONFIG_MDEV
help
Add support for the mdev config file to control ownership and
permissions of the device nodes.
For more information, please see docs/mdev.txt
config BUSYBOX_CONFIG_FEATURE_MDEV_RENAME
bool "Support subdirs/symlinks"
default BUSYBOX_DEFAULT_FEATURE_MDEV_RENAME
depends on BUSYBOX_CONFIG_FEATURE_MDEV_CONF
help
Add support for renaming devices and creating symlinks.
For more information, please see docs/mdev.txt
config BUSYBOX_CONFIG_FEATURE_MDEV_RENAME_REGEXP
bool "Support regular expressions substitutions when renaming device"
default BUSYBOX_DEFAULT_FEATURE_MDEV_RENAME_REGEXP
depends on BUSYBOX_CONFIG_FEATURE_MDEV_RENAME
help
Add support for regular expressions substitutions when renaming
device.
config BUSYBOX_CONFIG_FEATURE_MDEV_EXEC
bool "Support command execution at device addition/removal"
default BUSYBOX_DEFAULT_FEATURE_MDEV_EXEC
depends on BUSYBOX_CONFIG_FEATURE_MDEV_CONF
help
This adds support for an optional field to /etc/mdev.conf for
executing commands when devices are created/removed.
For more information, please see docs/mdev.txt
config BUSYBOX_CONFIG_FEATURE_MDEV_LOAD_FIRMWARE
bool "Support loading of firmware"
default BUSYBOX_DEFAULT_FEATURE_MDEV_LOAD_FIRMWARE
depends on BUSYBOX_CONFIG_MDEV
help
Some devices need to load firmware before they can be usable.
These devices will request userspace look up the files in
/lib/firmware/ and if it exists, send it to the kernel for
loading into the hardware.
config BUSYBOX_CONFIG_FEATURE_MDEV_DAEMON
bool "Support daemon mode"
default BUSYBOX_DEFAULT_FEATURE_MDEV_DAEMON
depends on BUSYBOX_CONFIG_MDEV
help
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_CONFIG_MESG
bool "mesg (1.4 kb)"
default BUSYBOX_DEFAULT_MESG
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_CONFIG_FEATURE_MESG_ENABLE_ONLY_GROUP
bool "Enable writing to tty only by group, not by everybody"
default BUSYBOX_DEFAULT_FEATURE_MESG_ENABLE_ONLY_GROUP
depends on BUSYBOX_CONFIG_MESG
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.
config BUSYBOX_CONFIG_MKE2FS
bool "mke2fs (10 kb)"
default BUSYBOX_DEFAULT_MKE2FS
help
Utility to create EXT2 filesystems.
config BUSYBOX_CONFIG_MKFS_EXT2
bool "mkfs.ext2 (10 kb)"
default BUSYBOX_DEFAULT_MKFS_EXT2
help
Alias to "mke2fs".
config BUSYBOX_CONFIG_MKFS_MINIX
bool "mkfs.minix (10 kb)"
default BUSYBOX_DEFAULT_MKFS_MINIX
help
The minix filesystem is a nice, small, compact, read-write filesystem
with little overhead. If you wish to be able to create minix
filesystems this utility will do the job for you.
config BUSYBOX_CONFIG_FEATURE_MINIX2
bool "Support Minix fs v2 (fsck_minix/mkfs_minix)"
default BUSYBOX_DEFAULT_FEATURE_MINIX2
depends on BUSYBOX_CONFIG_FSCK_MINIX || BUSYBOX_CONFIG_MKFS_MINIX
help
If you wish to be able to create version 2 minix filesystems, enable
this. If you enabled 'mkfs_minix' then you almost certainly want to
be using the version 2 filesystem support.
config BUSYBOX_CONFIG_MKFS_REISER
bool "mkfs_reiser"
default BUSYBOX_DEFAULT_MKFS_REISER
help
Utility to create ReiserFS filesystems.
Note: this applet needs a lot of testing and polishing.
config BUSYBOX_CONFIG_MKDOSFS
bool "mkdosfs (7.2 kb)"
default BUSYBOX_DEFAULT_MKDOSFS
help
Utility to create FAT32 filesystems.
config BUSYBOX_CONFIG_MKFS_VFAT
bool "mkfs.vfat (7.2 kb)"
default BUSYBOX_DEFAULT_MKFS_VFAT
help
Alias to "mkdosfs".
config BUSYBOX_CONFIG_MKSWAP
bool "mkswap (6.3 kb)"
default BUSYBOX_DEFAULT_MKSWAP
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.
config BUSYBOX_CONFIG_FEATURE_MKSWAP_UUID
bool "UUID support"
default BUSYBOX_DEFAULT_FEATURE_MKSWAP_UUID
depends on BUSYBOX_CONFIG_MKSWAP
help
Generate swap spaces with universally unique identifiers.
config BUSYBOX_CONFIG_MORE
bool "more (7 kb)"
default BUSYBOX_DEFAULT_MORE
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.
config BUSYBOX_CONFIG_MOUNT
bool "mount (23 kb)"
default BUSYBOX_DEFAULT_MOUNT
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.
config BUSYBOX_CONFIG_FEATURE_MOUNT_FAKE
bool "Support -f (fake mount)"
default BUSYBOX_DEFAULT_FEATURE_MOUNT_FAKE
depends on BUSYBOX_CONFIG_MOUNT
help
Enable support for faking a file system mount.
config BUSYBOX_CONFIG_FEATURE_MOUNT_VERBOSE
bool "Support -v (verbose)"
default BUSYBOX_DEFAULT_FEATURE_MOUNT_VERBOSE
depends on BUSYBOX_CONFIG_MOUNT
help
Enable multi-level -v[vv...] verbose messages. Useful if you
debug mount problems and want to see what is exactly passed
to the kernel.
config BUSYBOX_CONFIG_FEATURE_MOUNT_HELPERS
bool "Support mount helpers"
default BUSYBOX_DEFAULT_FEATURE_MOUNT_HELPERS
depends on BUSYBOX_CONFIG_MOUNT
help
Enable mounting of virtual file systems via external helpers.
E.g. "mount obexfs#-b00.11.22.33.44.55 /mnt" will in effect call
"obexfs -b00.11.22.33.44.55 /mnt"
Also "mount -t sometype [-o opts] fs /mnt" will try
"sometype [-o opts] fs /mnt" if simple mount syscall fails.
The idea is to use such virtual filesystems in /etc/fstab.
config BUSYBOX_CONFIG_FEATURE_MOUNT_LABEL
bool "Support specifying devices by label or UUID"
default BUSYBOX_DEFAULT_FEATURE_MOUNT_LABEL
depends on BUSYBOX_CONFIG_MOUNT
select BUSYBOX_CONFIG_VOLUMEID
help
This allows for specifying a device by label or uuid, rather than by
name. This feature utilizes the same functionality as blkid/findfs.
config BUSYBOX_CONFIG_FEATURE_MOUNT_NFS
bool "Support mounting NFS file systems on Linux < 2.6.23"
default BUSYBOX_DEFAULT_FEATURE_MOUNT_NFS
depends on BUSYBOX_CONFIG_MOUNT
select BUSYBOX_CONFIG_FEATURE_SYSLOG
help
Enable mounting of NFS file systems on Linux kernels prior
to version 2.6.23. Note that in this case mounting of NFS
over IPv6 will not be possible.
Note that this option links in RPC support from libc,
which is rather large (~10 kbytes on uclibc).
config BUSYBOX_CONFIG_FEATURE_MOUNT_CIFS
bool "Support mounting CIFS/SMB file systems"
default BUSYBOX_DEFAULT_FEATURE_MOUNT_CIFS
depends on BUSYBOX_CONFIG_MOUNT
help
Enable support for samba mounts.
config BUSYBOX_CONFIG_FEATURE_MOUNT_FLAGS
depends on BUSYBOX_CONFIG_MOUNT
bool "Support lots of -o flags"
default BUSYBOX_DEFAULT_FEATURE_MOUNT_FLAGS
help
Without this, mount only supports ro/rw/remount. With this, it
supports nosuid, suid, dev, nodev, exec, noexec, sync, async, atime,
noatime, diratime, nodiratime, loud, bind, move, shared, slave,
private, unbindable, rshared, rslave, rprivate, and runbindable.
config BUSYBOX_CONFIG_FEATURE_MOUNT_FSTAB
depends on BUSYBOX_CONFIG_MOUNT
bool "Support /etc/fstab and -a (mount all)"
default BUSYBOX_DEFAULT_FEATURE_MOUNT_FSTAB
help
Support mount all and looking for files in /etc/fstab.
config BUSYBOX_CONFIG_FEATURE_MOUNT_OTHERTAB
depends on BUSYBOX_CONFIG_FEATURE_MOUNT_FSTAB
bool "Support -T <alt_fstab>"
default BUSYBOX_DEFAULT_FEATURE_MOUNT_OTHERTAB
help
Support mount -T (specifying an alternate fstab)
config BUSYBOX_CONFIG_MOUNTPOINT
bool "mountpoint (4.9 kb)"
default BUSYBOX_DEFAULT_MOUNTPOINT
help
mountpoint checks if the directory is a mountpoint.
config BUSYBOX_CONFIG_NOLOGIN
bool "nologin"
default BUSYBOX_DEFAULT_NOLOGIN
depends on BUSYBOX_CONFIG_FEATURE_SH_EMBEDDED_SCRIPTS
help
Politely refuse a login
config BUSYBOX_CONFIG_NOLOGIN_DEPENDENCIES
bool "Enable dependencies for nologin"
default BUSYBOX_DEFAULT_NOLOGIN_DEPENDENCIES # Y default makes it harder to select single-applet test
depends on BUSYBOX_CONFIG_NOLOGIN
select BUSYBOX_CONFIG_CAT
select BUSYBOX_CONFIG_ECHO
select BUSYBOX_CONFIG_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_CONFIG_NSENTER
bool "nsenter (6.5 kb)"
default BUSYBOX_DEFAULT_NSENTER
help
Run program with namespaces of other processes.
config BUSYBOX_CONFIG_PIVOT_ROOT
bool "pivot_root (1.1 kb)"
default BUSYBOX_DEFAULT_PIVOT_ROOT
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_CONFIG_RDATE
bool "rdate (5.6 kb)"
default BUSYBOX_DEFAULT_RDATE
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.
config BUSYBOX_CONFIG_RDEV
bool "rdev (1.8 kb)"
default BUSYBOX_DEFAULT_RDEV
help
Print the device node associated with the filesystem mounted at '/'.
config BUSYBOX_CONFIG_READPROFILE
bool "readprofile (7.1 kb)"
default BUSYBOX_DEFAULT_READPROFILE
help
This allows you to parse /proc/profile for basic profiling.
config BUSYBOX_CONFIG_RENICE
bool "renice (4.2 kb)"
default BUSYBOX_DEFAULT_RENICE
help
Renice alters the scheduling priority of one or more running
processes.
config BUSYBOX_CONFIG_REV
bool "rev (4.4 kb)"
default BUSYBOX_DEFAULT_REV
help
Reverse lines of a file or files.
config BUSYBOX_CONFIG_RTCWAKE
bool "rtcwake (6.8 kb)"
default BUSYBOX_DEFAULT_RTCWAKE
help
Enter a system sleep state until specified wakeup time.
config BUSYBOX_CONFIG_SCRIPT
bool "script (8.6 kb)"
default BUSYBOX_DEFAULT_SCRIPT
help
The script makes typescript of terminal session.
config BUSYBOX_CONFIG_SCRIPTREPLAY
bool "scriptreplay (2.4 kb)"
default BUSYBOX_DEFAULT_SCRIPTREPLAY
help
This program replays a typescript, using timing information
given by script -t.
config BUSYBOX_CONFIG_SETARCH
bool "setarch (3.6 kb)"
default BUSYBOX_DEFAULT_SETARCH
help
The linux32 utility is used to create a 32bit environment for the
specified program (usually a shell). It only makes sense to have
this util on a system that supports both 64bit and 32bit userland
(like amd64/x86, ppc64/ppc, sparc64/sparc, etc...).
config BUSYBOX_CONFIG_LINUX32
bool "linux32 (3.3 kb)"
default BUSYBOX_DEFAULT_LINUX32
help
Alias to "setarch linux32".
config BUSYBOX_CONFIG_LINUX64
bool "linux64 (3.3 kb)"
default BUSYBOX_DEFAULT_LINUX64
help
Alias to "setarch linux64".
config BUSYBOX_CONFIG_SETPRIV
bool "setpriv (6.6 kb)"
default BUSYBOX_DEFAULT_SETPRIV
select BUSYBOX_CONFIG_LONG_OPTS
help
Run a program with different Linux privilege settings.
Requires kernel >= 3.5
config BUSYBOX_CONFIG_FEATURE_SETPRIV_DUMP
bool "Support dumping current privilege state"
default BUSYBOX_DEFAULT_FEATURE_SETPRIV_DUMP
depends on BUSYBOX_CONFIG_SETPRIV
help
Enables the "--dump" switch to print out the current privilege
state. This is helpful for diagnosing problems.
config BUSYBOX_CONFIG_FEATURE_SETPRIV_CAPABILITIES
bool "Support capabilities"
default BUSYBOX_DEFAULT_FEATURE_SETPRIV_CAPABILITIES
depends on BUSYBOX_CONFIG_SETPRIV
help
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.
config BUSYBOX_CONFIG_FEATURE_SETPRIV_CAPABILITY_NAMES
bool "Support capability names"
default BUSYBOX_DEFAULT_FEATURE_SETPRIV_CAPABILITY_NAMES
depends on BUSYBOX_CONFIG_SETPRIV && BUSYBOX_CONFIG_FEATURE_SETPRIV_CAPABILITIES
help
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_CONFIG_SETSID
bool "setsid (3.6 kb)"
default BUSYBOX_DEFAULT_SETSID
help
setsid runs a program in a new session
config BUSYBOX_CONFIG_SWAPON
bool "swapon (15 kb)"
default BUSYBOX_DEFAULT_SWAPON
help
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_CONFIG_FEATURE_SWAPON_DISCARD
bool "Support discard option -d"
default BUSYBOX_DEFAULT_FEATURE_SWAPON_DISCARD
depends on BUSYBOX_CONFIG_SWAPON
help
Enable support for discarding swap area blocks at swapon and/or as
the kernel frees them. This option enables both the -d option on
'swapon' and the 'discard' option for swap entries in /etc/fstab.
config BUSYBOX_CONFIG_FEATURE_SWAPON_PRI
bool "Support priority option -p"
default BUSYBOX_DEFAULT_FEATURE_SWAPON_PRI
depends on BUSYBOX_CONFIG_SWAPON
help
Enable support for setting swap device priority in swapon.
config BUSYBOX_CONFIG_SWAPOFF
bool "swapoff (14 kb)"
default BUSYBOX_DEFAULT_SWAPOFF
config BUSYBOX_CONFIG_FEATURE_SWAPONOFF_LABEL
bool "Support specifying devices by label or UUID"
default BUSYBOX_DEFAULT_FEATURE_SWAPONOFF_LABEL
depends on BUSYBOX_CONFIG_SWAPON || BUSYBOX_CONFIG_SWAPOFF
select BUSYBOX_CONFIG_VOLUMEID
help
This allows for specifying a device by label or uuid, rather than by
name. This feature utilizes the same functionality as blkid/findfs.
config BUSYBOX_CONFIG_SWITCH_ROOT
bool "switch_root (5.5 kb)"
default BUSYBOX_DEFAULT_SWITCH_ROOT
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_CONFIG_TASKSET
bool "taskset (4.2 kb)"
default BUSYBOX_DEFAULT_TASKSET
help
Retrieve or set a processes's CPU affinity.
This requires sched_{g,s}etaffinity support in your libc.
config BUSYBOX_CONFIG_FEATURE_TASKSET_FANCY
bool "Fancy output"
default BUSYBOX_DEFAULT_FEATURE_TASKSET_FANCY
depends on BUSYBOX_CONFIG_TASKSET
help
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_CONFIG_FEATURE_TASKSET_CPULIST
bool "CPU list support (-c option)"
default BUSYBOX_DEFAULT_FEATURE_TASKSET_CPULIST
depends on BUSYBOX_CONFIG_FEATURE_TASKSET_FANCY
help
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_CONFIG_UEVENT
bool "uevent (3.1 kb)"
default BUSYBOX_DEFAULT_UEVENT
help
uevent is a netlink listener for kernel uevent notifications
sent via netlink. It is usually used for dynamic device creation.
config BUSYBOX_CONFIG_UMOUNT
bool "umount (5.1 kb)"
default BUSYBOX_DEFAULT_UMOUNT
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'.
config BUSYBOX_CONFIG_FEATURE_UMOUNT_ALL
bool "Support -a (unmount all)"
default BUSYBOX_DEFAULT_FEATURE_UMOUNT_ALL
depends on BUSYBOX_CONFIG_UMOUNT
help
Support -a option to unmount all currently mounted filesystems.
config BUSYBOX_CONFIG_UNSHARE
bool "unshare (7.2 kb)"
default BUSYBOX_DEFAULT_UNSHARE
depends on !BUSYBOX_CONFIG_NOMMU
select BUSYBOX_CONFIG_LONG_OPTS
help
Run program with some namespaces unshared from parent.
config BUSYBOX_CONFIG_WALL
bool "wall (2.6 kb)"
default BUSYBOX_DEFAULT_WALL
depends on BUSYBOX_CONFIG_FEATURE_UTMP
help
Write a message to all users that are logged in.
comment "Common options for mount/umount"
depends on BUSYBOX_CONFIG_MOUNT || BUSYBOX_CONFIG_UMOUNT
config BUSYBOX_CONFIG_FEATURE_MOUNT_LOOP
bool "Support loopback mounts"
default BUSYBOX_DEFAULT_FEATURE_MOUNT_LOOP
depends on BUSYBOX_CONFIG_MOUNT || BUSYBOX_CONFIG_UMOUNT
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.
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_CONFIG_FEATURE_MOUNT_LOOP_CREATE
bool "Create new loopback devices if needed"
default BUSYBOX_DEFAULT_FEATURE_MOUNT_LOOP_CREATE
depends on BUSYBOX_CONFIG_FEATURE_MOUNT_LOOP
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_CONFIG_FEATURE_MTAB_SUPPORT
bool "Support old /etc/mtab file"
default BUSYBOX_DEFAULT_FEATURE_MTAB_SUPPORT
depends on BUSYBOX_CONFIG_MOUNT || BUSYBOX_CONFIG_UMOUNT
select BUSYBOX_CONFIG_FEATURE_MOUNT_FAKE
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.
source "volume_id/Config.in"
endmenu

View File

@@ -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_CONFIG_VOLUMEID
bool #No description makes it a hidden option
default BUSYBOX_DEFAULT_VOLUMEID
menu "Filesystem/Volume identification"
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
config BUSYBOX_CONFIG_FEATURE_VOLUMEID_BTRFS
bool "btrfs filesystem"
default BUSYBOX_DEFAULT_FEATURE_VOLUMEID_BTRFS
depends on BUSYBOX_CONFIG_VOLUMEID
config BUSYBOX_CONFIG_FEATURE_VOLUMEID_CRAMFS
bool "cramfs filesystem"
default BUSYBOX_DEFAULT_FEATURE_VOLUMEID_CRAMFS
depends on BUSYBOX_CONFIG_VOLUMEID
config BUSYBOX_CONFIG_FEATURE_VOLUMEID_EROFS
bool "erofs filesystem"
default BUSYBOX_DEFAULT_FEATURE_VOLUMEID_EROFS
depends on BUSYBOX_CONFIG_VOLUMEID
help
Erofs is a compressed readonly filesystem for Linux.
config BUSYBOX_CONFIG_FEATURE_VOLUMEID_EXFAT
bool "exFAT filesystem"
default BUSYBOX_DEFAULT_FEATURE_VOLUMEID_EXFAT
depends on BUSYBOX_CONFIG_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_CONFIG_FEATURE_VOLUMEID_EXT
bool "Ext filesystem"
default BUSYBOX_DEFAULT_FEATURE_VOLUMEID_EXT
depends on BUSYBOX_CONFIG_VOLUMEID
config BUSYBOX_CONFIG_FEATURE_VOLUMEID_F2FS
bool "f2fs filesystem"
default BUSYBOX_DEFAULT_FEATURE_VOLUMEID_F2FS
depends on BUSYBOX_CONFIG_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_CONFIG_FEATURE_VOLUMEID_FAT
bool "fat filesystem"
default BUSYBOX_DEFAULT_FEATURE_VOLUMEID_FAT
depends on BUSYBOX_CONFIG_VOLUMEID
config BUSYBOX_CONFIG_FEATURE_VOLUMEID_HFS
bool "hfs filesystem"
default BUSYBOX_DEFAULT_FEATURE_VOLUMEID_HFS
depends on BUSYBOX_CONFIG_VOLUMEID
config BUSYBOX_CONFIG_FEATURE_VOLUMEID_ISO9660
bool "iso9660 filesystem"
default BUSYBOX_DEFAULT_FEATURE_VOLUMEID_ISO9660
depends on BUSYBOX_CONFIG_VOLUMEID
config BUSYBOX_CONFIG_FEATURE_VOLUMEID_JFS
bool "jfs filesystem"
default BUSYBOX_DEFAULT_FEATURE_VOLUMEID_JFS
depends on BUSYBOX_CONFIG_VOLUMEID
config BUSYBOX_CONFIG_FEATURE_VOLUMEID_LFS
bool "LittleFS filesystem"
default BUSYBOX_DEFAULT_FEATURE_VOLUMEID_LFS
depends on BUSYBOX_CONFIG_VOLUMEID && BUSYBOX_CONFIG_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_CONFIG_FEATURE_VOLUMEID_LINUXRAID
bool "linuxraid"
default BUSYBOX_DEFAULT_FEATURE_VOLUMEID_LINUXRAID
depends on BUSYBOX_CONFIG_VOLUMEID
config BUSYBOX_CONFIG_FEATURE_VOLUMEID_LINUXSWAP
bool "linux swap filesystem"
default BUSYBOX_DEFAULT_FEATURE_VOLUMEID_LINUXSWAP
depends on BUSYBOX_CONFIG_VOLUMEID
config BUSYBOX_CONFIG_FEATURE_VOLUMEID_LUKS
bool "luks filesystem"
default BUSYBOX_DEFAULT_FEATURE_VOLUMEID_LUKS
depends on BUSYBOX_CONFIG_VOLUMEID
config BUSYBOX_CONFIG_FEATURE_VOLUMEID_MINIX
bool "minix filesystem"
default BUSYBOX_DEFAULT_FEATURE_VOLUMEID_MINIX
depends on BUSYBOX_CONFIG_VOLUMEID
config BUSYBOX_CONFIG_FEATURE_VOLUMEID_NILFS
bool "nilfs filesystem"
default BUSYBOX_DEFAULT_FEATURE_VOLUMEID_NILFS
depends on BUSYBOX_CONFIG_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_CONFIG_FEATURE_VOLUMEID_NTFS
bool "ntfs filesystem"
default BUSYBOX_DEFAULT_FEATURE_VOLUMEID_NTFS
depends on BUSYBOX_CONFIG_VOLUMEID
config BUSYBOX_CONFIG_FEATURE_VOLUMEID_OCFS2
bool "ocfs2 filesystem"
default BUSYBOX_DEFAULT_FEATURE_VOLUMEID_OCFS2
depends on BUSYBOX_CONFIG_VOLUMEID
config BUSYBOX_CONFIG_FEATURE_VOLUMEID_REISERFS
bool "Reiser filesystem"
default BUSYBOX_DEFAULT_FEATURE_VOLUMEID_REISERFS
depends on BUSYBOX_CONFIG_VOLUMEID
config BUSYBOX_CONFIG_FEATURE_VOLUMEID_ROMFS
bool "romfs filesystem"
default BUSYBOX_DEFAULT_FEATURE_VOLUMEID_ROMFS
depends on BUSYBOX_CONFIG_VOLUMEID
config BUSYBOX_CONFIG_FEATURE_VOLUMEID_SQUASHFS
bool "SquashFS filesystem"
default BUSYBOX_DEFAULT_FEATURE_VOLUMEID_SQUASHFS
depends on BUSYBOX_CONFIG_VOLUMEID && BUSYBOX_CONFIG_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_CONFIG_FEATURE_VOLUMEID_SYSV
bool "sysv filesystem"
default BUSYBOX_DEFAULT_FEATURE_VOLUMEID_SYSV
depends on BUSYBOX_CONFIG_VOLUMEID
config BUSYBOX_CONFIG_FEATURE_VOLUMEID_UBIFS
bool "UBIFS filesystem"
default BUSYBOX_DEFAULT_FEATURE_VOLUMEID_UBIFS
depends on BUSYBOX_CONFIG_VOLUMEID
help
UBIFS (Unsorted Block Image File System) is a file
system for use with raw flash memory media.
config BUSYBOX_CONFIG_FEATURE_VOLUMEID_UDF
bool "udf filesystem"
default BUSYBOX_DEFAULT_FEATURE_VOLUMEID_UDF
depends on BUSYBOX_CONFIG_VOLUMEID
### config FEATURE_VOLUMEID_HIGHPOINTRAID
### bool "highpoint raid"
### default y
### depends on VOLUMEID
### config FEATURE_VOLUMEID_HPFS
### bool "hpfs filesystem"
### default y
### depends on VOLUMEID
### config FEATURE_VOLUMEID_ISWRAID
### bool "intel raid"
### default y
### depends on VOLUMEID
### config FEATURE_VOLUMEID_LSIRAID
### bool "lsi raid"
### default y
### depends on VOLUMEID
### config FEATURE_VOLUMEID_LVM
### bool "lvm"
### default y
### depends on VOLUMEID
### config FEATURE_VOLUMEID_MAC
### bool "mac filesystem"
### default y
### depends on VOLUMEID
### config FEATURE_VOLUMEID_MSDOS
### bool "msdos filesystem"
### default y
### depends on VOLUMEID
### config FEATURE_VOLUMEID_NVIDIARAID
### bool "nvidia raid"
### default y
### depends on VOLUMEID
### config FEATURE_VOLUMEID_PROMISERAID
### bool "promise raid"
### default y
### depends on VOLUMEID
### config FEATURE_VOLUMEID_SILICONRAID
### bool "silicon raid"
### default y
### depends on VOLUMEID
### config FEATURE_VOLUMEID_UFS
### bool "ufs filesystem"
### default y
### depends on VOLUMEID
### config FEATURE_VOLUMEID_VIARAID
### bool "via raid"
### default y
### depends on VOLUMEID
config BUSYBOX_CONFIG_FEATURE_VOLUMEID_XFS
bool "xfs filesystem"
default BUSYBOX_DEFAULT_FEATURE_VOLUMEID_XFS
depends on BUSYBOX_CONFIG_VOLUMEID
endmenu

View File

@@ -0,0 +1,13 @@
#!/usr/bin/env perl
while (<>) {
/^(# )?CONFIG_([^=]+)(=(.+)| is not set)/ and do {
my $default = $4;
$1 and $default = "n";
my $name = $2;
my $type = "bool";
$default =~ /^\"/ and $type = "string";
$default =~ /^\d/ and $type = "int";
print "config BUSYBOX_DEFAULT_$name\n\t$type\n\tdefault $default\n";
};
}

View File

@@ -0,0 +1,76 @@
#!/usr/bin/perl
#
# Copyright (C) 2006 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
#
use strict;
my $PATH = $ARGV[0];
($PATH and -d $PATH) or die 'invalid path';
my %config;
open FIND, "find \"$PATH\" -name Config.in |";
while (<FIND>) {
chomp;
my $input = $_;
my $output = $input;
my $replace = quotemeta($PATH);
$output =~ s/^$replace\///g;
$output =~ s/sysdeps\/linux\///g;
print STDERR "$input => $output\n";
$output =~ /^(.+)\/[^\/]+$/ and system("mkdir -p $1");
open INPUT, $input;
open OUTPUT, ">$output";
my ($cur, $default_set, $line);
while ($line = <INPUT>) {
next if $line =~ /^\s*mainmenu/;
# FIXME: make this dynamic
$line =~ s/default FEATURE_BUFFERS_USE_MALLOC/default FEATURE_BUFFERS_GO_ON_STACK/;
$line =~ s/default FEATURE_SH_IS_NONE/default FEATURE_SH_IS_ASH/;
if ($line =~ /^\s*config\s*([\w_]+)/) {
$cur = $1;
undef $default_set;
}
if ($line =~ /^\s*(menu|choice|end|source)/) {
undef $cur;
undef $default_set;
}
$line =~ s/^(\s*source\s+)([^\/]+\/)*([^\/]+\/[^\/]+)$/$1$3/;
if ($line =~ /^(\s*range\s*)(\w+)(\s+)(\w+)\s*$/) {
my $prefix = $1;
my $r1 = $2;
my $r2 = $4;
$r1 =~ s/^([a-zA-Z]+)/BUSYBOX_CONFIG_$1/;
$r2 =~ s/^([a-zA-Z]+)/BUSYBOX_CONFIG_$1/;
$line = "$prefix$r1 $r2\n";
}
$line =~ s/^(\s*(prompt "[^"]+" if|config|depends|depends on|select|default|default \w if)\s+\!?)([A-Z_])/$1BUSYBOX_CONFIG_$3/g;
$line =~ s/(( \|\| | \&\& | \( )!?)([A-Z_])/$1BUSYBOX_CONFIG_$3/g;
$line =~ s/(\( ?!?)([A-Z_]+ (\|\||&&))/$1BUSYBOX_CONFIG_$2/g;
if ($cur) {
($cur eq 'LFS') and do {
$line =~ s/^(\s*(bool|tristate|string))\s*".+"$/$1/;
};
if ($line =~ /^\s*default/) {
my $c;
$default_set = 1;
$c = "BUSYBOX_DEFAULT_$cur";
$line =~ s/^(\s*default\s*)(\w+|"[^"]*")(.*)/$1$c$3/;
}
}
print OUTPUT $line;
}
close OUTPUT;
close INPUT;
}
close FIND;

View File

@@ -0,0 +1,41 @@
#!/bin/sh /etc/rc.common
# Copyright (C) 2006-2011 OpenWrt.org
START=50
USE_PROCD=1
PROG=/usr/sbin/crond
validate_cron_section() {
uci_validate_section system system "${1}" \
'cronloglevel:uinteger'
}
start_service() {
[ -z "$(ls /etc/crontabs/)" ] && return 1
loglevel="$(uci_get "system.@system[0].cronloglevel")"
[ -z "${loglevel}" ] || {
/sbin/validate_data uinteger "${loglevel}" 2>/dev/null
[ "$?" -eq 0 ] || {
echo "validation failed"
return 1
}
}
mkdir -p /var/spool/cron
ln -s /etc/crontabs /var/spool/cron/ 2>/dev/null
procd_open_instance
procd_set_param command "$PROG" -f -c /etc/crontabs -l "${loglevel:-5}"
for crontab in /etc/crontabs/*; do
procd_set_param file "$crontab"
done
procd_set_param respawn
procd_close_instance
}
service_triggers() {
procd_add_validation validate_cron_section
}

View File

@@ -0,0 +1,12 @@
#!/bin/sh
. /usr/share/libubox/jshn.sh
addenv="$( env | while read line; do echo "json_add_string \"\" \"$line\";"; done )"
json_init
json_add_array env
json_add_string "" "ACTION=$1"
eval "$addenv"
json_close_array env
ubus call hotplug.ntp call "$(json_dump)"

View File

@@ -0,0 +1,22 @@
{
"bounding": [
"CAP_NET_BIND_SERVICE",
"CAP_SYS_TIME"
],
"effective": [
"CAP_NET_BIND_SERVICE",
"CAP_SYS_TIME"
],
"ambient": [
"CAP_NET_BIND_SERVICE",
"CAP_SYS_TIME"
],
"permitted": [
"CAP_NET_BIND_SERVICE",
"CAP_SYS_TIME"
],
"inheritable": [
"CAP_NET_BIND_SERVICE",
"CAP_SYS_TIME"
]
}

View File

@@ -0,0 +1,8 @@
{
"user": "ntp",
"access": {
"hotplug.ntp": {
"methods": [ "call" ]
}
}
}

View File

@@ -0,0 +1,130 @@
#!/bin/sh /etc/rc.common
# Copyright (C) 2011 OpenWrt.org
START=98
USE_PROCD=1
PROG=/usr/sbin/ntpd
HOTPLUG_SCRIPT=/usr/sbin/ntpd-hotplug
get_dhcp_ntp_servers() {
local interfaces="$1"
local filter="*"
local interface ntpservers ntpserver
for interface in $interfaces; do
[ "$filter" = "*" ] && filter="@.interface='$interface'" || filter="$filter,@.interface='$interface'"
done
ntpservers=$(ubus call network.interface dump | jsonfilter -e "@.interface[$filter]['data']['ntpserver']")
for ntpserver in $ntpservers; do
local duplicate=0
local entry
for entry in $server; do
[ "$ntpserver" = "$entry" ] && duplicate=1
done
[ "$duplicate" = 0 ] && server="$server $ntpserver"
done
}
validate_ntp_section() {
uci_load_validate system timeserver "$1" "$2" \
'dhcp_interface:list(string)' \
'enable_server:bool:0' \
'enabled:bool:1' \
'interface:string' \
'server:list(host)' \
'use_dhcp:bool:1'
}
start_ntpd_instance() {
local peer
[ "$2" = 0 ] || {
echo "validation failed"
return 1
}
[ $enabled = 0 ] && return
[ $use_dhcp = 1 ] && get_dhcp_ntp_servers "$dhcp_interface"
[ -z "$server" -a "$enable_server" = "0" ] && return
procd_open_instance
procd_set_param command "$PROG" -n -N
if [ "$enable_server" = "1" ]; then
procd_append_param command -l
[ -n "$interface" ] && {
local ifname
network_get_device ifname "$interface" || \
ifname="$interface"
procd_append_param command -I "$ifname"
procd_append_param netdev "$ifname"
}
fi
[ -x "$HOTPLUG_SCRIPT" ] && procd_append_param command -S "$HOTPLUG_SCRIPT"
for peer in $server; do
procd_append_param command -p $peer
done
procd_set_param respawn
[ -x /sbin/ujail -a -e /etc/capabilities/ntpd.json ] && {
procd_add_jail ntpd ubus
procd_add_jail_mount "$HOTPLUG_SCRIPT"
procd_add_jail_mount "/usr/share/libubox/jshn.sh"
procd_add_jail_mount "/usr/bin/env"
procd_add_jail_mount "/usr/bin/jshn"
procd_add_jail_mount "/bin/ubus"
procd_set_param capabilities /etc/capabilities/ntpd.json
procd_set_param user ntp
procd_set_param group ntp
procd_set_param no_new_privs 1
}
procd_close_instance
}
start_service() {
. /lib/functions/network.sh
validate_ntp_section ntp start_ntpd_instance
}
service_triggers() {
local script name use_dhcp enable_server interface
script=$(readlink -f "$initscript")
name=$(basename ${script:-$initscript})
procd_add_config_trigger "config.change" "system" /etc/init.d/$name reload
config_load system
config_get use_dhcp ntp use_dhcp 1
[ $use_dhcp = 1 ] && {
local dhcp_interface
config_get dhcp_interface ntp dhcp_interface
if [ -n "$dhcp_interface" ]; then
for n in $dhcp_interface; do
procd_add_interface_trigger "interface.*" $n /etc/init.d/$name reload
done
else
procd_add_raw_trigger "interface.*" 1000 /etc/init.d/$name reload
fi
}
config_get_bool enable_server ntp enable_server 0
config_get interface ntp interface
[ $enable_server -eq 1 ] && [ -n "$interface" ] && {
local ifname
network_get_device ifname "$interface" || \
ifname="$interface"
procd_add_interface_trigger "interface.*" "$ifname" \
/etc/init.d/"$name" reload
}
procd_add_validation validate_ntp_section
}

View File

@@ -0,0 +1,27 @@
--- a/scripts/Kbuild.include
+++ b/scripts/Kbuild.include
@@ -131,7 +131,7 @@ make-cmd = $(subst \#,\\\#,$(subst $$,$$
#
if_changed = $(if $(strip $(filter-out $(PHONY),$?) \
$(call arg-check, $(cmd_$(1)), $(cmd_$@)) ), \
- @set -e; \
+ +@set -e; \
$(echo-cmd) $(cmd_$(1)); \
echo 'cmd_$@ := $(make-cmd)' > $(@D)/.$(@F).cmd)
@@ -140,7 +140,7 @@ if_changed = $(if $(strip $(filter-out $
if_changed_dep = $(if $(strip $(filter-out $(PHONY),$?) \
$(filter-out FORCE $(wildcard $^),$^) \
$(call arg-check, $(cmd_$(1)), $(cmd_$@)) ), \
- @set -e; \
+ +@set -e; \
$(echo-cmd) $(cmd_$(1)); \
scripts/basic/fixdep $(depfile) $@ '$(make-cmd)' > $(@D)/.$(@F).tmp; \
rm -f $(depfile); \
@@ -151,5 +151,5 @@ if_changed_dep = $(if $(strip $(filter-o
# and if so will execute $(rule_foo)
if_changed_rule = $(if $(strip $(filter-out $(PHONY),$?) \
$(call arg-check, $(cmd_$(1)), $(cmd_$@)) ),\
- @set -e; \
+ +@set -e; \
$(rule_$(1)))

View File

@@ -0,0 +1,18 @@
--- a/networking/udhcp/dhcpc.c
+++ b/networking/udhcp/dhcpc.c
@@ -722,6 +722,7 @@ static int bcast_or_ucast(struct dhcp_pa
static NOINLINE int send_discover(uint32_t requested)
{
struct dhcp_packet packet;
+ static int msgs = 0;
/* Fill in: op, htype, hlen, cookie, chaddr fields,
* xid field, message type option:
@@ -736,6 +737,7 @@ static NOINLINE int send_discover(uint32
*/
add_client_options(&packet);
+ if (msgs++ < 3)
bb_simple_info_msg("broadcasting discover");
return raw_bcast_from_client_data_ifindex(&packet, INADDR_ANY);
}

View File

@@ -0,0 +1,15 @@
--- a/networking/udhcp/dhcpc.c
+++ b/networking/udhcp/dhcpc.c
@@ -1384,6 +1384,12 @@ int udhcpc_main(int argc UNUSED_PARAM, c
struct pollfd pfds[2];
struct dhcp_packet packet;
+ /* When running on a bridge, the ifindex may have changed (e.g. if
+ * member interfaces were added/removed or if the status of the
+ * bridge changed).
+ * Workaround: refresh it here before processing the next packet */
+ udhcp_read_interface(client_data.interface, &client_data.ifindex, NULL, client_data.client_mac);
+
//bb_error_msg("sockfd:%d, listen_mode:%d", client_data.sockfd, client_data.listen_mode);
/* Was opening raw or udp socket here

View File

@@ -0,0 +1,79 @@
--- /dev/null
+++ b/networking/netmsg.c
@@ -0,0 +1,76 @@
+/*
+ * Copyright (C) 2006 Felix Fietkau <nbd@nbd.name>
+ *
+ * This is free software, licensed under the GNU General Public License v2.
+ */
+
+//config:config NETMSG
+//config: bool "netmsg"
+//config: default n
+//config: help
+//config: simple program for sending udp broadcast messages
+
+//applet:IF_NETMSG(APPLET(netmsg, BB_DIR_BIN, BB_SUID_REQUIRE))
+
+//kbuild:lib-$(CONFIG_NETMSG) += netmsg.o
+
+//usage:#define netmsg_trivial_usage NOUSAGE_STR
+//usage:#define netmsg_full_usage ""
+
+#include <sys/types.h>
+#include <sys/socket.h>
+#include <netinet/in.h>
+#include <netdb.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include "busybox.h"
+
+#ifndef CONFIG_NETMSG
+int main(int argc, char **argv)
+#else
+int netmsg_main(int argc, char **argv)
+#endif
+{
+ int s;
+ struct sockaddr_in addr;
+ int optval = 1;
+ unsigned char buf[1001];
+
+ if (argc != 3) {
+ fprintf(stderr, "usage: %s <ip> \"<message>\"\n", argv[0]);
+ exit(1);
+ }
+
+ if ((s = socket(AF_INET, SOCK_DGRAM, 0)) < 0) {
+ perror("Opening socket");
+ exit(1);
+ }
+
+ memset(&addr, 0, sizeof(addr));
+ addr.sin_family = AF_INET;
+ addr.sin_addr.s_addr = inet_addr(argv[1]);
+ addr.sin_port = htons(0x1337);
+
+ memset(buf, 0, 1001);
+ buf[0] = 0xde;
+ buf[1] = 0xad;
+
+ strncpy(buf + 2, argv[2], 998);
+
+ if (setsockopt (s, SOL_SOCKET, SO_BROADCAST, (caddr_t) &optval, sizeof (optval)) < 0) {
+ perror("setsockopt()");
+ goto fail;
+ }
+
+ if (sendto(s, buf, 1001, 0, (struct sockaddr *) &addr, sizeof(addr)) < 0) {
+ perror("sendto()");
+ goto fail;
+ }
+
+ return 0;
+
+fail:
+ close(s);
+ exit(1);
+}

View File

@@ -0,0 +1,158 @@
--- /dev/null
+++ b/miscutils/lock.c
@@ -0,0 +1,155 @@
+/*
+ * Copyright (C) 2006 Felix Fietkau <nbd@nbd.name>
+ *
+ * This is free software, licensed under the GNU General Public License v2.
+ */
+
+//config:config LOCK
+//config: bool "lock"
+//config: default n
+//config: help
+//config: Small utility for using locks in scripts
+
+//applet:IF_LOCK(APPLET(lock, BB_DIR_BIN, BB_SUID_DROP))
+
+//kbuild:lib-$(CONFIG_LOCK) += lock.o
+
+//usage:#define lock_trivial_usage NOUSAGE_STR
+//usage:#define lock_full_usage ""
+
+#include <sys/types.h>
+#include <sys/file.h>
+#include <sys/stat.h>
+#include <signal.h>
+#include <fcntl.h>
+#include <unistd.h>
+#include <stdio.h>
+#include "busybox.h"
+
+static int unlock = 0;
+static int shared = 0;
+static int waitonly = 0;
+static int try_lock = 0;
+static int fd;
+static char *file;
+
+static void usage(char *name)
+{
+ fprintf(stderr, "Usage: %s [-suw] <filename>\n"
+ " -s Use shared locking\n"
+ " -u Unlock\n"
+ " -w Wait for the lock to become free, don't acquire lock\n"
+ " -n Don't wait for the lock to become free. Fail with exit code\n"
+ "\n", name);
+ exit(1);
+}
+
+static void exit_unlock(int sig)
+{
+ flock(fd, LOCK_UN);
+ exit(0);
+}
+
+static int do_unlock(void)
+{
+ FILE *f;
+ int i;
+
+ if ((f = fopen(file, "r")) == NULL)
+ return 0;
+
+ fscanf(f, "%d", &i);
+ if (i > 0)
+ kill(i, SIGTERM);
+
+ fclose(f);
+
+ return 0;
+}
+
+static int do_lock(void)
+{
+ pid_t pid;
+ int flags;
+ char pidstr[12];
+
+ if ((fd = open(file, O_RDWR | O_CREAT | O_EXCL, 0700)) < 0) {
+ if ((fd = open(file, O_RDWR)) < 0) {
+ fprintf(stderr, "Can't open %s\n", file);
+ return 1;
+ }
+ }
+
+ flags = shared ? LOCK_SH : LOCK_EX;
+ flags |= try_lock ? LOCK_NB : 0;
+
+ if (flock(fd, flags) < 0) {
+ fprintf(stderr, "Can't lock %s\n", file);
+ return 1;
+ }
+
+ pid = fork();
+
+ if (pid < 0)
+ return -1;
+
+ if (pid == 0) {
+ signal(SIGKILL, exit_unlock);
+ signal(SIGTERM, exit_unlock);
+ signal(SIGINT, exit_unlock);
+ if (waitonly)
+ exit_unlock(0);
+ else
+ while (1)
+ sleep(1);
+ } else {
+ if (!waitonly) {
+ lseek(fd, 0, SEEK_SET);
+ ftruncate(fd, 0);
+ snprintf(pidstr, sizeof(pidstr), "%d\n", pid);
+ write(fd, pidstr, strlen(pidstr));
+ close(fd);
+ }
+
+ return 0;
+ }
+ return 0;
+}
+
+int lock_main(int argc, char **argv) MAIN_EXTERNALLY_VISIBLE;
+int lock_main(int argc, char **argv)
+{
+ char **args = &argv[1];
+ int c = argc - 1;
+
+ while ((*args != NULL) && (*args)[0] == '-') {
+ char *ch = *args;
+ while (*(++ch) > 0) {
+ switch(*ch) {
+ case 'w':
+ waitonly = 1;
+ break;
+ case 's':
+ shared = 1;
+ break;
+ case 'u':
+ unlock = 1;
+ break;
+ case 'n':
+ try_lock = 1;
+ break;
+ }
+ }
+ c--;
+ args++;
+ }
+
+ if (c != 1)
+ usage(argv[0]);
+
+ file = *args;
+ if (unlock)
+ return do_unlock();
+ else
+ return do_lock();
+}

View File

@@ -0,0 +1,20 @@
--- a/libbb/printable_string.c
+++ b/libbb/printable_string.c
@@ -28,8 +28,6 @@ const char* FAST_FUNC printable_string2(
}
if (c < ' ')
break;
- if (c >= 0x7f)
- break;
s++;
}
@@ -42,7 +40,7 @@ const char* FAST_FUNC printable_string2(
unsigned char c = *d;
if (c == '\0')
break;
- if (c < ' ' || c >= 0x7f)
+ if (c < ' ')
*d = '?';
d++;
}

View File

@@ -0,0 +1,11 @@
--- a/networking/libiproute/iplink.c
+++ b/networking/libiproute/iplink.c
@@ -683,7 +683,7 @@ static int do_add_or_delete(char **argv,
}
xrtnl_open(&rth);
ll_init_map(&rth);
- if (type_str) {
+ if (type_str && rtm == RTM_NEWLINK) {
struct rtattr *linkinfo = NLMSG_TAIL(&req.n);
addattr_l(&req.n, sizeof(req), IFLA_LINKINFO, NULL, 0);

View File

@@ -0,0 +1,13 @@
--- a/networking/traceroute.c
+++ b/networking/traceroute.c
@@ -236,8 +236,8 @@
//config: depends on TRACEROUTE || TRACEROUTE6
/* Needs socket(AF_INET, SOCK_RAW, IPPROTO_ICMP), therefore BB_SUID_MAYBE: */
-//applet:IF_TRACEROUTE(APPLET(traceroute, BB_DIR_USR_BIN, BB_SUID_MAYBE))
-//applet:IF_TRACEROUTE6(APPLET(traceroute6, BB_DIR_USR_BIN, BB_SUID_MAYBE))
+//applet:IF_TRACEROUTE(APPLET(traceroute, BB_DIR_BIN, BB_SUID_MAYBE))
+//applet:IF_TRACEROUTE6(APPLET(traceroute6, BB_DIR_BIN, BB_SUID_MAYBE))
//kbuild:lib-$(CONFIG_TRACEROUTE) += traceroute.o
//kbuild:lib-$(CONFIG_TRACEROUTE6) += traceroute.o

View File

@@ -0,0 +1,11 @@
--- a/loginutils/passwd.c
+++ b/loginutils/passwd.c
@@ -23,7 +23,7 @@
//config: With this option passwd will refuse new passwords which are "weak".
//applet:/* Needs to be run by root or be suid root - needs to change /etc/{passwd,shadow}: */
-//applet:IF_PASSWD(APPLET(passwd, BB_DIR_USR_BIN, BB_SUID_REQUIRE))
+//applet:IF_PASSWD(APPLET(passwd, BB_DIR_BIN, BB_SUID_REQUIRE))
//kbuild:lib-$(CONFIG_PASSWD) += passwd.o

View File

@@ -0,0 +1,53 @@
--- a/loginutils/chpasswd.c
+++ b/loginutils/chpasswd.c
@@ -89,6 +89,11 @@ int chpasswd_main(int argc UNUSED_PARAM,
crypt_make_pw_salt(salt, algo);
free_me = pass = pw_encrypt(pass, salt, 0);
+
+ if (pass[0] == 0) {
+ free(free_me);
+ bb_perror_msg_and_die("password encryption failed");
+ }
}
/* This is rather complex: if user is not found in /etc/shadow,
--- a/loginutils/cryptpw.c
+++ b/loginutils/cryptpw.c
@@ -87,7 +87,7 @@ int cryptpw_main(int argc UNUSED_PARAM,
/* Supports: cryptpw -m sha256 PASS 'rounds=999999999$SALT' */
char salt[MAX_PW_SALT_LEN + sizeof("rounds=999999999$")];
char *salt_ptr;
- char *password;
+ char *password, *hash;
const char *opt_m, *opt_S;
int fd;
@@ -132,8 +132,12 @@ int cryptpw_main(int argc UNUSED_PARAM,
/* may still be NULL on EOF/error */
}
- if (password)
- puts(pw_encrypt(password, salt, 1));
+ if (password) {
+ hash = pw_encrypt(password, salt, 1);
+ if (hash[0] == 0)
+ bb_perror_msg_and_die("password encryption failed");
+ puts(hash);
+ }
return EXIT_SUCCESS;
}
--- a/loginutils/passwd.c
+++ b/loginutils/passwd.c
@@ -187,6 +187,10 @@ int passwd_main(int argc UNUSED_PARAM, c
if (!newp) {
logmode = LOGMODE_STDIO;
bb_error_msg_and_die("password for %s is unchanged", name);
+ } else if (newp[0] == 0) {
+ logmode = LOGMODE_STDIO;
+ free(newp);
+ bb_perror_msg_and_die("password encryption failed");
}
} else if (opt & OPT_lock) {
if (!c)

View File

@@ -0,0 +1,42 @@
From: Uwe Kleine-König <uwe@kleine-koenig.org>
Date: Sat, 8 Oct 2022 19:22:52 +0200
Subject: [PATCH] nslookup: ensure unique transaction IDs for the DNS queries
The transaction IDs generated by res_mkquery() for both glibc and musl only
depends on the state of the monotonic clock.
For some machines (here: a TP-Link RE200 powered by a MediaTek MT7620A)
the monotonic clock has a coarse resolution (here: 20 µs) and it can happen
that the requests for A and AAAA share the same transaction ID.
In that case the mapping from received responses to the sent queries
doesn't work and name resolution fails as follows:
# /bin/busybox nslookup heise.de
Server: 127.0.0.1
Address: 127.0.0.1:53
Non-authoritative answer:
Name: heise.de
Address: 193.99.144.80
*** Can't find heise.de: No answer
because the AAAA reply is dropped as a duplicate reply to the A query.
To prevent this make sure the transaction IDs are unique.
Forwarded: http://lists.busybox.net/pipermail/busybox/2022-October/089911.html
---
--- a/networking/nslookup.c
+++ b/networking/nslookup.c
@@ -978,6 +978,10 @@ int nslookup_main(int argc UNUSED_PARAM,
}
}
+ /* Ensure the Transaction IDs are unique */
+ for (rc = 1; rc < G.query_count; rc++)
+ G.query[rc].query[1] = G.query[rc - 1].query[1] + 1;
+
for (rc = 0; rc < G.serv_count;) {
int c;

View File

@@ -0,0 +1,15 @@
CONFIG_SELINUX=y
CONFIG_FEATURE_TAR_SELINUX=y
CONFIG_CHCON=y
CONFIG_GETENFORCE=y
CONFIG_GETSEBOOL=y
CONFIG_LOAD_POLICY=y
CONFIG_MATCHPATHCON=y
CONFIG_RUNCON=y
CONFIG_SELINUXENABLED=y
CONFIG_SESTATUS=y
CONFIG_SETFILES=y
CONFIG_FEATURE_SETFILES_CHECK_OPTION=y
CONFIG_RESTORECON=y
CONFIG_SETSEBOOL=y
CONFIG_SETENFORCE=y