OpenWrt – Blame information for rev 4
?pathlinks?
Rev | Author | Line No. | Line |
---|---|---|---|
4 | office | 1 | # DO NOT EDIT. This file is generated from Config.src |
2 | # |
||
3 | # For a description of the syntax of this configuration file, |
||
4 | # see scripts/kbuild/config-language.txt. |
||
5 | # |
||
6 | |||
7 | menu "Busybox Library Tuning" |
||
8 | |||
9 | config BUSYBOX_CONFIG_FEATURE_USE_BSS_TAIL |
||
10 | bool "Use the end of BSS page" |
||
11 | default BUSYBOX_DEFAULT_FEATURE_USE_BSS_TAIL |
||
12 | help |
||
13 | Attempt to reclaim a small unused part of BSS. |
||
14 | |||
15 | Executables have the following parts: |
||
16 | = read-only executable code and constants, also known as "text" |
||
17 | = read-write data |
||
18 | = non-initialized (zeroed on demand) data, also known as "bss" |
||
19 | |||
20 | At link time, "text" is padded to a full page. At runtime, all "text" |
||
21 | pages are mapped RO and executable. |
||
22 | "Data" starts on the next page boundary, but is not padded |
||
23 | to a full page at the end. "Bss" starts wherever "data" ends. |
||
24 | At runtime, "data" pages are mapped RW and they are file-backed |
||
25 | (this includes a small portion of "bss" which may live in the last |
||
26 | partial page of "data"). |
||
27 | Pages which are fully in "bss" are mapped to anonymous memory. |
||
28 | |||
29 | "Bss" end is usually not page-aligned. There is an unused space |
||
30 | in the last page. Linker marks its start with the "_end" symbol. |
||
31 | |||
32 | This option will attempt to use that space for bb_common_bufsiz1[] |
||
33 | array. If it fits after _end, it will be used, and COMMON_BUFSIZE |
||
34 | will be enlarged from its guaranteed minimum size of 1 kbyte. |
||
35 | This may require recompilation a second time, since value of _end |
||
36 | is known only after final link. |
||
37 | |||
38 | If you are getting a build error like this: |
||
39 | appletlib.c:(.text.main+0xd): undefined reference to '_end' |
||
40 | disable this option. |
||
41 | config BUSYBOX_CONFIG_FEATURE_RTMINMAX |
||
42 | bool "Support RTMIN[+n] and RTMAX[-n] signal names" |
||
43 | default BUSYBOX_DEFAULT_FEATURE_RTMINMAX |
||
44 | help |
||
45 | Support RTMIN[+n] and RTMAX[-n] signal names |
||
46 | in kill, killall etc. This costs ~250 bytes. |
||
47 | |||
48 | choice |
||
49 | prompt "Buffer allocation policy" |
||
50 | default BUSYBOX_CONFIG_FEATURE_BUFFERS_GO_ON_STACK |
||
51 | help |
||
52 | There are 3 ways BusyBox can handle buffer allocations: |
||
53 | - Use malloc. This costs code size for the call to xmalloc. |
||
54 | - Put them on stack. For some very small machines with limited stack |
||
55 | space, this can be deadly. For most folks, this works just fine. |
||
56 | - Put them in BSS. This works beautifully for computers with a real |
||
57 | MMU (and OS support), but wastes runtime RAM for uCLinux. This |
||
58 | behavior was the only one available for BusyBox versions 0.48 and |
||
59 | earlier. |
||
60 | |||
61 | config BUSYBOX_CONFIG_FEATURE_BUFFERS_USE_MALLOC |
||
62 | bool "Allocate with Malloc" |
||
63 | |||
64 | config BUSYBOX_CONFIG_FEATURE_BUFFERS_GO_ON_STACK |
||
65 | bool "Allocate on the Stack" |
||
66 | |||
67 | config BUSYBOX_CONFIG_FEATURE_BUFFERS_GO_IN_BSS |
||
68 | bool "Allocate in the .bss section" |
||
69 | |||
70 | endchoice |
||
71 | |||
72 | config BUSYBOX_CONFIG_PASSWORD_MINLEN |
||
73 | int "Minimum password length" |
||
74 | default BUSYBOX_DEFAULT_PASSWORD_MINLEN |
||
75 | range 5 32 |
||
76 | help |
||
77 | Minimum allowable password length. |
||
78 | |||
79 | config BUSYBOX_CONFIG_MD5_SMALL |
||
80 | int "MD5: Trade bytes for speed (0:fast, 3:slow)" |
||
81 | default BUSYBOX_DEFAULT_MD5_SMALL # all "fast or small" options default to small |
||
82 | range 0 3 |
||
83 | help |
||
84 | Trade binary size versus speed for the md5sum algorithm. |
||
85 | Approximate values running uClibc and hashing |
||
86 | linux-2.4.4.tar.bz2 were: |
||
87 | user times (sec) text size (386) |
||
88 | |||
89 | 1 1.4 5392 |
||
90 | 2 3.0 5088 |
||
91 | 3 (smallest) 5.1 4912 |
||
92 | |||
93 | config BUSYBOX_CONFIG_SHA3_SMALL |
||
94 | int "SHA3: Trade bytes for speed (0:fast, 1:slow)" |
||
95 | default BUSYBOX_DEFAULT_SHA3_SMALL # all "fast or small" options default to small |
||
96 | range 0 1 |
||
97 | help |
||
98 | Trade binary size versus speed for the sha3sum algorithm. |
||
99 | SHA3_SMALL=0 compared to SHA3_SMALL=1 (approximate): |
||
100 | 64-bit x86: +270 bytes of code, 45% faster |
||
101 | 32-bit x86: +450 bytes of code, 75% faster |
||
102 | |||
103 | config BUSYBOX_CONFIG_FEATURE_FAST_TOP |
||
104 | bool "Faster /proc scanning code (+100 bytes)" |
||
105 | default BUSYBOX_DEFAULT_FEATURE_FAST_TOP # all "fast or small" options default to small |
||
106 | help |
||
107 | This option makes top (and ps) ~20% faster (or 20% less CPU hungry), |
||
108 | but code size is slightly bigger. |
||
109 | |||
110 | config BUSYBOX_CONFIG_FEATURE_ETC_NETWORKS |
||
111 | bool "Support /etc/networks" |
||
112 | default BUSYBOX_DEFAULT_FEATURE_ETC_NETWORKS |
||
113 | help |
||
114 | Enable support for network names in /etc/networks. This is |
||
115 | a rarely used feature which allows you to use names |
||
116 | instead of IP/mask pairs in route command. |
||
117 | |||
118 | config BUSYBOX_CONFIG_FEATURE_EDITING |
||
119 | bool "Command line editing" |
||
120 | default BUSYBOX_DEFAULT_FEATURE_EDITING |
||
121 | help |
||
122 | Enable line editing (mainly for shell command line). |
||
123 | |||
124 | config BUSYBOX_CONFIG_FEATURE_EDITING_MAX_LEN |
||
125 | int "Maximum length of input" |
||
126 | range 128 8192 |
||
127 | default BUSYBOX_DEFAULT_FEATURE_EDITING_MAX_LEN |
||
128 | depends on BUSYBOX_CONFIG_FEATURE_EDITING |
||
129 | help |
||
130 | Line editing code uses on-stack buffers for storage. |
||
131 | You may want to decrease this parameter if your target machine |
||
132 | benefits from smaller stack usage. |
||
133 | |||
134 | config BUSYBOX_CONFIG_FEATURE_EDITING_VI |
||
135 | bool "vi-style line editing commands" |
||
136 | default BUSYBOX_DEFAULT_FEATURE_EDITING_VI |
||
137 | depends on BUSYBOX_CONFIG_FEATURE_EDITING |
||
138 | help |
||
139 | Enable vi-style line editing. In shells, this mode can be |
||
140 | turned on and off with "set -o vi" and "set +o vi". |
||
141 | |||
142 | config BUSYBOX_CONFIG_FEATURE_EDITING_HISTORY |
||
143 | int "History size" |
||
144 | # Don't allow way too big values here, code uses fixed "char *history[N]" struct member |
||
145 | range 0 9999 |
||
146 | default BUSYBOX_DEFAULT_FEATURE_EDITING_HISTORY |
||
147 | depends on BUSYBOX_CONFIG_FEATURE_EDITING |
||
148 | help |
||
149 | Specify command history size (0 - disable). |
||
150 | |||
151 | config BUSYBOX_CONFIG_FEATURE_EDITING_SAVEHISTORY |
||
152 | bool "History saving" |
||
153 | default BUSYBOX_DEFAULT_FEATURE_EDITING_SAVEHISTORY |
||
154 | depends on BUSYBOX_CONFIG_FEATURE_EDITING |
||
155 | help |
||
156 | Enable history saving in shells. |
||
157 | |||
158 | config BUSYBOX_CONFIG_FEATURE_EDITING_SAVE_ON_EXIT |
||
159 | bool "Save history on shell exit, not after every command" |
||
160 | default BUSYBOX_DEFAULT_FEATURE_EDITING_SAVE_ON_EXIT |
||
161 | depends on BUSYBOX_CONFIG_FEATURE_EDITING_SAVEHISTORY |
||
162 | help |
||
163 | Save history on shell exit, not after every command. |
||
164 | |||
165 | config BUSYBOX_CONFIG_FEATURE_REVERSE_SEARCH |
||
166 | bool "Reverse history search" |
||
167 | default BUSYBOX_DEFAULT_FEATURE_REVERSE_SEARCH |
||
168 | depends on BUSYBOX_CONFIG_FEATURE_EDITING |
||
169 | help |
||
170 | Enable readline-like Ctrl-R combination for reverse history search. |
||
171 | Increases code by about 0.5k. |
||
172 | |||
173 | config BUSYBOX_CONFIG_FEATURE_TAB_COMPLETION |
||
174 | bool "Tab completion" |
||
175 | default BUSYBOX_DEFAULT_FEATURE_TAB_COMPLETION |
||
176 | depends on BUSYBOX_CONFIG_FEATURE_EDITING |
||
177 | |||
178 | config BUSYBOX_CONFIG_FEATURE_USERNAME_COMPLETION |
||
179 | bool "Username completion" |
||
180 | default BUSYBOX_DEFAULT_FEATURE_USERNAME_COMPLETION |
||
181 | depends on BUSYBOX_CONFIG_FEATURE_TAB_COMPLETION |
||
182 | |||
183 | config BUSYBOX_CONFIG_FEATURE_EDITING_FANCY_PROMPT |
||
184 | bool "Fancy shell prompts" |
||
185 | default BUSYBOX_DEFAULT_FEATURE_EDITING_FANCY_PROMPT |
||
186 | depends on BUSYBOX_CONFIG_FEATURE_EDITING |
||
187 | help |
||
188 | Setting this option allows for prompts to use things like \w and |
||
189 | \$ and escape codes. |
||
190 | |||
191 | config BUSYBOX_CONFIG_FEATURE_EDITING_ASK_TERMINAL |
||
192 | bool "Query cursor position from terminal" |
||
193 | default BUSYBOX_DEFAULT_FEATURE_EDITING_ASK_TERMINAL |
||
194 | depends on BUSYBOX_CONFIG_FEATURE_EDITING |
||
195 | help |
||
196 | Allow usage of "ESC [ 6 n" sequence. Terminal answers back with |
||
197 | current cursor position. This information is used to make line |
||
198 | editing more robust in some cases. |
||
199 | If you are not sure whether your terminals respond to this code |
||
200 | correctly, or want to save on code size (about 400 bytes), |
||
201 | then do not turn this option on. |
||
202 | |||
203 | config BUSYBOX_CONFIG_LOCALE_SUPPORT |
||
204 | bool "Enable locale support (system needs locale for this to work)" |
||
205 | default BUSYBOX_DEFAULT_LOCALE_SUPPORT |
||
206 | help |
||
207 | Enable this if your system has locale support and you would like |
||
208 | busybox to support locale settings. |
||
209 | |||
210 | config BUSYBOX_CONFIG_UNICODE_SUPPORT |
||
211 | bool "Support Unicode" |
||
212 | default BUSYBOX_DEFAULT_UNICODE_SUPPORT |
||
213 | help |
||
214 | This makes various applets aware that one byte is not |
||
215 | one character on screen. |
||
216 | |||
217 | Busybox aims to eventually work correctly with Unicode displays. |
||
218 | Any older encodings are not guaranteed to work. |
||
219 | Probably by the time when busybox will be fully Unicode-clean, |
||
220 | other encodings will be mainly of historic interest. |
||
221 | |||
222 | config BUSYBOX_CONFIG_UNICODE_USING_LOCALE |
||
223 | bool "Use libc routines for Unicode (else uses internal ones)" |
||
224 | default BUSYBOX_DEFAULT_UNICODE_USING_LOCALE |
||
225 | depends on BUSYBOX_CONFIG_UNICODE_SUPPORT && BUSYBOX_CONFIG_LOCALE_SUPPORT |
||
226 | help |
||
227 | With this option on, Unicode support is implemented using libc |
||
228 | routines. Otherwise, internal implementation is used. |
||
229 | Internal implementation is smaller. |
||
230 | |||
231 | config BUSYBOX_CONFIG_FEATURE_CHECK_UNICODE_IN_ENV |
||
232 | bool "Check $LC_ALL, $LC_CTYPE and $LANG environment variables" |
||
233 | default BUSYBOX_DEFAULT_FEATURE_CHECK_UNICODE_IN_ENV |
||
234 | depends on BUSYBOX_CONFIG_UNICODE_SUPPORT && !BUSYBOX_CONFIG_UNICODE_USING_LOCALE |
||
235 | help |
||
236 | With this option on, Unicode support is activated |
||
237 | only if locale-related variables have the value of the form |
||
238 | "xxxx.utf8" |
||
239 | |||
240 | Otherwise, Unicode support will be always enabled and active. |
||
241 | |||
242 | config BUSYBOX_CONFIG_SUBST_WCHAR |
||
243 | int "Character code to substitute unprintable characters with" |
||
244 | depends on BUSYBOX_CONFIG_UNICODE_SUPPORT |
||
245 | default BUSYBOX_DEFAULT_SUBST_WCHAR |
||
246 | help |
||
247 | Typical values are 63 for '?' (works with any output device), |
||
248 | 30 for ASCII substitute control code, |
||
249 | 65533 (0xfffd) for Unicode replacement character. |
||
250 | |||
251 | config BUSYBOX_CONFIG_LAST_SUPPORTED_WCHAR |
||
252 | int "Range of supported Unicode characters" |
||
253 | depends on BUSYBOX_CONFIG_UNICODE_SUPPORT |
||
254 | default BUSYBOX_DEFAULT_LAST_SUPPORTED_WCHAR |
||
255 | help |
||
256 | Any character with Unicode value bigger than this is assumed |
||
257 | to be non-printable on output device. Many applets replace |
||
258 | such characters with substitution character. |
||
259 | |||
260 | The idea is that many valid printable Unicode chars |
||
261 | nevertheless are not displayed correctly. Think about |
||
262 | combining charachers, double-wide hieroglyphs, obscure |
||
263 | characters in dozens of ancient scripts... |
||
264 | Many terminals, terminal emulators, xterms etc will fail |
||
265 | to handle them correctly. Choose the smallest value |
||
266 | which suits your needs. |
||
267 | |||
268 | Typical values are: |
||
269 | 126 - ASCII only |
||
270 | 767 (0x2ff) - there are no combining chars in [0..767] range |
||
271 | (the range includes Latin 1, Latin Ext. A and B), |
||
272 | code is ~700 bytes smaller for this case. |
||
273 | 4351 (0x10ff) - there are no double-wide chars in [0..4351] range, |
||
274 | code is ~300 bytes smaller for this case. |
||
275 | 12799 (0x31ff) - nearly all non-ideographic characters are |
||
276 | available in [0..12799] range, including |
||
277 | East Asian scripts like katakana, hiragana, hangul, |
||
278 | bopomofo... |
||
279 | |||
280 | |||
281 | config BUSYBOX_CONFIG_UNICODE_COMBINING_WCHARS |
||
282 | bool "Allow zero-width Unicode characters on output" |
||
283 | default BUSYBOX_DEFAULT_UNICODE_COMBINING_WCHARS |
||
284 | depends on BUSYBOX_CONFIG_UNICODE_SUPPORT |
||
285 | help |
||
286 | With this option off, any Unicode char with width of 0 |
||
287 | is substituted on output. |
||
288 | |||
289 | config BUSYBOX_CONFIG_UNICODE_WIDE_WCHARS |
||
290 | bool "Allow wide Unicode characters on output" |
||
291 | default BUSYBOX_DEFAULT_UNICODE_WIDE_WCHARS |
||
292 | depends on BUSYBOX_CONFIG_UNICODE_SUPPORT |
||
293 | help |
||
294 | With this option off, any Unicode char with width > 1 |
||
295 | is substituted on output. |
||
296 | |||
297 | config BUSYBOX_CONFIG_UNICODE_BIDI_SUPPORT |
||
298 | bool "Bidirectional character-aware line input" |
||
299 | default BUSYBOX_DEFAULT_UNICODE_BIDI_SUPPORT |
||
300 | depends on BUSYBOX_CONFIG_UNICODE_SUPPORT && !BUSYBOX_CONFIG_UNICODE_USING_LOCALE |
||
301 | help |
||
302 | With this option on, right-to-left Unicode characters |
||
303 | are treated differently on input (e.g. cursor movement). |
||
304 | |||
305 | config BUSYBOX_CONFIG_UNICODE_NEUTRAL_TABLE |
||
306 | bool "In bidi input, support non-ASCII neutral chars too" |
||
307 | default BUSYBOX_DEFAULT_UNICODE_NEUTRAL_TABLE |
||
308 | depends on BUSYBOX_CONFIG_UNICODE_BIDI_SUPPORT |
||
309 | help |
||
310 | In most cases it's enough to treat only ASCII non-letters |
||
311 | (i.e. punctuation, numbers and space) as characters |
||
312 | with neutral directionality. |
||
313 | With this option on, more extensive (and bigger) table |
||
314 | of neutral chars will be used. |
||
315 | |||
316 | config BUSYBOX_CONFIG_UNICODE_PRESERVE_BROKEN |
||
317 | bool "Make it possible to enter sequences of chars which are not Unicode" |
||
318 | default BUSYBOX_DEFAULT_UNICODE_PRESERVE_BROKEN |
||
319 | depends on BUSYBOX_CONFIG_UNICODE_SUPPORT |
||
320 | help |
||
321 | With this option on, on line-editing input (such as used by shells) |
||
322 | invalid UTF-8 bytes are not substituted with the selected |
||
323 | substitution character. |
||
324 | For example, this means that entering 'l', 's', ' ', 0xff, [Enter] |
||
325 | at shell prompt will list file named 0xff (single char name |
||
326 | with char value 255), not file named '?'. |
||
327 | |||
328 | config BUSYBOX_CONFIG_FEATURE_NON_POSIX_CP |
||
329 | bool "Non-POSIX, but safer, copying to special nodes" |
||
330 | default BUSYBOX_DEFAULT_FEATURE_NON_POSIX_CP |
||
331 | help |
||
332 | With this option, "cp file symlink" will delete symlink |
||
333 | and create a regular file. This does not conform to POSIX, |
||
334 | but prevents a symlink attack. |
||
335 | Similarly, "cp file device" will not send file's data |
||
336 | to the device. (To do that, use "cat file >device") |
||
337 | |||
338 | config BUSYBOX_CONFIG_FEATURE_VERBOSE_CP_MESSAGE |
||
339 | bool "Give more precise messages when copy fails (cp, mv etc)" |
||
340 | default BUSYBOX_DEFAULT_FEATURE_VERBOSE_CP_MESSAGE |
||
341 | help |
||
342 | Error messages with this feature enabled: |
||
343 | $ cp file /does_not_exist/file |
||
344 | cp: cannot create '/does_not_exist/file': Path does not exist |
||
345 | $ cp file /vmlinuz/file |
||
346 | cp: cannot stat '/vmlinuz/file': Path has non-directory component |
||
347 | If this feature is not enabled, they will be, respectively: |
||
348 | cp: cannot create '/does_not_exist/file': No such file or directory |
||
349 | cp: cannot stat '/vmlinuz/file': Not a directory |
||
350 | This will cost you ~60 bytes. |
||
351 | |||
352 | config BUSYBOX_CONFIG_FEATURE_USE_SENDFILE |
||
353 | bool "Use sendfile system call" |
||
354 | default BUSYBOX_DEFAULT_FEATURE_USE_SENDFILE |
||
355 | select BUSYBOX_CONFIG_PLATFORM_LINUX |
||
356 | help |
||
357 | When enabled, busybox will use the kernel sendfile() function |
||
358 | instead of read/write loops to copy data between file descriptors |
||
359 | (for example, cp command does this a lot). |
||
360 | If sendfile() doesn't work, copying code falls back to read/write |
||
361 | loop. sendfile() was originally implemented for faster I/O |
||
362 | from files to sockets, but since Linux 2.6.33 it was extended |
||
363 | to work for many more file types. |
||
364 | |||
365 | config BUSYBOX_CONFIG_FEATURE_COPYBUF_KB |
||
366 | int "Copy buffer size, in kilobytes" |
||
367 | range 1 1024 |
||
368 | default BUSYBOX_DEFAULT_FEATURE_COPYBUF_KB |
||
369 | help |
||
370 | Size of buffer used by cp, mv, install, wget etc. |
||
371 | Buffers which are 4 kb or less will be allocated on stack. |
||
372 | Bigger buffers will be allocated with mmap, with fallback to 4 kb |
||
373 | stack buffer if mmap fails. |
||
374 | |||
375 | config BUSYBOX_CONFIG_FEATURE_SKIP_ROOTFS |
||
376 | bool "Skip rootfs in mount table" |
||
377 | default BUSYBOX_DEFAULT_FEATURE_SKIP_ROOTFS |
||
378 | help |
||
379 | Ignore rootfs entry in mount table. |
||
380 | |||
381 | In Linux, kernel has a special filesystem, rootfs, which is initially |
||
382 | mounted on /. It contains initramfs data, if kernel is configured |
||
383 | to have one. Usually, another file system is mounted over / early |
||
384 | in boot process, and therefore most tools which manipulate |
||
385 | mount table, such as df, will skip rootfs entry. |
||
386 | |||
387 | However, some systems do not mount anything on /. |
||
388 | If you need to configure busybox for one of these systems, |
||
389 | you may find it useful to turn this option off to make df show |
||
390 | initramfs statistics. |
||
391 | |||
392 | Otherwise, choose Y. |
||
393 | |||
394 | config BUSYBOX_CONFIG_MONOTONIC_SYSCALL |
||
395 | bool "Use clock_gettime(CLOCK_MONOTONIC) syscall" |
||
396 | default BUSYBOX_DEFAULT_MONOTONIC_SYSCALL |
||
397 | select BUSYBOX_CONFIG_PLATFORM_LINUX |
||
398 | help |
||
399 | Use clock_gettime(CLOCK_MONOTONIC) syscall for measuring |
||
400 | time intervals (time, ping, traceroute etc need this). |
||
401 | Probably requires Linux 2.6+. If not selected, gettimeofday |
||
402 | will be used instead (which gives wrong results if date/time |
||
403 | is reset). |
||
404 | |||
405 | config BUSYBOX_CONFIG_IOCTL_HEX2STR_ERROR |
||
406 | bool "Use ioctl names rather than hex values in error messages" |
||
407 | default BUSYBOX_DEFAULT_IOCTL_HEX2STR_ERROR |
||
408 | help |
||
409 | Use ioctl names rather than hex values in error messages |
||
410 | (e.g. VT_DISALLOCATE rather than 0x5608). If disabled this |
||
411 | saves about 1400 bytes. |
||
412 | |||
413 | config BUSYBOX_CONFIG_FEATURE_HWIB |
||
414 | bool "Support infiniband HW" |
||
415 | default BUSYBOX_DEFAULT_FEATURE_HWIB |
||
416 | help |
||
417 | Support for printing infiniband addresses in |
||
418 | network applets. |
||
419 | |||
420 | endmenu |