OpenWrt – Diff between revs 2 and 3

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