| # | |
| # For a description of the syntax of this configuration file, | |
| # see docs/Kconfig-language.txt. | |
| # | |
| comment "Library Tuning" | |
| INSERT | |
| choice | |
| prompt "Buffer allocation policy" | |
| default 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 FEATURE_BUFFERS_USE_MALLOC | |
| bool "Allocate with Malloc" | |
| config FEATURE_BUFFERS_GO_ON_STACK | |
| bool "Allocate on the Stack" | |
| config FEATURE_BUFFERS_GO_IN_BSS | |
| bool "Allocate in the .bss section" | |
| endchoice | |
| config PASSWORD_MINLEN | |
| int "Minimum password length" | |
| default 6 | |
| range 5 32 | |
| help | |
| Minimum allowable password length. | |
| config 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 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 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 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 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 FEATURE_EDITING | |
| bool "Command line editing" | |
| default y | |
| help | |
| Enable line editing (mainly for shell command line). | |
| config FEATURE_EDITING_MAX_LEN | |
| int "Maximum length of input" | |
| range 128 8192 | |
| default 1024 | |
| depends on 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 FEATURE_EDITING_VI | |
| bool "vi-style line editing commands" | |
| default n | |
| depends on 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 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 FEATURE_EDITING | |
| help | |
| Specify command history size (0 - disable). | |
| config FEATURE_EDITING_SAVEHISTORY | |
| bool "History saving" | |
| default y | |
| depends on FEATURE_EDITING | |
| help | |
| Enable history saving in shells. | |
| config FEATURE_EDITING_SAVE_ON_EXIT | |
| bool "Save history on shell exit, not after every command" | |
| default n | |
| depends on FEATURE_EDITING_SAVEHISTORY | |
| help | |
| Save history on shell exit, not after every command. | |
| config FEATURE_REVERSE_SEARCH | |
| bool "Reverse history search" | |
| default y | |
| depends on FEATURE_EDITING | |
| help | |
| Enable readline-like Ctrl-R combination for reverse history search. | |
| Increases code by about 0.5k. | |
| config FEATURE_TAB_COMPLETION | |
| bool "Tab completion" | |
| default y | |
| depends on FEATURE_EDITING | |
| config FEATURE_USERNAME_COMPLETION | |
| bool "Username completion" | |
| default y | |
| depends on FEATURE_TAB_COMPLETION | |
| config FEATURE_EDITING_FANCY_PROMPT | |
| bool "Fancy shell prompts" | |
| default y | |
| depends on FEATURE_EDITING | |
| help | |
| Setting this option allows for prompts to use things like \w and | |
| \$ and escape codes. | |
| config FEATURE_EDITING_WINCH | |
| bool "Enable automatic tracking of window size changes" | |
| default y | |
| depends on FEATURE_EDITING | |
| config FEATURE_EDITING_ASK_TERMINAL | |
| bool "Query cursor position from terminal" | |
| default n | |
| depends on 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 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 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 UNICODE_USING_LOCALE | |
| bool "Use libc routines for Unicode (else uses internal ones)" | |
| default n | |
| depends on UNICODE_SUPPORT && LOCALE_SUPPORT | |
| help | |
| With this option on, Unicode support is implemented using libc | |
| routines. Otherwise, internal implementation is used. | |
| Internal implementation is smaller. | |
| config FEATURE_CHECK_UNICODE_IN_ENV | |
| bool "Check $LC_ALL, $LC_CTYPE and $LANG environment variables" | |
| default n | |
| depends on UNICODE_SUPPORT && !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 SUBST_WCHAR | |
| int "Character code to substitute unprintable characters with" | |
| depends on 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 LAST_SUPPORTED_WCHAR | |
| int "Range of supported Unicode characters" | |
| depends on 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 UNICODE_COMBINING_WCHARS | |
| bool "Allow zero-width Unicode characters on output" | |
| default n | |
| depends on UNICODE_SUPPORT | |
| help | |
| With this option off, any Unicode char with width of 0 | |
| is substituted on output. | |
| config UNICODE_WIDE_WCHARS | |
| bool "Allow wide Unicode characters on output" | |
| default n | |
| depends on UNICODE_SUPPORT | |
| help | |
| With this option off, any Unicode char with width > 1 | |
| is substituted on output. | |
| config UNICODE_BIDI_SUPPORT | |
| bool "Bidirectional character-aware line input" | |
| default n | |
| depends on UNICODE_SUPPORT && !UNICODE_USING_LOCALE | |
| help | |
| With this option on, right-to-left Unicode characters | |
| are treated differently on input (e.g. cursor movement). | |
| config UNICODE_NEUTRAL_TABLE | |
| bool "In bidi input, support non-ASCII neutral chars too" | |
| default n | |
| depends on 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 UNICODE_PRESERVE_BROKEN | |
| bool "Make it possible to enter sequences of chars which are not Unicode" | |
| default n | |
| depends on 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 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 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 FEATURE_USE_SENDFILE | |
| bool "Use sendfile system call" | |
| default y | |
| select 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 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 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 MONOTONIC_SYSCALL | |
| bool "Use clock_gettime(CLOCK_MONOTONIC) syscall" | |
| default y | |
| select 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 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 FEATURE_HWIB | |
| bool "Support infiniband HW" | |
| default y | |
| help | |
| Support for printing infiniband addresses in network applets. |