84da2a677a
Refresh patches, delete patches that have been applied upstream. Signed-off-by: Magnus Kroken <mkroken@gmail.com> Tested-by: Koen Vandeputte <koen.vandeputte@ncentric.com> Signed-off-by: Felix Fietkau <nbd@nbd.name> [fix defaults]
435 lines
16 KiB
Text
435 lines
16 KiB
Text
# 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 "Busybox 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_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.
|
|
|
|
choice
|
|
prompt "Buffer allocation policy"
|
|
default BUSYBOX_CONFIG_FEATURE_BUFFERS_GO_ON_STACK
|
|
help
|
|
There are 3 ways BusyBox can handle buffer allocations:
|
|
- Use malloc. This costs code size for the call to xmalloc.
|
|
- Put them on stack. For some very small machines with limited stack
|
|
space, this can be deadly. For most folks, this works just fine.
|
|
- Put them in BSS. This works beautifully for computers with a real
|
|
MMU (and OS support), but wastes runtime RAM for uCLinux. This
|
|
behavior was the only one available for BusyBox versions 0.48 and
|
|
earlier.
|
|
|
|
config BUSYBOX_CONFIG_FEATURE_BUFFERS_USE_MALLOC
|
|
bool "Allocate with Malloc"
|
|
|
|
config BUSYBOX_CONFIG_FEATURE_BUFFERS_GO_ON_STACK
|
|
bool "Allocate on the Stack"
|
|
|
|
config BUSYBOX_CONFIG_FEATURE_BUFFERS_GO_IN_BSS
|
|
bool "Allocate in the .bss section"
|
|
|
|
endchoice
|
|
|
|
config BUSYBOX_CONFIG_PASSWORD_MINLEN
|
|
int "Minimum password length"
|
|
default BUSYBOX_DEFAULT_PASSWORD_MINLEN
|
|
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 md5sum algorithm.
|
|
Approximate values running uClibc and hashing
|
|
linux-2.4.4.tar.bz2 were:
|
|
user times (sec) text size (386)
|
|
0 (fastest) 1.1 6144
|
|
1 1.4 5392
|
|
2 3.0 5088
|
|
3 (smallest) 5.1 4912
|
|
|
|
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 sha3sum algorithm.
|
|
SHA3_SMALL=0 compared to SHA3_SMALL=1 (approximate):
|
|
64-bit x86: +270 bytes of code, 45% faster
|
|
32-bit x86: +450 bytes of code, 75% faster
|
|
|
|
config BUSYBOX_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_ETC_NETWORKS
|
|
bool "Support for /etc/networks"
|
|
default BUSYBOX_DEFAULT_FEATURE_ETC_NETWORKS
|
|
help
|
|
Enable support for network names in /etc/networks. This is
|
|
a rarely used feature which allows you to use names
|
|
instead of IP/mask pairs in route command.
|
|
|
|
config BUSYBOX_CONFIG_FEATURE_USE_TERMIOS
|
|
bool "Use termios to manipulate the screen"
|
|
default BUSYBOX_DEFAULT_FEATURE_USE_TERMIOS
|
|
depends on BUSYBOX_CONFIG_MORE || BUSYBOX_CONFIG_TOP || BUSYBOX_CONFIG_POWERTOP
|
|
help
|
|
This option allows utilities such as 'more' and 'top' to determine
|
|
the size of the screen. If you leave this disabled, your utilities
|
|
that display things on the screen will be especially primitive and
|
|
will be unable to determine the current screen size, and will be
|
|
unable to move the cursor.
|
|
|
|
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
|
|
help
|
|
Enable tab completion.
|
|
|
|
config BUSYBOX_CONFIG_FEATURE_USERNAME_COMPLETION
|
|
bool "Username completion"
|
|
default BUSYBOX_DEFAULT_FEATURE_USERNAME_COMPLETION
|
|
depends on BUSYBOX_CONFIG_FEATURE_TAB_COMPLETION
|
|
help
|
|
Enable username 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_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 '?'.
|
|
|
|
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
|
|
select BUSYBOX_CONFIG_PLATFORM_LINUX
|
|
help
|
|
When enabled, busybox will use the kernel sendfile() function
|
|
instead of read/write loops to copy data between file descriptors
|
|
(for example, cp command does this a lot).
|
|
If sendfile() doesn't work, copying code falls back to read/write
|
|
loop. sendfile() was originally implemented for faster I/O
|
|
from files to sockets, but since Linux 2.6.33 it was extended
|
|
to work for many more file types.
|
|
|
|
config BUSYBOX_CONFIG_FEATURE_COPYBUF_KB
|
|
int "Copy buffer size, in kilobytes"
|
|
range 1 1024
|
|
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_FEATURE_SKIP_ROOTFS
|
|
bool "Skip rootfs in mount table"
|
|
default BUSYBOX_DEFAULT_FEATURE_SKIP_ROOTFS
|
|
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_MONOTONIC_SYSCALL
|
|
bool "Use clock_gettime(CLOCK_MONOTONIC) syscall"
|
|
default BUSYBOX_DEFAULT_MONOTONIC_SYSCALL
|
|
select BUSYBOX_CONFIG_PLATFORM_LINUX
|
|
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_HWIB
|
|
bool "Support infiniband HW"
|
|
default BUSYBOX_DEFAULT_FEATURE_HWIB
|
|
help
|
|
Support for printing infiniband addresses in
|
|
network applets.
|
|
|
|
endmenu
|