OpenWrt – Diff between revs 2 and 3
?pathlinks?
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 |