diff options
Diffstat (limited to 'Config.in')
-rw-r--r-- | Config.in | 618 |
1 files changed, 309 insertions, 309 deletions
@@ -15,314 +15,314 @@ config DESKTOP | |||
15 | bool "Enable compatibility for full-blown desktop systems" | 15 | bool "Enable compatibility for full-blown desktop systems" |
16 | default y | 16 | default y |
17 | help | 17 | help |
18 | Enable applet options and features which are not essential. | 18 | Enable applet options and features which are not essential. |
19 | Many applet options have dedicated config options to (de)select them | 19 | Many applet options have dedicated config options to (de)select them |
20 | under that applet; this options enables those options which have no | 20 | under that applet; this options enables those options which have no |
21 | individual config item for them. | 21 | individual config item for them. |
22 | 22 | ||
23 | Select this if you plan to use busybox on full-blown desktop machine | 23 | Select this if you plan to use busybox on full-blown desktop machine |
24 | with common Linux distro, which needs higher level of command-line | 24 | with common Linux distro, which needs higher level of command-line |
25 | compatibility. | 25 | compatibility. |
26 | 26 | ||
27 | If you are preparing your build to be used on an embedded box | 27 | If you are preparing your build to be used on an embedded box |
28 | where you have tighter control over the entire set of userspace | 28 | where you have tighter control over the entire set of userspace |
29 | tools, you can unselect this option for smaller code size. | 29 | tools, you can unselect this option for smaller code size. |
30 | 30 | ||
31 | config EXTRA_COMPAT | 31 | config EXTRA_COMPAT |
32 | bool "Provide compatible behavior for rare corner cases (bigger code)" | 32 | bool "Provide compatible behavior for rare corner cases (bigger code)" |
33 | default n | 33 | default n |
34 | help | 34 | help |
35 | This option makes grep, sed etc handle rare corner cases | 35 | This option makes grep, sed etc handle rare corner cases |
36 | (embedded NUL bytes and such). This makes code bigger and uses | 36 | (embedded NUL bytes and such). This makes code bigger and uses |
37 | some GNU extensions in libc. You probably only need this option | 37 | some GNU extensions in libc. You probably only need this option |
38 | if you plan to run busybox on desktop. | 38 | if you plan to run busybox on desktop. |
39 | 39 | ||
40 | config INCLUDE_SUSv2 | 40 | config INCLUDE_SUSv2 |
41 | bool "Enable obsolete features removed before SUSv3" | 41 | bool "Enable obsolete features removed before SUSv3" |
42 | default y | 42 | default y |
43 | help | 43 | help |
44 | This option will enable backwards compatibility with SuSv2, | 44 | This option will enable backwards compatibility with SuSv2, |
45 | specifically, old-style numeric options ('command -1 <file>') | 45 | specifically, old-style numeric options ('command -1 <file>') |
46 | will be supported in head, tail, and fold. (Note: should | 46 | will be supported in head, tail, and fold. (Note: should |
47 | affect renice too.) | 47 | affect renice too.) |
48 | 48 | ||
49 | config LONG_OPTS | 49 | config LONG_OPTS |
50 | bool "Support --long-options" | 50 | bool "Support --long-options" |
51 | default y | 51 | default y |
52 | help | 52 | help |
53 | Enable this if you want busybox applets to use the gnu --long-option | 53 | Enable this if you want busybox applets to use the gnu --long-option |
54 | style, in addition to single character -a -b -c style options. | 54 | style, in addition to single character -a -b -c style options. |
55 | 55 | ||
56 | config SHOW_USAGE | 56 | config SHOW_USAGE |
57 | bool "Show applet usage messages" | 57 | bool "Show applet usage messages" |
58 | default y | 58 | default y |
59 | help | 59 | help |
60 | Enabling this option, BusyBox applets will show terse help messages | 60 | Enabling this option, BusyBox applets will show terse help messages |
61 | when invoked with wrong arguments. | 61 | when invoked with wrong arguments. |
62 | If you do not want to show any (helpful) usage message when | 62 | If you do not want to show any (helpful) usage message when |
63 | issuing wrong command syntax, you can say 'N' here, | 63 | issuing wrong command syntax, you can say 'N' here, |
64 | saving approximately 7k. | 64 | saving approximately 7k. |
65 | 65 | ||
66 | config FEATURE_VERBOSE_USAGE | 66 | config FEATURE_VERBOSE_USAGE |
67 | bool "Show verbose applet usage messages" | 67 | bool "Show verbose applet usage messages" |
68 | default y | 68 | default y |
69 | depends on SHOW_USAGE | 69 | depends on SHOW_USAGE |
70 | help | 70 | help |
71 | All BusyBox applets will show verbose help messages when | 71 | All BusyBox applets will show verbose help messages when |
72 | busybox is invoked with --help. This will add a lot of text to the | 72 | busybox is invoked with --help. This will add a lot of text to the |
73 | busybox binary. In the default configuration, this will add about | 73 | busybox binary. In the default configuration, this will add about |
74 | 13k, but it can add much more depending on your configuration. | 74 | 13k, but it can add much more depending on your configuration. |
75 | 75 | ||
76 | config FEATURE_COMPRESS_USAGE | 76 | config FEATURE_COMPRESS_USAGE |
77 | bool "Store applet usage messages in compressed form" | 77 | bool "Store applet usage messages in compressed form" |
78 | default y | 78 | default y |
79 | depends on SHOW_USAGE | 79 | depends on SHOW_USAGE |
80 | help | 80 | help |
81 | Store usage messages in .bz compressed form, uncompress them | 81 | Store usage messages in .bz compressed form, uncompress them |
82 | on-the-fly when <applet> --help is called. | 82 | on-the-fly when <applet> --help is called. |
83 | 83 | ||
84 | If you have a really tiny busybox with few applets enabled (and | 84 | If you have a really tiny busybox with few applets enabled (and |
85 | bunzip2 isn't one of them), the overhead of the decompressor might | 85 | bunzip2 isn't one of them), the overhead of the decompressor might |
86 | be noticeable. Also, if you run executables directly from ROM | 86 | be noticeable. Also, if you run executables directly from ROM |
87 | and have very little memory, this might not be a win. Otherwise, | 87 | and have very little memory, this might not be a win. Otherwise, |
88 | you probably want this. | 88 | you probably want this. |
89 | 89 | ||
90 | config LFS | 90 | config LFS |
91 | bool "Support files > 2 GB" | 91 | bool "Support files > 2 GB" |
92 | default y | 92 | default y |
93 | help | 93 | help |
94 | If you want to build BusyBox with large file support, then enable | 94 | If you want to build BusyBox with large file support, then enable |
95 | this option. This will have no effect if your kernel or your C | 95 | this option. This will have no effect if your kernel or your C |
96 | library lacks large file support for large files. Some of the | 96 | library lacks large file support for large files. Some of the |
97 | programs that can benefit from large file support include dd, gzip, | 97 | programs that can benefit from large file support include dd, gzip, |
98 | cp, mount, tar, and many others. If you want to access files larger | 98 | cp, mount, tar, and many others. If you want to access files larger |
99 | than 2 Gigabytes, enable this option. | 99 | than 2 Gigabytes, enable this option. |
100 | 100 | ||
101 | config PAM | 101 | config PAM |
102 | bool "Support PAM (Pluggable Authentication Modules)" | 102 | bool "Support PAM (Pluggable Authentication Modules)" |
103 | default n | 103 | default n |
104 | help | 104 | help |
105 | Use PAM in some busybox applets (currently login and httpd) instead | 105 | Use PAM in some busybox applets (currently login and httpd) instead |
106 | of direct access to password database. | 106 | of direct access to password database. |
107 | 107 | ||
108 | config FEATURE_DEVPTS | 108 | config FEATURE_DEVPTS |
109 | bool "Use the devpts filesystem for Unix98 PTYs" | 109 | bool "Use the devpts filesystem for Unix98 PTYs" |
110 | default y | 110 | default y |
111 | help | 111 | help |
112 | Enable if you want BusyBox to use Unix98 PTY support. If enabled, | 112 | Enable if you want BusyBox to use Unix98 PTY support. If enabled, |
113 | busybox will use /dev/ptmx for the master side of the pseudoterminal | 113 | busybox will use /dev/ptmx for the master side of the pseudoterminal |
114 | and /dev/pts/<number> for the slave side. Otherwise, BSD style | 114 | and /dev/pts/<number> for the slave side. Otherwise, BSD style |
115 | /dev/ttyp<number> will be used. To use this option, you should have | 115 | /dev/ttyp<number> will be used. To use this option, you should have |
116 | devpts mounted. | 116 | devpts mounted. |
117 | 117 | ||
118 | config FEATURE_UTMP | 118 | config FEATURE_UTMP |
119 | bool "Support utmp file" | 119 | bool "Support utmp file" |
120 | default y | 120 | default y |
121 | help | 121 | help |
122 | The file /var/run/utmp is used to track who is currently logged in. | 122 | The file /var/run/utmp is used to track who is currently logged in. |
123 | With this option on, certain applets (getty, login, telnetd etc) | 123 | With this option on, certain applets (getty, login, telnetd etc) |
124 | will create and delete entries there. | 124 | will create and delete entries there. |
125 | "who" applet requires this option. | 125 | "who" applet requires this option. |
126 | 126 | ||
127 | config FEATURE_WTMP | 127 | config FEATURE_WTMP |
128 | bool "Support wtmp file" | 128 | bool "Support wtmp file" |
129 | default y | 129 | default y |
130 | depends on FEATURE_UTMP | 130 | depends on FEATURE_UTMP |
131 | help | 131 | help |
132 | The file /var/run/wtmp is used to track when users have logged into | 132 | The file /var/run/wtmp is used to track when users have logged into |
133 | and logged out of the system. | 133 | and logged out of the system. |
134 | With this option on, certain applets (getty, login, telnetd etc) | 134 | With this option on, certain applets (getty, login, telnetd etc) |
135 | will append new entries there. | 135 | will append new entries there. |
136 | "last" applet requires this option. | 136 | "last" applet requires this option. |
137 | 137 | ||
138 | config FEATURE_PIDFILE | 138 | config FEATURE_PIDFILE |
139 | bool "Support writing pidfiles" | 139 | bool "Support writing pidfiles" |
140 | default y | 140 | default y |
141 | help | 141 | help |
142 | This option makes some applets (e.g. crond, syslogd, inetd) write | 142 | This option makes some applets (e.g. crond, syslogd, inetd) write |
143 | a pidfile at the configured PID_FILE_PATH. It has no effect | 143 | a pidfile at the configured PID_FILE_PATH. It has no effect |
144 | on applets which require pidfiles to run. | 144 | on applets which require pidfiles to run. |
145 | 145 | ||
146 | config PID_FILE_PATH | 146 | config PID_FILE_PATH |
147 | string "Directory for pidfiles" | 147 | string "Directory for pidfiles" |
148 | default "/var/run" | 148 | default "/var/run" |
149 | depends on FEATURE_PIDFILE | 149 | depends on FEATURE_PIDFILE |
150 | help | 150 | help |
151 | This is the default path where pidfiles are created. Applets which | 151 | This is the default path where pidfiles are created. Applets which |
152 | allow you to set the pidfile path on the command line will override | 152 | allow you to set the pidfile path on the command line will override |
153 | this value. The option has no effect on applets that require you to | 153 | this value. The option has no effect on applets that require you to |
154 | specify a pidfile path. | 154 | specify a pidfile path. |
155 | 155 | ||
156 | config BUSYBOX | 156 | config BUSYBOX |
157 | bool "Include busybox applet" | 157 | bool "Include busybox applet" |
158 | default y | 158 | default y |
159 | help | 159 | help |
160 | The busybox applet provides general help regarding busybox and | 160 | The busybox applet provides general help regarding busybox and |
161 | allows the included applets to be listed. It's also required | 161 | allows the included applets to be listed. It's also required |
162 | if applet links are to be installed at runtime. If you unselect | 162 | if applet links are to be installed at runtime. If you unselect |
163 | this option, running busybox without any arguments will give | 163 | this option, running busybox without any arguments will give |
164 | just a cryptic error message: | 164 | just a cryptic error message: |
165 | 165 | ||
166 | $ busybox | 166 | $ busybox |
167 | busybox: applet not found | 167 | busybox: applet not found |
168 | 168 | ||
169 | Running "busybox APPLET [ARGS...]" will still work, of course. | 169 | Running "busybox APPLET [ARGS...]" will still work, of course. |
170 | 170 | ||
171 | config FEATURE_INSTALLER | 171 | config FEATURE_INSTALLER |
172 | bool "Support --install [-s] to install applet links at runtime" | 172 | bool "Support --install [-s] to install applet links at runtime" |
173 | default y | 173 | default y |
174 | depends on BUSYBOX | 174 | depends on BUSYBOX |
175 | help | 175 | help |
176 | Enable 'busybox --install [-s]' support. This will allow you to use | 176 | Enable 'busybox --install [-s]' support. This will allow you to use |
177 | busybox at runtime to create hard links or symlinks for all the | 177 | busybox at runtime to create hard links or symlinks for all the |
178 | applets that are compiled into busybox. | 178 | applets that are compiled into busybox. |
179 | 179 | ||
180 | config INSTALL_NO_USR | 180 | config INSTALL_NO_USR |
181 | bool "Don't use /usr" | 181 | bool "Don't use /usr" |
182 | default n | 182 | default n |
183 | help | 183 | help |
184 | Disable use of /usr. busybox --install and "make install" | 184 | Disable use of /usr. busybox --install and "make install" |
185 | will install applets only to /bin and /sbin, | 185 | will install applets only to /bin and /sbin, |
186 | never to /usr/bin or /usr/sbin. | 186 | never to /usr/bin or /usr/sbin. |
187 | 187 | ||
188 | config FEATURE_SUID | 188 | config FEATURE_SUID |
189 | bool "Drop SUID state for most applets" | 189 | bool "Drop SUID state for most applets" |
190 | default y | 190 | default y |
191 | help | 191 | help |
192 | With this option you can install the busybox binary belonging | 192 | With this option you can install the busybox binary belonging |
193 | to root with the suid bit set, enabling some applets to perform | 193 | to root with the suid bit set, enabling some applets to perform |
194 | root-level operations even when run by ordinary users | 194 | root-level operations even when run by ordinary users |
195 | (for example, mounting of user mounts in fstab needs this). | 195 | (for example, mounting of user mounts in fstab needs this). |
196 | 196 | ||
197 | With this option enabled, Busybox drops privileges for applets | 197 | With this option enabled, Busybox drops privileges for applets |
198 | that don't need root access, before entering their main() function. | 198 | that don't need root access, before entering their main() function. |
199 | 199 | ||
200 | If you are really paranoid and don't want even initial busybox code | 200 | If you are really paranoid and don't want even initial busybox code |
201 | to run under root for evey applet, build two busybox binaries with | 201 | to run under root for evey applet, build two busybox binaries with |
202 | different applets in them (and the appropriate symlinks pointing | 202 | different applets in them (and the appropriate symlinks pointing |
203 | to each binary), and only set the suid bit on the one that needs it. | 203 | to each binary), and only set the suid bit on the one that needs it. |
204 | 204 | ||
205 | Some applets which require root rights (need suid bit on the binary | 205 | Some applets which require root rights (need suid bit on the binary |
206 | or to be run by root) and will refuse to execute otherwise: | 206 | or to be run by root) and will refuse to execute otherwise: |
207 | crontab, login, passwd, su, vlock, wall. | 207 | crontab, login, passwd, su, vlock, wall. |
208 | 208 | ||
209 | The applets which will use root rights if they have them | 209 | The applets which will use root rights if they have them |
210 | (via suid bit, or because run by root), but would try to work | 210 | (via suid bit, or because run by root), but would try to work |
211 | without root right nevertheless: | 211 | without root right nevertheless: |
212 | findfs, ping[6], traceroute[6], mount. | 212 | findfs, ping[6], traceroute[6], mount. |
213 | 213 | ||
214 | Note that if you DO NOT select this option, but DO make busybox | 214 | Note that if you DO NOT select this option, but DO make busybox |
215 | suid root, ALL applets will run under root, which is a huge | 215 | suid root, ALL applets will run under root, which is a huge |
216 | security hole (think "cp /some/file /etc/passwd"). | 216 | security hole (think "cp /some/file /etc/passwd"). |
217 | 217 | ||
218 | config FEATURE_SUID_CONFIG | 218 | config FEATURE_SUID_CONFIG |
219 | bool "Enable SUID configuration via /etc/busybox.conf" | 219 | bool "Enable SUID configuration via /etc/busybox.conf" |
220 | default y | 220 | default y |
221 | depends on FEATURE_SUID | 221 | depends on FEATURE_SUID |
222 | help | 222 | help |
223 | Allow the SUID/SGID state of an applet to be determined at runtime | 223 | Allow the SUID/SGID state of an applet to be determined at runtime |
224 | by checking /etc/busybox.conf. (This is sort of a poor man's sudo.) | 224 | by checking /etc/busybox.conf. (This is sort of a poor man's sudo.) |
225 | The format of this file is as follows: | 225 | The format of this file is as follows: |
226 | 226 | ||
227 | APPLET = [Ssx-][Ssx-][x-] [USER.GROUP] | 227 | APPLET = [Ssx-][Ssx-][x-] [USER.GROUP] |
228 | 228 | ||
229 | s: USER or GROUP is allowed to execute APPLET. | 229 | s: USER or GROUP is allowed to execute APPLET. |
230 | APPLET will run under USER or GROUP | 230 | APPLET will run under USER or GROUP |
231 | (reagardless of who's running it). | 231 | (regardless of who's running it). |
232 | S: USER or GROUP is NOT allowed to execute APPLET. | 232 | S: USER or GROUP is NOT allowed to execute APPLET. |
233 | APPLET will run under USER or GROUP. | 233 | APPLET will run under USER or GROUP. |
234 | This option is not very sensical. | 234 | This option is not very sensical. |
235 | x: USER/GROUP/others are allowed to execute APPLET. | 235 | x: USER/GROUP/others are allowed to execute APPLET. |
236 | No UID/GID change will be done when it is run. | 236 | No UID/GID change will be done when it is run. |
237 | -: USER/GROUP/others are not allowed to execute APPLET. | 237 | -: USER/GROUP/others are not allowed to execute APPLET. |
238 | 238 | ||
239 | An example might help: | 239 | An example might help: |
240 | 240 | ||
241 | [SUID] | 241 | |[SUID] |
242 | su = ssx root.0 # applet su can be run by anyone and runs with | 242 | |su = ssx root.0 # applet su can be run by anyone and runs with |
243 | # euid=0,egid=0 | 243 | | # euid=0,egid=0 |
244 | su = ssx # exactly the same | 244 | |su = ssx # exactly the same |
245 | 245 | | | |
246 | mount = sx- root.disk # applet mount can be run by root and members | 246 | |mount = sx- root.disk # applet mount can be run by root and members |
247 | # of group disk (but not anyone else) | 247 | | # of group disk (but not anyone else) |
248 | # and runs with euid=0 (egid is not changed) | 248 | | # and runs with euid=0 (egid is not changed) |
249 | 249 | | | |
250 | cp = --- # disable applet cp for everyone | 250 | |cp = --- # disable applet cp for everyone |
251 | 251 | ||
252 | The file has to be owned by user root, group root and has to be | 252 | The file has to be owned by user root, group root and has to be |
253 | writeable only by root: | 253 | writeable only by root: |
254 | (chown 0.0 /etc/busybox.conf; chmod 600 /etc/busybox.conf) | 254 | (chown 0.0 /etc/busybox.conf; chmod 600 /etc/busybox.conf) |
255 | The busybox executable has to be owned by user root, group | 255 | The busybox executable has to be owned by user root, group |
256 | root and has to be setuid root for this to work: | 256 | root and has to be setuid root for this to work: |
257 | (chown 0.0 /bin/busybox; chmod 4755 /bin/busybox) | 257 | (chown 0.0 /bin/busybox; chmod 4755 /bin/busybox) |
258 | 258 | ||
259 | Robert 'sandman' Griebl has more information here: | 259 | Robert 'sandman' Griebl has more information here: |
260 | <url: http://www.softforge.de/bb/suid.html >. | 260 | <url: http://www.softforge.de/bb/suid.html >. |
261 | 261 | ||
262 | config FEATURE_SUID_CONFIG_QUIET | 262 | config FEATURE_SUID_CONFIG_QUIET |
263 | bool "Suppress warning message if /etc/busybox.conf is not readable" | 263 | bool "Suppress warning message if /etc/busybox.conf is not readable" |
264 | default y | 264 | default y |
265 | depends on FEATURE_SUID_CONFIG | 265 | depends on FEATURE_SUID_CONFIG |
266 | help | 266 | help |
267 | /etc/busybox.conf should be readable by the user needing the SUID, | 267 | /etc/busybox.conf should be readable by the user needing the SUID, |
268 | check this option to avoid users to be notified about missing | 268 | check this option to avoid users to be notified about missing |
269 | permissions. | 269 | permissions. |
270 | 270 | ||
271 | config FEATURE_PREFER_APPLETS | 271 | config FEATURE_PREFER_APPLETS |
272 | bool "exec prefers applets" | 272 | bool "exec prefers applets" |
273 | default n | 273 | default n |
274 | help | 274 | help |
275 | This is an experimental option which directs applets about to | 275 | This is an experimental option which directs applets about to |
276 | call 'exec' to try and find an applicable busybox applet before | 276 | call 'exec' to try and find an applicable busybox applet before |
277 | searching the PATH. This is typically done by exec'ing | 277 | searching the PATH. This is typically done by exec'ing |
278 | /proc/self/exe. | 278 | /proc/self/exe. |
279 | 279 | ||
280 | This may affect shell, find -exec, xargs and similar applets. | 280 | This may affect shell, find -exec, xargs and similar applets. |
281 | They will use applets even if /bin/APPLET -> busybox link | 281 | They will use applets even if /bin/APPLET -> busybox link |
282 | is missing (or is not a link to busybox). However, this causes | 282 | is missing (or is not a link to busybox). However, this causes |
283 | problems in chroot jails without mounted /proc and with ps/top | 283 | problems in chroot jails without mounted /proc and with ps/top |
284 | (command name can be shown as 'exe' for applets started this way). | 284 | (command name can be shown as 'exe' for applets started this way). |
285 | 285 | ||
286 | config BUSYBOX_EXEC_PATH | 286 | config BUSYBOX_EXEC_PATH |
287 | string "Path to BusyBox executable" | 287 | string "Path to BusyBox executable" |
288 | default "/proc/self/exe" | 288 | default "/proc/self/exe" |
289 | help | 289 | help |
290 | When Busybox applets need to run other busybox applets, BusyBox | 290 | When Busybox applets need to run other busybox applets, BusyBox |
291 | sometimes needs to exec() itself. When the /proc filesystem is | 291 | sometimes needs to exec() itself. When the /proc filesystem is |
292 | mounted, /proc/self/exe always points to the currently running | 292 | mounted, /proc/self/exe always points to the currently running |
293 | executable. If you haven't got /proc, set this to wherever you | 293 | executable. If you haven't got /proc, set this to wherever you |
294 | want to run BusyBox from. | 294 | want to run BusyBox from. |
295 | 295 | ||
296 | config SELINUX | 296 | config SELINUX |
297 | bool "Support NSA Security Enhanced Linux" | 297 | bool "Support NSA Security Enhanced Linux" |
298 | default n | 298 | default n |
299 | select PLATFORM_LINUX | 299 | select PLATFORM_LINUX |
300 | help | 300 | help |
301 | Enable support for SELinux in applets ls, ps, and id. Also provide | 301 | Enable support for SELinux in applets ls, ps, and id. Also provide |
302 | the option of compiling in SELinux applets. | 302 | the option of compiling in SELinux applets. |
303 | 303 | ||
304 | If you do not have a complete SELinux userland installed, this stuff | 304 | If you do not have a complete SELinux userland installed, this stuff |
305 | will not compile. Specifially, libselinux 1.28 or better is | 305 | will not compile. Specifially, libselinux 1.28 or better is |
306 | directly required by busybox. If the installation is located in a | 306 | directly required by busybox. If the installation is located in a |
307 | non-standard directory, provide it by invoking make as follows: | 307 | non-standard directory, provide it by invoking make as follows: |
308 | 308 | ||
309 | CFLAGS=-I<libselinux-include-path> \ | 309 | CFLAGS=-I<libselinux-include-path> \ |
310 | LDFLAGS=-L<libselinux-lib-path> \ | 310 | LDFLAGS=-L<libselinux-lib-path> \ |
311 | make | 311 | make |
312 | 312 | ||
313 | Most people will leave this set to 'N'. | 313 | Most people will leave this set to 'N'. |
314 | 314 | ||
315 | config FEATURE_CLEAN_UP | 315 | config FEATURE_CLEAN_UP |
316 | bool "Clean up all memory before exiting (usually not needed)" | 316 | bool "Clean up all memory before exiting (usually not needed)" |
317 | default n | 317 | default n |
318 | help | 318 | help |
319 | As a size optimization, busybox normally exits without explicitly | 319 | As a size optimization, busybox normally exits without explicitly |
320 | freeing dynamically allocated memory or closing files. This saves | 320 | freeing dynamically allocated memory or closing files. This saves |
321 | space since the OS will clean up for us, but it can confuse debuggers | 321 | space since the OS will clean up for us, but it can confuse debuggers |
322 | like valgrind, which report tons of memory and resource leaks. | 322 | like valgrind, which report tons of memory and resource leaks. |
323 | 323 | ||
324 | Don't enable this unless you have a really good reason to clean | 324 | Don't enable this unless you have a really good reason to clean |
325 | things up manually. | 325 | things up manually. |
326 | 326 | ||
327 | # These are auto-selected by other options | 327 | # These are auto-selected by other options |
328 | 328 | ||
@@ -330,26 +330,26 @@ config FEATURE_SYSLOG | |||
330 | bool #No description makes it a hidden option | 330 | bool #No description makes it a hidden option |
331 | default n | 331 | default n |
332 | #help | 332 | #help |
333 | # This option is auto-selected when you select any applet which may | 333 | #This option is auto-selected when you select any applet which may |
334 | # send its output to syslog. You do not need to select it manually. | 334 | #send its output to syslog. You do not need to select it manually. |
335 | 335 | ||
336 | config FEATURE_HAVE_RPC | 336 | config FEATURE_HAVE_RPC |
337 | bool #No description makes it a hidden option | 337 | bool #No description makes it a hidden option |
338 | default n | 338 | default n |
339 | #help | 339 | #help |
340 | # This is automatically selected if any of enabled applets need it. | 340 | #This is automatically selected if any of enabled applets need it. |
341 | # You do not need to select it manually. | 341 | #You do not need to select it manually. |
342 | 342 | ||
343 | config PLATFORM_LINUX | 343 | config PLATFORM_LINUX |
344 | bool #No description makes it a hidden option | 344 | bool #No description makes it a hidden option |
345 | default n | 345 | default n |
346 | #help | 346 | #help |
347 | # For the most part, busybox requires only POSIX compatibility | 347 | #For the most part, busybox requires only POSIX compatibility |
348 | # from the target system, but some applets and features use | 348 | #from the target system, but some applets and features use |
349 | # Linux-specific interfaces. | 349 | #Linux-specific interfaces. |
350 | # | 350 | # |
351 | # This is automatically selected if any applet or feature requires | 351 | #This is automatically selected if any applet or feature requires |
352 | # Linux-specific interfaces. You do not need to select it manually. | 352 | #Linux-specific interfaces. You do not need to select it manually. |
353 | 353 | ||
354 | comment 'Build Options' | 354 | comment 'Build Options' |
355 | 355 | ||
@@ -357,37 +357,37 @@ config STATIC | |||
357 | bool "Build BusyBox as a static binary (no shared libs)" | 357 | bool "Build BusyBox as a static binary (no shared libs)" |
358 | default n | 358 | default n |
359 | help | 359 | help |
360 | If you want to build a static BusyBox binary, which does not | 360 | If you want to build a static BusyBox binary, which does not |
361 | use or require any shared libraries, then enable this option. | 361 | use or require any shared libraries, then enable this option. |
362 | This can cause BusyBox to be considerably larger, so you should | 362 | This can cause BusyBox to be considerably larger, so you should |
363 | leave this option false unless you have a good reason (i.e. | 363 | leave this option false unless you have a good reason (i.e. |
364 | your target platform does not support shared libraries, or | 364 | your target platform does not support shared libraries, or |
365 | you are building an initrd which doesn't need anything but | 365 | you are building an initrd which doesn't need anything but |
366 | BusyBox, etc). | 366 | BusyBox, etc). |
367 | 367 | ||
368 | Most people will leave this set to 'N'. | 368 | Most people will leave this set to 'N'. |
369 | 369 | ||
370 | config PIE | 370 | config PIE |
371 | bool "Build BusyBox as a position independent executable" | 371 | bool "Build BusyBox as a position independent executable" |
372 | default n | 372 | default n |
373 | depends on !STATIC | 373 | depends on !STATIC |
374 | help | 374 | help |
375 | Hardened code option. PIE binaries are loaded at a different | 375 | Hardened code option. PIE binaries are loaded at a different |
376 | address at each invocation. This has some overhead, | 376 | address at each invocation. This has some overhead, |
377 | particularly on x86-32 which is short on registers. | 377 | particularly on x86-32 which is short on registers. |
378 | 378 | ||
379 | Most people will leave this set to 'N'. | 379 | Most people will leave this set to 'N'. |
380 | 380 | ||
381 | config NOMMU | 381 | config NOMMU |
382 | bool "Force NOMMU build" | 382 | bool "Force NOMMU build" |
383 | default n | 383 | default n |
384 | help | 384 | help |
385 | Busybox tries to detect whether architecture it is being | 385 | Busybox tries to detect whether architecture it is being |
386 | built against supports MMU or not. If this detection fails, | 386 | built against supports MMU or not. If this detection fails, |
387 | or if you want to build NOMMU version of busybox for testing, | 387 | or if you want to build NOMMU version of busybox for testing, |
388 | you may force NOMMU build here. | 388 | you may force NOMMU build here. |
389 | 389 | ||
390 | Most people will leave this set to 'N'. | 390 | Most people will leave this set to 'N'. |
391 | 391 | ||
392 | # PIE can be made to work with BUILD_LIBBUSYBOX, but currently | 392 | # PIE can be made to work with BUILD_LIBBUSYBOX, but currently |
393 | # build system does not support that | 393 | # build system does not support that |
@@ -396,128 +396,128 @@ config BUILD_LIBBUSYBOX | |||
396 | default n | 396 | default n |
397 | depends on !FEATURE_PREFER_APPLETS && !PIE && !STATIC | 397 | depends on !FEATURE_PREFER_APPLETS && !PIE && !STATIC |
398 | help | 398 | help |
399 | Build a shared library libbusybox.so.N.N.N which contains all | 399 | Build a shared library libbusybox.so.N.N.N which contains all |
400 | busybox code. | 400 | busybox code. |
401 | 401 | ||
402 | This feature allows every applet to be built as a really tiny | 402 | This feature allows every applet to be built as a really tiny |
403 | separate executable linked against the library: | 403 | separate executable linked against the library: |
404 | $ size 0_lib/l* | 404 | |$ size 0_lib/l* |
405 | text data bss dec hex filename | 405 | | text data bss dec hex filename |
406 | 939 212 28 1179 49b 0_lib/last | 406 | | 939 212 28 1179 49b 0_lib/last |
407 | 939 212 28 1179 49b 0_lib/less | 407 | | 939 212 28 1179 49b 0_lib/less |
408 | 919138 8328 1556 929022 e2cfe 0_lib/libbusybox.so.1.N.M | 408 | | 919138 8328 1556 929022 e2cfe 0_lib/libbusybox.so.1.N.M |
409 | 409 | ||
410 | This is useful on NOMMU systems which are not capable | 410 | This is useful on NOMMU systems which are not capable |
411 | of sharing executables, but are capable of sharing code | 411 | of sharing executables, but are capable of sharing code |
412 | in dynamic libraries. | 412 | in dynamic libraries. |
413 | 413 | ||
414 | config FEATURE_LIBBUSYBOX_STATIC | 414 | config FEATURE_LIBBUSYBOX_STATIC |
415 | bool "Pull in all external references into libbusybox" | 415 | bool "Pull in all external references into libbusybox" |
416 | default n | 416 | default n |
417 | depends on BUILD_LIBBUSYBOX | 417 | depends on BUILD_LIBBUSYBOX |
418 | help | 418 | help |
419 | Make libbusybox library independent, not using or requiring | 419 | Make libbusybox library independent, not using or requiring |
420 | any other shared libraries. | 420 | any other shared libraries. |
421 | 421 | ||
422 | config FEATURE_INDIVIDUAL | 422 | config FEATURE_INDIVIDUAL |
423 | bool "Produce a binary for each applet, linked against libbusybox" | 423 | bool "Produce a binary for each applet, linked against libbusybox" |
424 | default y | 424 | default y |
425 | depends on BUILD_LIBBUSYBOX | 425 | depends on BUILD_LIBBUSYBOX |
426 | help | 426 | help |
427 | If your CPU architecture doesn't allow for sharing text/rodata | 427 | If your CPU architecture doesn't allow for sharing text/rodata |
428 | sections of running binaries, but allows for runtime dynamic | 428 | sections of running binaries, but allows for runtime dynamic |
429 | libraries, this option will allow you to reduce memory footprint | 429 | libraries, this option will allow you to reduce memory footprint |
430 | when you have many different applets running at once. | 430 | when you have many different applets running at once. |
431 | 431 | ||
432 | If your CPU architecture allows for sharing text/rodata, | 432 | If your CPU architecture allows for sharing text/rodata, |
433 | having single binary is more optimal. | 433 | having single binary is more optimal. |
434 | 434 | ||
435 | Each applet will be a tiny program, dynamically linked | 435 | Each applet will be a tiny program, dynamically linked |
436 | against libbusybox.so.N.N.N. | 436 | against libbusybox.so.N.N.N. |
437 | 437 | ||
438 | You need to have a working dynamic linker. | 438 | You need to have a working dynamic linker. |
439 | 439 | ||
440 | config FEATURE_SHARED_BUSYBOX | 440 | config FEATURE_SHARED_BUSYBOX |
441 | bool "Produce additional busybox binary linked against libbusybox" | 441 | bool "Produce additional busybox binary linked against libbusybox" |
442 | default y | 442 | default y |
443 | depends on BUILD_LIBBUSYBOX | 443 | depends on BUILD_LIBBUSYBOX |
444 | help | 444 | help |
445 | Build busybox, dynamically linked against libbusybox.so.N.N.N. | 445 | Build busybox, dynamically linked against libbusybox.so.N.N.N. |
446 | 446 | ||
447 | You need to have a working dynamic linker. | 447 | You need to have a working dynamic linker. |
448 | 448 | ||
449 | ### config BUILD_AT_ONCE | 449 | ### config BUILD_AT_ONCE |
450 | ### bool "Compile all sources at once" | 450 | ### bool "Compile all sources at once" |
451 | ### default n | 451 | ### default n |
452 | ### help | 452 | ### help |
453 | ### Normally each source-file is compiled with one invocation of | 453 | ### Normally each source-file is compiled with one invocation of |
454 | ### the compiler. | 454 | ### the compiler. |
455 | ### If you set this option, all sources are compiled at once. | 455 | ### If you set this option, all sources are compiled at once. |
456 | ### This gives the compiler more opportunities to optimize which can | 456 | ### This gives the compiler more opportunities to optimize which can |
457 | ### result in smaller and/or faster binaries. | 457 | ### result in smaller and/or faster binaries. |
458 | ### | 458 | ### |
459 | ### Setting this option will consume alot of memory, e.g. if you | 459 | ### Setting this option will consume alot of memory, e.g. if you |
460 | ### enable all applets with all features, gcc uses more than 300MB | 460 | ### enable all applets with all features, gcc uses more than 300MB |
461 | ### RAM during compilation of busybox. | 461 | ### RAM during compilation of busybox. |
462 | ### | 462 | ### |
463 | ### This option is most likely only beneficial for newer compilers | 463 | ### This option is most likely only beneficial for newer compilers |
464 | ### such as gcc-4.1 and above. | 464 | ### such as gcc-4.1 and above. |
465 | ### | 465 | ### |
466 | ### Say 'N' unless you know what you are doing. | 466 | ### Say 'N' unless you know what you are doing. |
467 | 467 | ||
468 | config CROSS_COMPILER_PREFIX | 468 | config CROSS_COMPILER_PREFIX |
469 | string "Cross Compiler prefix" | 469 | string "Cross Compiler prefix" |
470 | default "" | 470 | default "" |
471 | help | 471 | help |
472 | If you want to build BusyBox with a cross compiler, then you | 472 | If you want to build BusyBox with a cross compiler, then you |
473 | will need to set this to the cross-compiler prefix, for example, | 473 | will need to set this to the cross-compiler prefix, for example, |
474 | "i386-uclibc-". | 474 | "i386-uclibc-". |
475 | 475 | ||
476 | Note that CROSS_COMPILE environment variable or | 476 | Note that CROSS_COMPILE environment variable or |
477 | "make CROSS_COMPILE=xxx ..." will override this selection. | 477 | "make CROSS_COMPILE=xxx ..." will override this selection. |
478 | 478 | ||
479 | Native builds leave this empty. | 479 | Native builds leave this empty. |
480 | 480 | ||
481 | config SYSROOT | 481 | config SYSROOT |
482 | string "Path to sysroot" | 482 | string "Path to sysroot" |
483 | default "" | 483 | default "" |
484 | help | 484 | help |
485 | If you want to build BusyBox with a cross compiler, then you | 485 | If you want to build BusyBox with a cross compiler, then you |
486 | might also need to specify where /usr/include and /usr/lib | 486 | might also need to specify where /usr/include and /usr/lib |
487 | will be found. | 487 | will be found. |
488 | 488 | ||
489 | For example, BusyBox can be built against an installed | 489 | For example, BusyBox can be built against an installed |
490 | Android NDK, platform version 9, for ARM ABI with | 490 | Android NDK, platform version 9, for ARM ABI with |
491 | 491 | ||
492 | CONFIG_SYSROOT=/opt/android-ndk/platforms/android-9/arch-arm | 492 | CONFIG_SYSROOT=/opt/android-ndk/platforms/android-9/arch-arm |
493 | 493 | ||
494 | Native builds leave this empty. | 494 | Native builds leave this empty. |
495 | 495 | ||
496 | config EXTRA_CFLAGS | 496 | config EXTRA_CFLAGS |
497 | string "Additional CFLAGS" | 497 | string "Additional CFLAGS" |
498 | default "" | 498 | default "" |
499 | help | 499 | help |
500 | Additional CFLAGS to pass to the compiler verbatim. | 500 | Additional CFLAGS to pass to the compiler verbatim. |
501 | 501 | ||
502 | config EXTRA_LDFLAGS | 502 | config EXTRA_LDFLAGS |
503 | string "Additional LDFLAGS" | 503 | string "Additional LDFLAGS" |
504 | default "" | 504 | default "" |
505 | help | 505 | help |
506 | Additional LDFLAGS to pass to the linker verbatim. | 506 | Additional LDFLAGS to pass to the linker verbatim. |
507 | 507 | ||
508 | config EXTRA_LDLIBS | 508 | config EXTRA_LDLIBS |
509 | string "Additional LDLIBS" | 509 | string "Additional LDLIBS" |
510 | default "" | 510 | default "" |
511 | help | 511 | help |
512 | Additional LDLIBS to pass to the linker with -l. | 512 | Additional LDLIBS to pass to the linker with -l. |
513 | 513 | ||
514 | config USE_PORTABLE_CODE | 514 | config USE_PORTABLE_CODE |
515 | bool "Avoid using GCC-specific code constructs" | 515 | bool "Avoid using GCC-specific code constructs" |
516 | default n | 516 | default n |
517 | help | 517 | help |
518 | Use this option if you are trying to compile busybox with | 518 | Use this option if you are trying to compile busybox with |
519 | compiler other than gcc. | 519 | compiler other than gcc. |
520 | If you do use gcc, this option may needlessly increase code size. | 520 | If you do use gcc, this option may needlessly increase code size. |
521 | 521 | ||
522 | comment 'Installation Options ("make install" behavior)' | 522 | comment 'Installation Options ("make install" behavior)' |
523 | 523 | ||
@@ -525,32 +525,32 @@ choice | |||
525 | prompt "What kind of applet links to install" | 525 | prompt "What kind of applet links to install" |
526 | default INSTALL_APPLET_SYMLINKS | 526 | default INSTALL_APPLET_SYMLINKS |
527 | help | 527 | help |
528 | Choose what kind of links to applets are created by "make install". | 528 | Choose what kind of links to applets are created by "make install". |
529 | 529 | ||
530 | config INSTALL_APPLET_SYMLINKS | 530 | config INSTALL_APPLET_SYMLINKS |
531 | bool "as soft-links" | 531 | bool "as soft-links" |
532 | help | 532 | help |
533 | Install applets as soft-links to the busybox binary. This needs some | 533 | Install applets as soft-links to the busybox binary. This needs some |
534 | free inodes on the filesystem, but might help with filesystem | 534 | free inodes on the filesystem, but might help with filesystem |
535 | generators that can't cope with hard-links. | 535 | generators that can't cope with hard-links. |
536 | 536 | ||
537 | config INSTALL_APPLET_HARDLINKS | 537 | config INSTALL_APPLET_HARDLINKS |
538 | bool "as hard-links" | 538 | bool "as hard-links" |
539 | help | 539 | help |
540 | Install applets as hard-links to the busybox binary. This might | 540 | Install applets as hard-links to the busybox binary. This might |
541 | count on a filesystem with few inodes. | 541 | count on a filesystem with few inodes. |
542 | 542 | ||
543 | config INSTALL_APPLET_SCRIPT_WRAPPERS | 543 | config INSTALL_APPLET_SCRIPT_WRAPPERS |
544 | bool "as script wrappers" | 544 | bool "as script wrappers" |
545 | help | 545 | help |
546 | Install applets as script wrappers that call the busybox binary. | 546 | Install applets as script wrappers that call the busybox binary. |
547 | 547 | ||
548 | config INSTALL_APPLET_DONT | 548 | config INSTALL_APPLET_DONT |
549 | bool "not installed" | 549 | bool "not installed" |
550 | help | 550 | help |
551 | Do not install applet links. Useful when you plan to use | 551 | Do not install applet links. Useful when you plan to use |
552 | busybox --install for installing links, or plan to use | 552 | busybox --install for installing links, or plan to use |
553 | a standalone shell and thus don't need applet links. | 553 | a standalone shell and thus don't need applet links. |
554 | 554 | ||
555 | endchoice | 555 | endchoice |
556 | 556 | ||
@@ -559,23 +559,23 @@ choice | |||
559 | default INSTALL_SH_APPLET_SYMLINK | 559 | default INSTALL_SH_APPLET_SYMLINK |
560 | depends on INSTALL_APPLET_SCRIPT_WRAPPERS | 560 | depends on INSTALL_APPLET_SCRIPT_WRAPPERS |
561 | help | 561 | help |
562 | Choose how you install /bin/sh applet link. | 562 | Choose how you install /bin/sh applet link. |
563 | 563 | ||
564 | config INSTALL_SH_APPLET_SYMLINK | 564 | config INSTALL_SH_APPLET_SYMLINK |
565 | bool "as soft-link" | 565 | bool "as soft-link" |
566 | help | 566 | help |
567 | Install /bin/sh applet as soft-link to the busybox binary. | 567 | Install /bin/sh applet as soft-link to the busybox binary. |
568 | 568 | ||
569 | config INSTALL_SH_APPLET_HARDLINK | 569 | config INSTALL_SH_APPLET_HARDLINK |
570 | bool "as hard-link" | 570 | bool "as hard-link" |
571 | help | 571 | help |
572 | Install /bin/sh applet as hard-link to the busybox binary. | 572 | Install /bin/sh applet as hard-link to the busybox binary. |
573 | 573 | ||
574 | config INSTALL_SH_APPLET_SCRIPT_WRAPPER | 574 | config INSTALL_SH_APPLET_SCRIPT_WRAPPER |
575 | bool "as script wrapper" | 575 | bool "as script wrapper" |
576 | help | 576 | help |
577 | Install /bin/sh applet as script wrapper that calls | 577 | Install /bin/sh applet as script wrapper that calls |
578 | the busybox binary. | 578 | the busybox binary. |
579 | 579 | ||
580 | endchoice | 580 | endchoice |
581 | 581 | ||
@@ -583,7 +583,7 @@ config PREFIX | |||
583 | string "BusyBox installation prefix" | 583 | string "BusyBox installation prefix" |
584 | default "./_install" | 584 | default "./_install" |
585 | help | 585 | help |
586 | Define your directory to install BusyBox files/subdirs in. | 586 | Define your directory to install BusyBox files/subdirs in. |
587 | 587 | ||
588 | comment 'Debugging Options' | 588 | comment 'Debugging Options' |
589 | 589 | ||
@@ -591,81 +591,81 @@ config DEBUG | |||
591 | bool "Build BusyBox with extra Debugging symbols" | 591 | bool "Build BusyBox with extra Debugging symbols" |
592 | default n | 592 | default n |
593 | help | 593 | help |
594 | Say Y here if you wish to examine BusyBox internals while applets are | 594 | Say Y here if you wish to examine BusyBox internals while applets are |
595 | running. This increases the size of the binary considerably, and | 595 | running. This increases the size of the binary considerably, and |
596 | should only be used when doing development. If you are doing | 596 | should only be used when doing development. If you are doing |
597 | development and want to debug BusyBox, answer Y. | 597 | development and want to debug BusyBox, answer Y. |
598 | 598 | ||
599 | Most people should answer N. | 599 | Most people should answer N. |
600 | 600 | ||
601 | config DEBUG_PESSIMIZE | 601 | config DEBUG_PESSIMIZE |
602 | bool "Disable compiler optimizations" | 602 | bool "Disable compiler optimizations" |
603 | default n | 603 | default n |
604 | depends on DEBUG | 604 | depends on DEBUG |
605 | help | 605 | help |
606 | The compiler's optimization of source code can eliminate and reorder | 606 | The compiler's optimization of source code can eliminate and reorder |
607 | code, resulting in an executable that's hard to understand when | 607 | code, resulting in an executable that's hard to understand when |
608 | stepping through it with a debugger. This switches it off, resulting | 608 | stepping through it with a debugger. This switches it off, resulting |
609 | in a much bigger executable that more closely matches the source | 609 | in a much bigger executable that more closely matches the source |
610 | code. | 610 | code. |
611 | 611 | ||
612 | config DEBUG_SANITIZE | 612 | config DEBUG_SANITIZE |
613 | bool "Enable runtime sanitizers (ASAN/LSAN/USAN/etc...)" | 613 | bool "Enable runtime sanitizers (ASAN/LSAN/USAN/etc...)" |
614 | default n | 614 | default n |
615 | help | 615 | help |
616 | Say Y here if you want to enable runtime sanitizers. These help | 616 | Say Y here if you want to enable runtime sanitizers. These help |
617 | catch bad memory accesses (e.g. buffer overflows), but will make | 617 | catch bad memory accesses (e.g. buffer overflows), but will make |
618 | the executable larger and slow down runtime a bit. | 618 | the executable larger and slow down runtime a bit. |
619 | 619 | ||
620 | This adds -fsanitize=foo options to gcc command line. | 620 | This adds -fsanitize=foo options to gcc command line. |
621 | 621 | ||
622 | If you aren't developing/testing busybox, say N here. | 622 | If you aren't developing/testing busybox, say N here. |
623 | 623 | ||
624 | config UNIT_TEST | 624 | config UNIT_TEST |
625 | bool "Build unit tests" | 625 | bool "Build unit tests" |
626 | default n | 626 | default n |
627 | help | 627 | help |
628 | Say Y here if you want to build unit tests (both the framework and | 628 | Say Y here if you want to build unit tests (both the framework and |
629 | test cases) as a Busybox applet. This results in bigger code, so you | 629 | test cases) as a Busybox applet. This results in bigger code, so you |
630 | probably don't want this option in production builds. | 630 | probably don't want this option in production builds. |
631 | 631 | ||
632 | config WERROR | 632 | config WERROR |
633 | bool "Abort compilation on any warning" | 633 | bool "Abort compilation on any warning" |
634 | default n | 634 | default n |
635 | help | 635 | help |
636 | This adds -Werror to gcc command line. | 636 | This adds -Werror to gcc command line. |
637 | 637 | ||
638 | Most people should answer N. | 638 | Most people should answer N. |
639 | 639 | ||
640 | choice | 640 | choice |
641 | prompt "Additional debugging library" | 641 | prompt "Additional debugging library" |
642 | default NO_DEBUG_LIB | 642 | default NO_DEBUG_LIB |
643 | help | 643 | help |
644 | Using an additional debugging library will make BusyBox become | 644 | Using an additional debugging library will make BusyBox become |
645 | considerable larger and will cause it to run more slowly. You | 645 | considerable larger and will cause it to run more slowly. You |
646 | should always leave this option disabled for production use. | 646 | should always leave this option disabled for production use. |
647 | 647 | ||
648 | dmalloc support: | 648 | dmalloc support: |
649 | ---------------- | 649 | ---------------- |
650 | This enables compiling with dmalloc ( http://dmalloc.com/ ) | 650 | This enables compiling with dmalloc ( http://dmalloc.com/ ) |
651 | which is an excellent public domain mem leak and malloc problem | 651 | which is an excellent public domain mem leak and malloc problem |
652 | detector. To enable dmalloc, before running busybox you will | 652 | detector. To enable dmalloc, before running busybox you will |
653 | want to properly set your environment, for example: | 653 | want to properly set your environment, for example: |
654 | export DMALLOC_OPTIONS=debug=0x34f47d83,inter=100,log=logfile | 654 | export DMALLOC_OPTIONS=debug=0x34f47d83,inter=100,log=logfile |
655 | The 'debug=' value is generated using the following command | 655 | The 'debug=' value is generated using the following command |
656 | dmalloc -p log-stats -p log-non-free -p log-bad-space \ | 656 | dmalloc -p log-stats -p log-non-free -p log-bad-space \ |
657 | -p log-elapsed-time -p check-fence -p check-heap \ | 657 | -p log-elapsed-time -p check-fence -p check-heap \ |
658 | -p check-lists -p check-blank -p check-funcs -p realloc-copy \ | 658 | -p check-lists -p check-blank -p check-funcs -p realloc-copy \ |
659 | -p allow-free-null | 659 | -p allow-free-null |
660 | 660 | ||
661 | Electric-fence support: | 661 | Electric-fence support: |
662 | ----------------------- | 662 | ----------------------- |
663 | This enables compiling with Electric-fence support. Electric | 663 | This enables compiling with Electric-fence support. Electric |
664 | fence is another very useful malloc debugging library which uses | 664 | fence is another very useful malloc debugging library which uses |
665 | your computer's virtual memory hardware to detect illegal memory | 665 | your computer's virtual memory hardware to detect illegal memory |
666 | accesses. This support will make BusyBox be considerable larger | 666 | accesses. This support will make BusyBox be considerable larger |
667 | and run slower, so you should leave this option disabled unless | 667 | and run slower, so you should leave this option disabled unless |
668 | you are hunting a hard to find memory problem. | 668 | you are hunting a hard to find memory problem. |
669 | 669 | ||
670 | 670 | ||
671 | config NO_DEBUG_LIB | 671 | config NO_DEBUG_LIB |