400 lines
		
	
	
		
			12 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			400 lines
		
	
	
		
			12 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
| #
 | |
| # 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.
 | 
