# 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_FEATURE_USE_BSS_TAIL bool "Use the end of BSS page" default n 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_FLOAT_DURATION bool "Enable fractional duration arguments" default y help Allow sleep N.NNN, top -d N.NNN etc. config BUSYBOX_FEATURE_RTMINMAX bool "Support RTMIN[+n] and RTMAX[-n] signal names" default y help Support RTMIN[+n] and RTMAX[-n] signal names in kill, killall etc. This costs ~250 bytes. config BUSYBOX_FEATURE_RTMINMAX_USE_LIBC_DEFINITIONS bool "Use the definitions of SIGRTMIN/SIGRTMAX provided by libc" default y depends on BUSYBOX_FEATURE_RTMINMAX help Some C libraries reserve a few real-time signals for internal use, and adjust the values of SIGRTMIN/SIGRTMAX seen by applications accordingly. Saying yes here means that a signal name RTMIN+n will be interpreted according to the libc definition of SIGRTMIN, and not the raw definition provided by the kernel. This behavior matches "kill -l RTMIN+n" from bash. choice prompt "Buffer allocation policy" default BUSYBOX_FEATURE_BUFFERS_USE_MALLOC help There are 3 ways busybox can handle buffer allocations: - Use malloc. This costs code size for the call to xmalloc. - Put them on stack. For some very small machines with limited stack space, this can be deadly. For most folks, this works just fine. - Put them in BSS. This works beautifully for computers with a real MMU (and OS support), but wastes runtime RAM for uCLinux. This behavior was the only one available for versions 0.48 and earlier. config BUSYBOX_FEATURE_BUFFERS_USE_MALLOC bool "Allocate with Malloc" config BUSYBOX_FEATURE_BUFFERS_GO_ON_STACK bool "Allocate on the Stack" config BUSYBOX_FEATURE_BUFFERS_GO_IN_BSS bool "Allocate in the .bss section" endchoice config BUSYBOX_PASSWORD_MINLEN int "Minimum password length" default 6 range 5 32 help Minimum allowable password length. config BUSYBOX_MD5_SMALL int "MD5: Trade bytes for speed (0:fast, 3:slow)" default 1 # 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: 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_SHA3_SMALL int "SHA3: Trade bytes for speed (0:fast, 1:slow)" default 1 # all "fast or small" options default to small range 0 1 help Trade binary size versus speed for the sha3sum algorithm. SHA3_SMALL=0 compared to SHA3_SMALL=1 (approximate): 64-bit x86: +270 bytes of code, 45% faster 32-bit x86: +450 bytes of code, 75% faster config BUSYBOX_FEATURE_FAST_TOP bool "Faster /proc scanning code (+100 bytes)" default n # 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_FEATURE_ETC_NETWORKS bool "Support /etc/networks" default n help Enable support for network names in /etc/networks. This is a rarely used feature which allows you to use names instead of IP/mask pairs in route command. config BUSYBOX_FEATURE_ETC_SERVICES bool "Consult /etc/services even for well-known ports" default n help Look up e.g. "telnet" and "http" in /etc/services file instead of assuming ports 23 and 80. This is almost never necessary (everybody uses standard ports), and it makes sense to avoid reading this file. If you disable this option, in the cases where port is explicitly specified as a service name (e.g. "telnet HOST PORTNAME"), it will still be looked up in /etc/services. config BUSYBOX_FEATURE_EDITING bool "Command line editing" default y help Enable line editing (mainly for shell command line). config BUSYBOX_FEATURE_EDITING_MAX_LEN int "Maximum length of input" range 128 8192 default 1024 depends on BUSYBOX_FEATURE_EDITING help Line editing code uses on-stack buffers for storage. You may want to decrease this parameter if your target machine benefits from smaller stack usage. config BUSYBOX_FEATURE_EDITING_VI bool "vi-style line editing commands" default n depends on BUSYBOX_FEATURE_EDITING help Enable vi-style line editing. In shells, this mode can be turned on and off with "set -o vi" and "set +o vi". config BUSYBOX_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 255 depends on BUSYBOX_FEATURE_EDITING help Specify command history size (0 - disable). config BUSYBOX_FEATURE_EDITING_SAVEHISTORY bool "History saving" default y depends on BUSYBOX_FEATURE_EDITING help Enable history saving in shells. config BUSYBOX_FEATURE_EDITING_SAVE_ON_EXIT bool "Save history on shell exit, not after every command" default n depends on BUSYBOX_FEATURE_EDITING_SAVEHISTORY help Save history on shell exit, not after every command. config BUSYBOX_FEATURE_REVERSE_SEARCH bool "Reverse history search" default y depends on BUSYBOX_FEATURE_EDITING help Enable readline-like Ctrl-R combination for reverse history search. Increases code by about 0.5k. config BUSYBOX_FEATURE_TAB_COMPLETION bool "Tab completion" default y depends on BUSYBOX_FEATURE_EDITING config BUSYBOX_FEATURE_USERNAME_COMPLETION bool "Username completion" default y depends on BUSYBOX_FEATURE_TAB_COMPLETION config BUSYBOX_FEATURE_EDITING_FANCY_PROMPT bool "Fancy shell prompts" default y depends on BUSYBOX_FEATURE_EDITING help Setting this option allows for prompts to use things like \w and \$ and escape codes. config BUSYBOX_FEATURE_EDITING_WINCH bool "Enable automatic tracking of window size changes" default y depends on BUSYBOX_FEATURE_EDITING config BUSYBOX_FEATURE_EDITING_ASK_TERMINAL bool "Query cursor position from terminal" default n depends on BUSYBOX_FEATURE_EDITING help Allow usage of "ESC [ 6 n" sequence. Terminal answers back with current cursor position. This information is used to make line editing more robust in some cases. If you are not sure whether your terminals respond to this code correctly, or want to save on code size (about 400 bytes), then do not turn this option on. config BUSYBOX_LOCALE_SUPPORT bool "Enable locale support (system needs locale for this to work)" default n help Enable this if your system has locale support and you would like busybox to support locale settings. config BUSYBOX_UNICODE_SUPPORT bool "Support Unicode" default y help This makes various applets aware that one byte is not one character on screen. Busybox aims to eventually work correctly with Unicode displays. Any older encodings are not guaranteed to work. Probably by the time when busybox will be fully Unicode-clean, other encodings will be mainly of historic interest. config BUSYBOX_UNICODE_USING_LOCALE bool "Use libc routines for Unicode (else uses internal ones)" default n depends on BUSYBOX_UNICODE_SUPPORT && BUSYBOX_LOCALE_SUPPORT help With this option on, Unicode support is implemented using libc routines. Otherwise, internal implementation is used. Internal implementation is smaller. config BUSYBOX_FEATURE_CHECK_UNICODE_IN_ENV bool "Check $LC_ALL, $LC_CTYPE and $LANG environment variables" default n depends on BUSYBOX_UNICODE_SUPPORT && !BUSYBOX_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_SUBST_WCHAR int "Character code to substitute unprintable characters with" depends on BUSYBOX_UNICODE_SUPPORT default 63 help Typical values are 63 for '?' (works with any output device), 30 for ASCII substitute control code, 65533 (0xfffd) for Unicode replacement character. config BUSYBOX_LAST_SUPPORTED_WCHAR int "Range of supported Unicode characters" depends on BUSYBOX_UNICODE_SUPPORT default 767 help Any character with Unicode value bigger than this is assumed to be non-printable on output device. Many applets replace such characters with substitution character. The idea is that many valid printable Unicode chars nevertheless are not displayed correctly. Think about combining charachers, double-wide hieroglyphs, obscure characters in dozens of ancient scripts... Many terminals, terminal emulators, xterms etc will fail to handle them correctly. Choose the smallest value which suits your needs. Typical values are: 126 - ASCII only 767 (0x2ff) - there are no combining chars in [0..767] range (the range includes Latin 1, Latin Ext. A and B), code is ~700 bytes smaller for this case. 4351 (0x10ff) - there are no double-wide chars in [0..4351] range, code is ~300 bytes smaller for this case. 12799 (0x31ff) - nearly all non-ideographic characters are available in [0..12799] range, including East Asian scripts like katakana, hiragana, hangul, bopomofo... 0 - off, any valid printable Unicode character will be printed. config BUSYBOX_UNICODE_COMBINING_WCHARS bool "Allow zero-width Unicode characters on output" default n depends on BUSYBOX_UNICODE_SUPPORT help With this option off, any Unicode char with width of 0 is substituted on output. config BUSYBOX_UNICODE_WIDE_WCHARS bool "Allow wide Unicode characters on output" default n depends on BUSYBOX_UNICODE_SUPPORT help With this option off, any Unicode char with width > 1 is substituted on output. config BUSYBOX_UNICODE_BIDI_SUPPORT bool "Bidirectional character-aware line input" default n depends on BUSYBOX_UNICODE_SUPPORT && !BUSYBOX_UNICODE_USING_LOCALE help With this option on, right-to-left Unicode characters are treated differently on input (e.g. cursor movement). config BUSYBOX_UNICODE_NEUTRAL_TABLE bool "In bidi input, support non-ASCII neutral chars too" default n depends on BUSYBOX_UNICODE_BIDI_SUPPORT help In most cases it's enough to treat only ASCII non-letters (i.e. punctuation, numbers and space) as characters with neutral directionality. With this option on, more extensive (and bigger) table of neutral chars will be used. config BUSYBOX_UNICODE_PRESERVE_BROKEN bool "Make it possible to enter sequences of chars which are not Unicode" default n depends on BUSYBOX_UNICODE_SUPPORT help With this option on, on line-editing input (such as used by shells) invalid UTF-8 bytes are not substituted with the selected substitution character. For example, this means that entering 'l', 's', ' ', 0xff, [Enter] at shell prompt will list file named 0xff (single char name with char value 255), not file named '?'. config BUSYBOX_FEATURE_NON_POSIX_CP bool "Non-POSIX, but safer, copying to special nodes" default y help With this option, "cp file symlink" will delete symlink and create a regular file. This does not conform to POSIX, but prevents a symlink attack. Similarly, "cp file device" will not send file's data to the device. (To do that, use "cat file >device") config BUSYBOX_FEATURE_VERBOSE_CP_MESSAGE bool "Give more precise messages when copy fails (cp, mv etc)" default n help Error messages with this feature enabled: $ cp file /does_not_exist/file cp: cannot create '/does_not_exist/file': Path does not exist $ cp file /vmlinuz/file cp: cannot stat '/vmlinuz/file': Path has non-directory component If this feature is not enabled, they will be, respectively: cp: cannot create '/does_not_exist/file': No such file or directory cp: cannot stat '/vmlinuz/file': Not a directory This will cost you ~60 bytes. config BUSYBOX_FEATURE_USE_SENDFILE bool "Use sendfile system call" default y help When enabled, busybox will use the kernel sendfile() function instead of read/write loops to copy data between file descriptors (for example, cp command does this a lot). If sendfile() doesn't work, copying code falls back to read/write loop. sendfile() was originally implemented for faster I/O from files to sockets, but since Linux 2.6.33 it was extended to work for many more file types. config BUSYBOX_FEATURE_COPYBUF_KB int "Copy buffer size, in kilobytes" range 1 1024 default 4 help Size of buffer used by cp, mv, install, wget etc. Buffers which are 4 kb or less will be allocated on stack. Bigger buffers will be allocated with mmap, with fallback to 4 kb stack buffer if mmap fails. config BUSYBOX_FEATURE_SKIP_ROOTFS bool "Skip rootfs in mount table" default y 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_MONOTONIC_SYSCALL bool "Use clock_gettime(CLOCK_MONOTONIC) syscall" default y help Use clock_gettime(CLOCK_MONOTONIC) syscall for measuring time intervals (time, ping, traceroute etc need this). Probably requires Linux 2.6+. If not selected, gettimeofday will be used instead (which gives wrong results if date/time is reset). config BUSYBOX_IOCTL_HEX2STR_ERROR bool "Use ioctl names rather than hex values in error messages" default y 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_FEATURE_HWIB bool "Support infiniband HW" default y help Support for printing infiniband addresses in network applets.