2 # For a description of the syntax of this configuration file,
3 # see scripts/kbuild/config-language.txt.
6 menu "Busybox Library Tuning"
10 config PASSWORD_MINLEN
11 int "Minimum password length"
15 Minimum allowable password length.
18 int "MD5: Trade bytes for speed (0:fast, 3:slow)"
22 Trade binary size versus speed for the md5sum algorithm.
23 Approximate values running uClibc and hashing
24 linux-2.4.4.tar.bz2 were:
25 user times (sec) text size (386)
32 int "SHA3: Trade bytes for speed (0:fast, 1:slow)"
36 Trade binary size versus speed for the sha3sum algorithm.
37 SHA3_SMALL=0 compared to SHA3_SMALL=1 (approximate):
38 64-bit x86: +270 bytes of code, 45% faster
39 32-bit x86: +450 bytes of code, 75% faster
41 config FEATURE_FAST_TOP
42 bool "Faster /proc scanning code (+100 bytes)"
45 This option makes top (and ps) ~20% faster (or 20% less CPU hungry),
46 but code size is slightly bigger.
48 config FEATURE_ETC_NETWORKS
49 bool "Support for /etc/networks"
52 Enable support for network names in /etc/networks. This is
53 a rarely used feature which allows you to use names
54 instead of IP/mask pairs in route command.
56 config FEATURE_USE_TERMIOS
57 bool "Use termios to manipulate the screen"
59 depends on MORE || TOP || POWERTOP
61 This option allows utilities such as 'more' and 'top' to determine
62 the size of the screen. If you leave this disabled, your utilities
63 that display things on the screen will be especially primitive and
64 will be unable to determine the current screen size, and will be
65 unable to move the cursor.
67 config FEATURE_EDITING
68 bool "Command line editing"
71 Enable line editing (mainly for shell command line).
73 config FEATURE_EDITING_MAX_LEN
74 int "Maximum length of input"
77 depends on FEATURE_EDITING
79 Line editing code uses on-stack buffers for storage.
80 You may want to decrease this parameter if your target machine
81 benefits from smaller stack usage.
83 config FEATURE_EDITING_VI
84 bool "vi-style line editing commands"
86 depends on FEATURE_EDITING
88 Enable vi-style line editing. In shells, this mode can be
89 turned on and off with "set -o vi" and "set +o vi".
91 config FEATURE_EDITING_HISTORY
93 # Don't allow way too big values here, code uses fixed "char *history[N]" struct member
96 depends on FEATURE_EDITING
98 Specify command history size (0 - disable).
100 config FEATURE_EDITING_SAVEHISTORY
101 bool "History saving"
103 depends on FEATURE_EDITING
105 Enable history saving in shells.
107 config FEATURE_EDITING_SAVE_ON_EXIT
108 bool "Save history on shell exit, not after every command"
110 depends on FEATURE_EDITING_SAVEHISTORY
112 Save history on shell exit, not after every command.
114 config FEATURE_REVERSE_SEARCH
115 bool "Reverse history search"
117 depends on FEATURE_EDITING_SAVEHISTORY
119 Enable readline-like Ctrl-R combination for reverse history search.
120 Increases code by about 0.5k.
122 config FEATURE_TAB_COMPLETION
123 bool "Tab completion"
125 depends on FEATURE_EDITING
127 Enable tab completion.
129 config FEATURE_USERNAME_COMPLETION
130 bool "Username completion"
132 depends on FEATURE_TAB_COMPLETION
134 Enable username completion.
136 config FEATURE_EDITING_FANCY_PROMPT
137 bool "Fancy shell prompts"
139 depends on FEATURE_EDITING
141 Setting this option allows for prompts to use things like \w and
144 config FEATURE_EDITING_ASK_TERMINAL
145 bool "Query cursor position from terminal"
147 depends on FEATURE_EDITING
149 Allow usage of "ESC [ 6 n" sequence. Terminal answers back with
150 current cursor position. This information is used to make line
151 editing more robust in some cases.
152 If you are not sure whether your terminals respond to this code
153 correctly, or want to save on code size (about 400 bytes),
154 then do not turn this option on.
156 config FEATURE_NON_POSIX_CP
157 bool "Non-POSIX, but safer, copying to special nodes"
160 With this option, "cp file symlink" will delete symlink
161 and create a regular file. This does not conform to POSIX,
162 but prevents a symlink attack.
163 Similarly, "cp file device" will not send file's data
164 to the device. (To do that, use "cat file >device")
166 config FEATURE_VERBOSE_CP_MESSAGE
167 bool "Give more precise messages when copy fails (cp, mv etc)"
170 Error messages with this feature enabled:
171 $ cp file /does_not_exist/file
172 cp: cannot create '/does_not_exist/file': Path does not exist
173 $ cp file /vmlinuz/file
174 cp: cannot stat '/vmlinuz/file': Path has non-directory component
175 If this feature is not enabled, they will be, respectively:
176 cp: cannot create '/does_not_exist/file': No such file or directory
177 cp: cannot stat '/vmlinuz/file': Not a directory
178 This will cost you ~60 bytes.
180 config FEATURE_COPYBUF_KB
181 int "Copy buffer size, in kilobytes"
185 Size of buffer used by cp, mv, install, wget etc.
186 Buffers which are 4 kb or less will be allocated on stack.
187 Bigger buffers will be allocated with mmap, with fallback to 4 kb
188 stack buffer if mmap fails.
190 config FEATURE_SKIP_ROOTFS
191 bool "Skip rootfs in mount table"
194 Ignore rootfs entry in mount table.
196 In Linux, kernel has a special filesystem, rootfs, which is initially
197 mounted on /. It contains initramfs data, if kernel is configured
198 to have one. Usually, another file system is mounted over / early
199 in boot process, and therefore most tools which manipulate
200 mount table, such as df, will skip rootfs entry.
202 However, some systems do not mount anything on /.
203 If you need to configure busybox for one of these systems,
204 you may find it useful to turn this option off to make df show
205 initramfs statistics.
209 config MONOTONIC_SYSCALL
210 bool "Use clock_gettime(CLOCK_MONOTONIC) syscall"
212 select PLATFORM_LINUX
214 Use clock_gettime(CLOCK_MONOTONIC) syscall for measuring
215 time intervals (time, ping, traceroute etc need this).
216 Probably requires Linux 2.6+. If not selected, gettimeofday
217 will be used instead (which gives wrong results if date/time
220 config IOCTL_HEX2STR_ERROR
221 bool "Use ioctl names rather than hex values in error messages"
224 Use ioctl names rather than hex values in error messages
225 (e.g. VT_DISALLOCATE rather than 0x5608). If disabled this
226 saves about 1400 bytes.
229 bool "Support infiniband HW"
232 Support for printing infiniband addresses in