blob: 19021fed13f869d20247c8dfb4df43b60c0c1e7e
1 | # |
2 | # For a description of the syntax of this configuration file, |
3 | # see scripts/kbuild/config-language.txt. |
4 | # |
5 | |
6 | menu "Busybox Library Tuning" |
7 | |
8 | INSERT |
9 | |
10 | config PASSWORD_MINLEN |
11 | int "Minimum password length" |
12 | default 6 |
13 | range 5 32 |
14 | help |
15 | Minimum allowable password length. |
16 | |
17 | config MD5_SMALL |
18 | int "MD5: Trade bytes for speed (0:fast, 3:slow)" |
19 | default 1 |
20 | range 0 3 |
21 | help |
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) |
26 | 0 (fastest) 1.1 6144 |
27 | 1 1.4 5392 |
28 | 2 3.0 5088 |
29 | 3 (smallest) 5.1 4912 |
30 | |
31 | config SHA3_SMALL |
32 | int "SHA3: Trade bytes for speed (0:fast, 1:slow)" |
33 | default 1 |
34 | range 0 1 |
35 | help |
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 |
40 | |
41 | config FEATURE_FAST_TOP |
42 | bool "Faster /proc scanning code (+100 bytes)" |
43 | default y |
44 | help |
45 | This option makes top (and ps) ~20% faster (or 20% less CPU hungry), |
46 | but code size is slightly bigger. |
47 | |
48 | config FEATURE_ETC_NETWORKS |
49 | bool "Support for /etc/networks" |
50 | default n |
51 | help |
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. |
55 | |
56 | config FEATURE_USE_TERMIOS |
57 | bool "Use termios to manipulate the screen" |
58 | default y |
59 | depends on MORE || TOP || POWERTOP |
60 | help |
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. |
66 | |
67 | config FEATURE_EDITING |
68 | bool "Command line editing" |
69 | default y |
70 | help |
71 | Enable line editing (mainly for shell command line). |
72 | |
73 | config FEATURE_EDITING_MAX_LEN |
74 | int "Maximum length of input" |
75 | range 128 8192 |
76 | default 1024 |
77 | depends on FEATURE_EDITING |
78 | help |
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. |
82 | |
83 | config FEATURE_EDITING_VI |
84 | bool "vi-style line editing commands" |
85 | default n |
86 | depends on FEATURE_EDITING |
87 | help |
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". |
90 | |
91 | config FEATURE_EDITING_HISTORY |
92 | int "History size" |
93 | # Don't allow way too big values here, code uses fixed "char *history[N]" struct member |
94 | range 0 9999 |
95 | default 255 |
96 | depends on FEATURE_EDITING |
97 | help |
98 | Specify command history size (0 - disable). |
99 | |
100 | config FEATURE_EDITING_SAVEHISTORY |
101 | bool "History saving" |
102 | default y |
103 | depends on FEATURE_EDITING |
104 | help |
105 | Enable history saving in shells. |
106 | |
107 | config FEATURE_EDITING_SAVE_ON_EXIT |
108 | bool "Save history on shell exit, not after every command" |
109 | default n |
110 | depends on FEATURE_EDITING_SAVEHISTORY |
111 | help |
112 | Save history on shell exit, not after every command. |
113 | |
114 | config FEATURE_REVERSE_SEARCH |
115 | bool "Reverse history search" |
116 | default y |
117 | depends on FEATURE_EDITING_SAVEHISTORY |
118 | help |
119 | Enable readline-like Ctrl-R combination for reverse history search. |
120 | Increases code by about 0.5k. |
121 | |
122 | config FEATURE_TAB_COMPLETION |
123 | bool "Tab completion" |
124 | default y |
125 | depends on FEATURE_EDITING |
126 | help |
127 | Enable tab completion. |
128 | |
129 | config FEATURE_USERNAME_COMPLETION |
130 | bool "Username completion" |
131 | default n |
132 | depends on FEATURE_TAB_COMPLETION |
133 | help |
134 | Enable username completion. |
135 | |
136 | config FEATURE_EDITING_FANCY_PROMPT |
137 | bool "Fancy shell prompts" |
138 | default y |
139 | depends on FEATURE_EDITING |
140 | help |
141 | Setting this option allows for prompts to use things like \w and |
142 | \$ and escape codes. |
143 | |
144 | config FEATURE_EDITING_ASK_TERMINAL |
145 | bool "Query cursor position from terminal" |
146 | default n |
147 | depends on FEATURE_EDITING |
148 | help |
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. |
155 | |
156 | config FEATURE_NON_POSIX_CP |
157 | bool "Non-POSIX, but safer, copying to special nodes" |
158 | default y |
159 | help |
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") |
165 | |
166 | config FEATURE_VERBOSE_CP_MESSAGE |
167 | bool "Give more precise messages when copy fails (cp, mv etc)" |
168 | default n |
169 | help |
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. |
179 | |
180 | config FEATURE_COPYBUF_KB |
181 | int "Copy buffer size, in kilobytes" |
182 | range 1 1024 |
183 | default 4 |
184 | help |
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. |
189 | |
190 | config FEATURE_SKIP_ROOTFS |
191 | bool "Skip rootfs in mount table" |
192 | default y |
193 | help |
194 | Ignore rootfs entry in mount table. |
195 | |
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. |
201 | |
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. |
206 | |
207 | Otherwise, choose Y. |
208 | |
209 | config MONOTONIC_SYSCALL |
210 | bool "Use clock_gettime(CLOCK_MONOTONIC) syscall" |
211 | default n |
212 | select PLATFORM_LINUX |
213 | help |
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 |
218 | is reset). |
219 | |
220 | config IOCTL_HEX2STR_ERROR |
221 | bool "Use ioctl names rather than hex values in error messages" |
222 | default y |
223 | help |
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. |
227 | |
228 | config FEATURE_HWIB |
229 | bool "Support infiniband HW" |
230 | default y |
231 | help |
232 | Support for printing infiniband addresses in |
233 | network applets. |
234 | |
235 | endmenu |
236 |