1 # DO NOT EDIT. This file is generated from Config.src
3 # For a description of the syntax of this configuration file,
4 # see scripts/kbuild/config-language.txt.
11 prompt "Choose which shell is aliased to 'sh' name"
12 default BUSYBOX_CONFIG_SH_IS_ASH
14 Choose which shell you want to be executed by 'sh' alias.
15 The ash shell is the most bash compatible and full featured one.
17 # note: cannot use "select ASH" here, it breaks "make allnoconfig"
18 config BUSYBOX_CONFIG_SH_IS_ASH
19 depends on !BUSYBOX_CONFIG_NOMMU
22 Choose ash to be the shell executed by 'sh' name.
23 The ash code will be built into busybox. If you don't select
24 "ash" choice (CONFIG_ASH), this shell may only be invoked by
25 the name 'sh' (and not 'ash').
27 config BUSYBOX_CONFIG_SH_IS_HUSH
30 Choose hush to be the shell executed by 'sh' name.
31 The hush code will be built into busybox. If you don't select
32 "hush" choice (CONFIG_HUSH), this shell may only be invoked by
33 the name 'sh' (and not 'hush').
35 config BUSYBOX_CONFIG_SH_IS_NONE
41 prompt "Choose which shell is aliased to 'bash' name"
42 default BUSYBOX_CONFIG_BASH_IS_NONE
44 Choose which shell you want to be executed by 'bash' alias.
45 The ash shell is the most bash compatible and full featured one,
46 although compatibility is far from being complete.
48 Note that selecting this option does not switch on any bash
49 compatibility code. It merely makes it possible to install
50 /bin/bash (sym)link and run scripts which start with
53 Many systems use it in scripts which use bash-specific features,
54 even simple ones like $RANDOM. Without this option, busybox
55 can't be used for running them because it won't recongnize
56 "bash" as a supported applet name.
58 config BUSYBOX_CONFIG_BASH_IS_ASH
59 depends on !BUSYBOX_CONFIG_NOMMU
62 Choose ash to be the shell executed by 'bash' name.
63 The ash code will be built into busybox. If you don't select
64 "ash" choice (CONFIG_ASH), this shell may only be invoked by
65 the name 'bash' (and not 'ash').
67 config BUSYBOX_CONFIG_BASH_IS_HUSH
70 Choose hush to be the shell executed by 'bash' name.
71 The hush code will be built into busybox. If you don't select
72 "hush" choice (CONFIG_HUSH), this shell may only be invoked by
73 the name 'bash' (and not 'hush').
75 config BUSYBOX_CONFIG_BASH_IS_NONE
81 config BUSYBOX_CONFIG_ASH
83 default BUSYBOX_DEFAULT_ASH
84 depends on !BUSYBOX_CONFIG_NOMMU
86 Tha 'ash' shell adds about 60k in the default configuration and is
87 the most complete and most pedantically correct shell included with
88 busybox. This shell is actually a derivative of the Debian 'dash'
89 shell (by Herbert Xu), which was created by porting the 'ash' shell
90 (written by Kenneth Almquist) from NetBSD.
93 # note: Don't remove !NOMMU part in the next line; it would break
94 # menuconfig's indenting.
95 if !NOMMU && (BUSYBOX_CONFIG_ASH || BUSYBOX_CONFIG_SH_IS_ASH || BUSYBOX_CONFIG_BASH_IS_ASH)
97 config BUSYBOX_CONFIG_ASH_OPTIMIZE_FOR_SIZE
98 bool "Optimize for size instead of speed"
99 default BUSYBOX_DEFAULT_ASH_OPTIMIZE_FOR_SIZE
100 depends on BUSYBOX_CONFIG_ASH || BUSYBOX_CONFIG_SH_IS_ASH || BUSYBOX_CONFIG_BASH_IS_ASH
102 config BUSYBOX_CONFIG_ASH_INTERNAL_GLOB
103 bool "Use internal glob() implementation"
104 default BUSYBOX_DEFAULT_ASH_INTERNAL_GLOB # Y is bigger, but because of uclibc glob() bug, let Y be default for now
105 depends on BUSYBOX_CONFIG_ASH || BUSYBOX_CONFIG_SH_IS_ASH || BUSYBOX_CONFIG_BASH_IS_ASH
107 Do not use glob() function from libc, use internal implementation.
108 Use this if you are getting "glob.h: No such file or directory"
109 or similar build errors.
110 Note that as of now (2017-01), uclibc and musl glob() both have bugs
111 which would break ash if you select N here.
113 config BUSYBOX_CONFIG_ASH_BASH_COMPAT
114 bool "bash-compatible extensions"
115 default BUSYBOX_DEFAULT_ASH_BASH_COMPAT
116 depends on BUSYBOX_CONFIG_ASH || BUSYBOX_CONFIG_SH_IS_ASH || BUSYBOX_CONFIG_BASH_IS_ASH
118 config BUSYBOX_CONFIG_ASH_JOB_CONTROL
120 default BUSYBOX_DEFAULT_ASH_JOB_CONTROL
121 depends on BUSYBOX_CONFIG_ASH || BUSYBOX_CONFIG_SH_IS_ASH || BUSYBOX_CONFIG_BASH_IS_ASH
123 config BUSYBOX_CONFIG_ASH_ALIAS
125 default BUSYBOX_DEFAULT_ASH_ALIAS
126 depends on BUSYBOX_CONFIG_ASH || BUSYBOX_CONFIG_SH_IS_ASH || BUSYBOX_CONFIG_BASH_IS_ASH
128 config BUSYBOX_CONFIG_ASH_RANDOM_SUPPORT
129 bool "Pseudorandom generator and $RANDOM variable"
130 default BUSYBOX_DEFAULT_ASH_RANDOM_SUPPORT
131 depends on BUSYBOX_CONFIG_ASH || BUSYBOX_CONFIG_SH_IS_ASH || BUSYBOX_CONFIG_BASH_IS_ASH
133 Enable pseudorandom generator and dynamic variable "$RANDOM".
134 Each read of "$RANDOM" will generate a new pseudorandom value.
135 You can reset the generator by using a specified start value.
136 After "unset RANDOM" the generator will switch off and this
137 variable will no longer have special treatment.
139 config BUSYBOX_CONFIG_ASH_EXPAND_PRMT
140 bool "Expand prompt string"
141 default BUSYBOX_DEFAULT_ASH_EXPAND_PRMT
142 depends on BUSYBOX_CONFIG_ASH || BUSYBOX_CONFIG_SH_IS_ASH || BUSYBOX_CONFIG_BASH_IS_ASH
144 $PS# may contain volatile content, such as backquote commands.
145 This option recreates the prompt string from the environment
146 variable each time it is displayed.
148 config BUSYBOX_CONFIG_ASH_IDLE_TIMEOUT
149 bool "Idle timeout variable $TMOUT"
150 default BUSYBOX_DEFAULT_ASH_IDLE_TIMEOUT
151 depends on BUSYBOX_CONFIG_ASH || BUSYBOX_CONFIG_SH_IS_ASH || BUSYBOX_CONFIG_BASH_IS_ASH
153 Enable bash-like auto-logout after $TMOUT seconds of idle time.
155 config BUSYBOX_CONFIG_ASH_MAIL
156 bool "Check for new mail in interactive shell"
157 default BUSYBOX_DEFAULT_ASH_MAIL
158 depends on BUSYBOX_CONFIG_ASH || BUSYBOX_CONFIG_SH_IS_ASH || BUSYBOX_CONFIG_BASH_IS_ASH
160 Enable "check for new mail" function:
161 if set, $MAIL file and $MAILPATH list of files
162 are checked for mtime changes, and "you have mail"
163 message is printed if change is detected.
165 config BUSYBOX_CONFIG_ASH_ECHO
167 default BUSYBOX_DEFAULT_ASH_ECHO
168 depends on BUSYBOX_CONFIG_ASH || BUSYBOX_CONFIG_SH_IS_ASH || BUSYBOX_CONFIG_BASH_IS_ASH
170 config BUSYBOX_CONFIG_ASH_PRINTF
171 bool "printf builtin"
172 default BUSYBOX_DEFAULT_ASH_PRINTF
173 depends on BUSYBOX_CONFIG_ASH || BUSYBOX_CONFIG_SH_IS_ASH || BUSYBOX_CONFIG_BASH_IS_ASH
175 config BUSYBOX_CONFIG_ASH_TEST
177 default BUSYBOX_DEFAULT_ASH_TEST
178 depends on BUSYBOX_CONFIG_ASH || BUSYBOX_CONFIG_SH_IS_ASH || BUSYBOX_CONFIG_BASH_IS_ASH
180 config BUSYBOX_CONFIG_ASH_HELP
182 default BUSYBOX_DEFAULT_ASH_HELP
183 depends on BUSYBOX_CONFIG_ASH || BUSYBOX_CONFIG_SH_IS_ASH || BUSYBOX_CONFIG_BASH_IS_ASH
185 config BUSYBOX_CONFIG_ASH_GETOPTS
186 bool "getopts builtin"
187 default BUSYBOX_DEFAULT_ASH_GETOPTS
188 depends on BUSYBOX_CONFIG_ASH || BUSYBOX_CONFIG_SH_IS_ASH || BUSYBOX_CONFIG_BASH_IS_ASH
190 config BUSYBOX_CONFIG_ASH_CMDCMD
191 bool "command builtin"
192 default BUSYBOX_DEFAULT_ASH_CMDCMD
193 depends on BUSYBOX_CONFIG_ASH || BUSYBOX_CONFIG_SH_IS_ASH || BUSYBOX_CONFIG_BASH_IS_ASH
195 Enable support for the 'command' builtin, which allows
196 you to run the specified command or builtin,
197 even when there is a function with the same name.
200 config BUSYBOX_CONFIG_CTTYHACK
202 default BUSYBOX_DEFAULT_CTTYHACK
204 One common problem reported on the mailing list is the "can't
205 access tty; job control turned off" error message, which typically
206 appears when one tries to use a shell with stdin/stdout on
208 This device is special - it cannot be a controlling tty.
210 The proper solution is to use the correct device instead of
213 cttyhack provides a "quick and dirty" solution to this problem.
214 It analyzes stdin with various ioctls, trying to determine whether
215 it is a /dev/ttyN or /dev/ttySN (virtual terminal or serial line).
216 On Linux it also checks sysfs for a pointer to the active console.
217 If cttyhack is able to find the real console device, it closes
218 stdin/out/err and reopens that device.
219 Then it executes the given program. Opening the device will make
220 that device a controlling tty. This may require cttyhack
221 to be a session leader.
223 Example for /etc/inittab (for busybox init):
225 ::respawn:/bin/cttyhack /bin/sh
227 Starting an interactive shell from boot shell script:
231 Giving controlling tty to shell running with PID 1:
235 Without cttyhack, you need to know exact tty name,
236 and do something like this:
238 # exec setsid sh -c 'exec sh </dev/tty1 >/dev/tty1 2>&1'
240 Starting getty on a controlling tty from a shell script:
242 # getty 115200 $(cttyhack)
243 config BUSYBOX_CONFIG_HUSH
245 default BUSYBOX_DEFAULT_HUSH
247 hush is a small shell (25k). It handles the normal flow control
248 constructs such as if/then/elif/else/fi, for/in/do/done, while loops,
249 case/esac. Redirections, here documents, $((arithmetic))
250 and functions are supported.
252 It will compile and work on no-mmu systems.
254 It does not handle select, aliases, tilde expansion,
255 &>file and >&file redirection of stdout+stderr.
257 config BUSYBOX_CONFIG_HUSH_BASH_COMPAT
258 bool "bash-compatible extensions"
259 default BUSYBOX_DEFAULT_HUSH_BASH_COMPAT
260 depends on BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH
262 config BUSYBOX_CONFIG_HUSH_BRACE_EXPANSION
263 bool "Brace expansion"
264 default BUSYBOX_DEFAULT_HUSH_BRACE_EXPANSION
265 depends on BUSYBOX_CONFIG_HUSH_BASH_COMPAT
267 Enable {abc,def} extension.
269 config BUSYBOX_CONFIG_HUSH_INTERACTIVE
270 bool "Interactive mode"
271 default BUSYBOX_DEFAULT_HUSH_INTERACTIVE
272 depends on BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH
274 Enable interactive mode (prompt and command editing).
275 Without this, hush simply reads and executes commands
276 from stdin just like a shell script from a file.
277 No prompt, no PS1/PS2 magic shell variables.
279 config BUSYBOX_CONFIG_HUSH_SAVEHISTORY
280 bool "Save command history to .hush_history"
281 default BUSYBOX_DEFAULT_HUSH_SAVEHISTORY
282 depends on BUSYBOX_CONFIG_HUSH_INTERACTIVE && BUSYBOX_CONFIG_FEATURE_EDITING_SAVEHISTORY
284 config BUSYBOX_CONFIG_HUSH_JOB
286 default BUSYBOX_DEFAULT_HUSH_JOB
287 depends on BUSYBOX_CONFIG_HUSH_INTERACTIVE
289 Enable job control: Ctrl-Z backgrounds, Ctrl-C interrupts current
290 command (not entire shell), fg/bg builtins work. Without this option,
291 "cmd &" still works by simply spawning a process and immediately
292 prompting for next command (or executing next command in a script),
293 but no separate process group is formed.
295 config BUSYBOX_CONFIG_HUSH_TICK
296 bool "Support process substitution"
297 default BUSYBOX_DEFAULT_HUSH_TICK
298 depends on BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH
300 Enable `command` and $(command).
302 config BUSYBOX_CONFIG_HUSH_IF
303 bool "Support if/then/elif/else/fi"
304 default BUSYBOX_DEFAULT_HUSH_IF
305 depends on BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH
307 config BUSYBOX_CONFIG_HUSH_LOOPS
308 bool "Support for, while and until loops"
309 default BUSYBOX_DEFAULT_HUSH_LOOPS
310 depends on BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH
312 config BUSYBOX_CONFIG_HUSH_CASE
313 bool "Support case ... esac statement"
314 default BUSYBOX_DEFAULT_HUSH_CASE
315 depends on BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH
317 Enable case ... esac statement. +400 bytes.
319 config BUSYBOX_CONFIG_HUSH_FUNCTIONS
320 bool "Support funcname() { commands; } syntax"
321 default BUSYBOX_DEFAULT_HUSH_FUNCTIONS
322 depends on BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH
324 Enable support for shell functions. +800 bytes.
326 config BUSYBOX_CONFIG_HUSH_LOCAL
328 default BUSYBOX_DEFAULT_HUSH_LOCAL
329 depends on BUSYBOX_CONFIG_HUSH_FUNCTIONS
331 Enable support for local variables in functions.
333 config BUSYBOX_CONFIG_HUSH_RANDOM_SUPPORT
334 bool "Pseudorandom generator and $RANDOM variable"
335 default BUSYBOX_DEFAULT_HUSH_RANDOM_SUPPORT
336 depends on BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH
338 Enable pseudorandom generator and dynamic variable "$RANDOM".
339 Each read of "$RANDOM" will generate a new pseudorandom value.
341 config BUSYBOX_CONFIG_HUSH_MODE_X
342 bool "Support 'hush -x' option and 'set -x' command"
343 default BUSYBOX_DEFAULT_HUSH_MODE_X
344 depends on BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH
346 This instructs hush to print commands before execution.
349 config BUSYBOX_CONFIG_HUSH_ECHO
351 default BUSYBOX_DEFAULT_HUSH_ECHO
352 depends on BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH
354 config BUSYBOX_CONFIG_HUSH_PRINTF
355 bool "printf builtin"
356 default BUSYBOX_DEFAULT_HUSH_PRINTF
357 depends on BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH
359 config BUSYBOX_CONFIG_HUSH_TEST
361 default BUSYBOX_DEFAULT_HUSH_TEST
362 depends on BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH
364 config BUSYBOX_CONFIG_HUSH_HELP
366 default BUSYBOX_DEFAULT_HUSH_HELP
367 depends on BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH
369 config BUSYBOX_CONFIG_HUSH_EXPORT
370 bool "export builtin"
371 default BUSYBOX_DEFAULT_HUSH_EXPORT
372 depends on BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH
374 config BUSYBOX_CONFIG_HUSH_EXPORT_N
375 bool "Support 'export -n' option"
376 default BUSYBOX_DEFAULT_HUSH_EXPORT_N
377 depends on BUSYBOX_CONFIG_HUSH_EXPORT
379 export -n unexports variables. It is a bash extension.
381 config BUSYBOX_CONFIG_HUSH_KILL
382 bool "kill builtin (supports kill %jobspec)"
383 default BUSYBOX_DEFAULT_HUSH_KILL
384 depends on BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH
386 config BUSYBOX_CONFIG_HUSH_WAIT
388 default BUSYBOX_DEFAULT_HUSH_WAIT
389 depends on BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH
391 config BUSYBOX_CONFIG_HUSH_TRAP
393 default BUSYBOX_DEFAULT_HUSH_TRAP
394 depends on BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH
396 config BUSYBOX_CONFIG_HUSH_TYPE
398 default BUSYBOX_DEFAULT_HUSH_TYPE
399 depends on BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH
401 config BUSYBOX_CONFIG_HUSH_READ
403 default BUSYBOX_DEFAULT_HUSH_READ
404 depends on BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH
406 config BUSYBOX_CONFIG_HUSH_SET
408 default BUSYBOX_DEFAULT_HUSH_SET
409 depends on BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH
411 config BUSYBOX_CONFIG_HUSH_UNSET
413 default BUSYBOX_DEFAULT_HUSH_UNSET
414 depends on BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH
416 config BUSYBOX_CONFIG_HUSH_ULIMIT
417 bool "ulimit builtin"
418 default BUSYBOX_DEFAULT_HUSH_ULIMIT
419 depends on BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH
421 config BUSYBOX_CONFIG_HUSH_UMASK
423 default BUSYBOX_DEFAULT_HUSH_UMASK
424 depends on BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH
426 config BUSYBOX_CONFIG_HUSH_MEMLEAK
427 bool "memleak builtin (debugging)"
428 default BUSYBOX_DEFAULT_HUSH_MEMLEAK
429 depends on BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH
431 config BUSYBOX_CONFIG_MSH
432 bool "msh (deprecated: aliased to hush)"
433 default BUSYBOX_DEFAULT_MSH
434 select BUSYBOX_CONFIG_HUSH
436 msh is deprecated and will be removed, please migrate to hush.
439 comment "Options common to all shells"
440 if ASH || BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_ASH || BUSYBOX_CONFIG_BASH_IS_ASH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH
442 config BUSYBOX_CONFIG_FEATURE_SH_MATH
443 bool "POSIX math support"
444 default BUSYBOX_DEFAULT_FEATURE_SH_MATH
445 depends on BUSYBOX_CONFIG_ASH || BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_ASH || BUSYBOX_CONFIG_BASH_IS_ASH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH
447 Enable math support in the shell via $((...)) syntax.
449 config BUSYBOX_CONFIG_FEATURE_SH_MATH_64
450 bool "Extend POSIX math support to 64 bit"
451 default BUSYBOX_DEFAULT_FEATURE_SH_MATH_64
452 depends on BUSYBOX_CONFIG_FEATURE_SH_MATH
454 Enable 64-bit math support in the shell. This will make the shell
455 slightly larger, but will allow computation with very large numbers.
456 This is not in POSIX, so do not rely on this in portable code.
458 config BUSYBOX_CONFIG_FEATURE_SH_EXTRA_QUIET
459 bool "Hide message on interactive shell startup"
460 default BUSYBOX_DEFAULT_FEATURE_SH_EXTRA_QUIET
461 depends on BUSYBOX_CONFIG_ASH || BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_ASH || BUSYBOX_CONFIG_BASH_IS_ASH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH
463 Remove the busybox introduction when starting a shell.
465 config BUSYBOX_CONFIG_FEATURE_SH_STANDALONE
466 bool "Standalone shell"
467 default BUSYBOX_DEFAULT_FEATURE_SH_STANDALONE
468 depends on BUSYBOX_CONFIG_ASH || BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_ASH || BUSYBOX_CONFIG_BASH_IS_ASH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH
470 This option causes busybox shells to use busybox applets
471 in preference to executables in the PATH whenever possible. For
472 example, entering the command 'ifconfig' into the shell would cause
473 busybox to use the ifconfig busybox applet. Specifying the fully
474 qualified executable name, such as '/sbin/ifconfig' will still
475 execute the /sbin/ifconfig executable on the filesystem. This option
476 is generally used when creating a statically linked version of busybox
477 for use as a rescue shell, in the event that you screw up your system.
479 This is implemented by re-execing /proc/self/exe (typically)
480 with right parameters.
482 However, there are drawbacks: it is problematic in chroot jails
483 without mounted /proc, and ps/top may show command name as 'exe'
484 for applets started this way.
486 config BUSYBOX_CONFIG_FEATURE_SH_NOFORK
487 bool "Run 'nofork' applets directly"
488 default BUSYBOX_DEFAULT_FEATURE_SH_NOFORK
489 depends on BUSYBOX_CONFIG_ASH || BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_ASH || BUSYBOX_CONFIG_BASH_IS_ASH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH
491 This option causes busybox shells to not execute typical
492 fork/exec/wait sequence, but call <applet>_main directly,
493 if possible. (Sometimes it is not possible: for example,
494 this is not possible in pipes).
496 This will be done only for some applets (those which are marked
497 NOFORK in include/applets.h).
499 This may significantly speed up some shell scripts.
501 This feature is relatively new. Use with care. Report bugs
502 to project mailing list.
504 config BUSYBOX_CONFIG_FEATURE_SH_HISTFILESIZE
505 bool "Use $HISTFILESIZE"
506 default BUSYBOX_DEFAULT_FEATURE_SH_HISTFILESIZE
507 depends on BUSYBOX_CONFIG_ASH || BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_ASH || BUSYBOX_CONFIG_BASH_IS_ASH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH
509 This option makes busybox shells to use $HISTFILESIZE variable
510 to set shell history size. Note that its max value is capped
511 by "History size" setting in library tuning section.
513 endif # Options common to all shells