| # DO NOT EDIT. This file is generated from Config.src |
| # |
| # For a description of the syntax of this configuration file, |
| # see docs/Kconfig-language.txt. |
| # |
| |
| menu "Shells" |
| |
| |
| choice |
| prompt "Choose which shell is aliased to 'sh' name" |
| default BUSYBOX_CONFIG_SH_IS_ASH |
| help |
| Choose which shell you want to be executed by 'sh' alias. |
| The ash shell is the most bash compatible and full featured one. |
| |
| # note: cannot use "select ASH" here, it breaks "make allnoconfig" |
| config BUSYBOX_CONFIG_SH_IS_ASH |
| depends on !BUSYBOX_CONFIG_NOMMU |
| bool "ash" |
| select BUSYBOX_CONFIG_SHELL_ASH |
| help |
| Choose ash to be the shell executed by 'sh' name. |
| The ash code will be built into busybox. If you don't select |
| "ash" choice (CONFIG_ASH), this shell may only be invoked by |
| the name 'sh' (and not 'ash'). |
| |
| config BUSYBOX_CONFIG_SH_IS_HUSH |
| bool "hush" |
| select BUSYBOX_CONFIG_SHELL_HUSH |
| help |
| Choose hush to be the shell executed by 'sh' name. |
| The hush code will be built into busybox. If you don't select |
| "hush" choice (CONFIG_HUSH), this shell may only be invoked by |
| the name 'sh' (and not 'hush'). |
| |
| config BUSYBOX_CONFIG_SH_IS_NONE |
| bool "none" |
| |
| endchoice |
| |
| choice |
| prompt "Choose which shell is aliased to 'bash' name" |
| default BUSYBOX_CONFIG_BASH_IS_NONE |
| help |
| Choose which shell you want to be executed by 'bash' alias. |
| The ash shell is the most bash compatible and full featured one, |
| although compatibility is far from being complete. |
| |
| Note that selecting this option does not switch on any bash |
| compatibility code. It merely makes it possible to install |
| /bin/bash (sym)link and run scripts which start with |
| #!/bin/bash line. |
| |
| Many systems use it in scripts which use bash-specific features, |
| even simple ones like $RANDOM. Without this option, busybox |
| can't be used for running them because it won't recongnize |
| "bash" as a supported applet name. |
| |
| config BUSYBOX_CONFIG_BASH_IS_ASH |
| depends on !BUSYBOX_CONFIG_NOMMU |
| bool "ash" |
| select BUSYBOX_CONFIG_SHELL_ASH |
| help |
| Choose ash to be the shell executed by 'bash' name. |
| The ash code will be built into busybox. If you don't select |
| "ash" choice (CONFIG_ASH), this shell may only be invoked by |
| the name 'bash' (and not 'ash'). |
| |
| config BUSYBOX_CONFIG_BASH_IS_HUSH |
| bool "hush" |
| select BUSYBOX_CONFIG_SHELL_HUSH |
| help |
| Choose hush to be the shell executed by 'bash' name. |
| The hush code will be built into busybox. If you don't select |
| "hush" choice (CONFIG_HUSH), this shell may only be invoked by |
| the name 'bash' (and not 'hush'). |
| |
| config BUSYBOX_CONFIG_BASH_IS_NONE |
| bool "none" |
| |
| endchoice |
| |
| |
| config BUSYBOX_CONFIG_SHELL_ASH |
| bool #hidden option |
| depends on !BUSYBOX_CONFIG_NOMMU |
| |
| config BUSYBOX_CONFIG_ASH |
| bool "ash (78 kb)" |
| default BUSYBOX_DEFAULT_ASH |
| depends on !BUSYBOX_CONFIG_NOMMU |
| select BUSYBOX_CONFIG_SHELL_ASH |
| help |
| The most complete and most pedantically correct shell included with |
| busybox. This shell is actually a derivative of the Debian 'dash' |
| shell (by Herbert Xu), which was created by porting the 'ash' shell |
| (written by Kenneth Almquist) from NetBSD. |
| |
| # ash options |
| # note: Don't remove !NOMMU part in the next line; it would break |
| # menuconfig's indenting. |
| if !NOMMU && (BUSYBOX_CONFIG_SHELL_ASH || BUSYBOX_CONFIG_ASH || BUSYBOX_CONFIG_SH_IS_ASH || BUSYBOX_CONFIG_BASH_IS_ASH) |
| |
| config BUSYBOX_CONFIG_ASH_OPTIMIZE_FOR_SIZE |
| bool "Optimize for size instead of speed" |
| default BUSYBOX_DEFAULT_ASH_OPTIMIZE_FOR_SIZE |
| depends on BUSYBOX_CONFIG_SHELL_ASH |
| |
| config BUSYBOX_CONFIG_ASH_INTERNAL_GLOB |
| bool "Use internal glob() implementation" |
| default BUSYBOX_DEFAULT_ASH_INTERNAL_GLOB # Y is bigger, but because of uclibc glob() bug, let Y be default for now |
| depends on BUSYBOX_CONFIG_SHELL_ASH |
| help |
| Do not use glob() function from libc, use internal implementation. |
| Use this if you are getting "glob.h: No such file or directory" |
| or similar build errors. |
| Note that as of now (2017-01), uclibc and musl glob() both have bugs |
| which would break ash if you select N here. |
| |
| config BUSYBOX_CONFIG_ASH_BASH_COMPAT |
| bool "bash-compatible extensions" |
| default BUSYBOX_DEFAULT_ASH_BASH_COMPAT |
| depends on BUSYBOX_CONFIG_SHELL_ASH |
| |
| config BUSYBOX_CONFIG_ASH_BASH_SOURCE_CURDIR |
| bool "'source' and '.' builtins search current directory after $PATH" |
| default BUSYBOX_DEFAULT_ASH_BASH_SOURCE_CURDIR # do not encourage non-standard behavior |
| depends on BUSYBOX_CONFIG_ASH_BASH_COMPAT |
| help |
| This is not compliant with standards. Avoid if possible. |
| |
| config BUSYBOX_CONFIG_ASH_BASH_NOT_FOUND_HOOK |
| bool "command_not_found_handle hook support" |
| default BUSYBOX_DEFAULT_ASH_BASH_NOT_FOUND_HOOK |
| depends on BUSYBOX_CONFIG_ASH_BASH_COMPAT |
| help |
| Enable support for the 'command_not_found_handle' hook function, |
| from GNU bash, which allows for alternative command not found |
| handling. |
| |
| config BUSYBOX_CONFIG_ASH_JOB_CONTROL |
| bool "Job control" |
| default BUSYBOX_DEFAULT_ASH_JOB_CONTROL |
| depends on BUSYBOX_CONFIG_SHELL_ASH |
| |
| config BUSYBOX_CONFIG_ASH_ALIAS |
| bool "Alias support" |
| default BUSYBOX_DEFAULT_ASH_ALIAS |
| depends on BUSYBOX_CONFIG_SHELL_ASH |
| |
| config BUSYBOX_CONFIG_ASH_RANDOM_SUPPORT |
| bool "Pseudorandom generator and $RANDOM variable" |
| default BUSYBOX_DEFAULT_ASH_RANDOM_SUPPORT |
| depends on BUSYBOX_CONFIG_SHELL_ASH |
| help |
| Enable pseudorandom generator and dynamic variable "$RANDOM". |
| Each read of "$RANDOM" will generate a new pseudorandom value. |
| You can reset the generator by using a specified start value. |
| After "unset RANDOM" the generator will switch off and this |
| variable will no longer have special treatment. |
| |
| config BUSYBOX_CONFIG_ASH_EXPAND_PRMT |
| bool "Expand prompt string" |
| default BUSYBOX_DEFAULT_ASH_EXPAND_PRMT |
| depends on BUSYBOX_CONFIG_SHELL_ASH |
| help |
| $PS# may contain volatile content, such as backquote commands. |
| This option recreates the prompt string from the environment |
| variable each time it is displayed. |
| |
| config BUSYBOX_CONFIG_ASH_IDLE_TIMEOUT |
| bool "Idle timeout variable $TMOUT" |
| default BUSYBOX_DEFAULT_ASH_IDLE_TIMEOUT |
| depends on BUSYBOX_CONFIG_SHELL_ASH |
| help |
| Enable bash-like auto-logout after $TMOUT seconds of idle time. |
| |
| config BUSYBOX_CONFIG_ASH_MAIL |
| bool "Check for new mail in interactive shell" |
| default BUSYBOX_DEFAULT_ASH_MAIL |
| depends on BUSYBOX_CONFIG_SHELL_ASH |
| help |
| Enable "check for new mail" function: |
| if set, $MAIL file and $MAILPATH list of files |
| are checked for mtime changes, and "you have mail" |
| message is printed if change is detected. |
| |
| config BUSYBOX_CONFIG_ASH_ECHO |
| bool "echo builtin" |
| default BUSYBOX_DEFAULT_ASH_ECHO |
| depends on BUSYBOX_CONFIG_SHELL_ASH |
| |
| config BUSYBOX_CONFIG_ASH_PRINTF |
| bool "printf builtin" |
| default BUSYBOX_DEFAULT_ASH_PRINTF |
| depends on BUSYBOX_CONFIG_SHELL_ASH |
| |
| config BUSYBOX_CONFIG_ASH_TEST |
| bool "test builtin" |
| default BUSYBOX_DEFAULT_ASH_TEST |
| depends on BUSYBOX_CONFIG_SHELL_ASH |
| |
| config BUSYBOX_CONFIG_ASH_SLEEP |
| bool "sleep builtin" |
| default BUSYBOX_DEFAULT_ASH_SLEEP |
| depends on BUSYBOX_CONFIG_SHELL_ASH |
| |
| config BUSYBOX_CONFIG_ASH_HELP |
| bool "help builtin" |
| default BUSYBOX_DEFAULT_ASH_HELP |
| depends on BUSYBOX_CONFIG_SHELL_ASH |
| |
| config BUSYBOX_CONFIG_ASH_GETOPTS |
| bool "getopts builtin" |
| default BUSYBOX_DEFAULT_ASH_GETOPTS |
| depends on BUSYBOX_CONFIG_SHELL_ASH |
| |
| config BUSYBOX_CONFIG_ASH_CMDCMD |
| bool "command builtin" |
| default BUSYBOX_DEFAULT_ASH_CMDCMD |
| depends on BUSYBOX_CONFIG_SHELL_ASH |
| help |
| Enable support for the 'command' builtin, which allows |
| you to run the specified command or builtin, |
| even when there is a function with the same name. |
| |
| endif # ash options |
| config BUSYBOX_CONFIG_CTTYHACK |
| bool "cttyhack (2.4 kb)" |
| default BUSYBOX_DEFAULT_CTTYHACK |
| help |
| One common problem reported on the mailing list is the "can't |
| access tty; job control turned off" error message, which typically |
| appears when one tries to use a shell with stdin/stdout on |
| /dev/console. |
| This device is special - it cannot be a controlling tty. |
| |
| The proper solution is to use the correct device instead of |
| /dev/console. |
| |
| cttyhack provides a "quick and dirty" solution to this problem. |
| It analyzes stdin with various ioctls, trying to determine whether |
| it is a /dev/ttyN or /dev/ttySN (virtual terminal or serial line). |
| On Linux it also checks sysfs for a pointer to the active console. |
| If cttyhack is able to find the real console device, it closes |
| stdin/out/err and reopens that device. |
| Then it executes the given program. Opening the device will make |
| that device a controlling tty. This may require cttyhack |
| to be a session leader. |
| |
| Example for /etc/inittab (for busybox init): |
| |
| ::respawn:/bin/cttyhack /bin/sh |
| |
| Starting an interactive shell from boot shell script: |
| |
| setsid cttyhack sh |
| |
| Giving controlling tty to shell running with PID 1: |
| |
| # exec cttyhack sh |
| |
| Without cttyhack, you need to know exact tty name, |
| and do something like this: |
| |
| # exec setsid sh -c 'exec sh </dev/tty1 >/dev/tty1 2>&1' |
| |
| Starting getty on a controlling tty from a shell script: |
| |
| # getty 115200 $(cttyhack) |
| config BUSYBOX_CONFIG_HUSH |
| bool "hush (68 kb)" |
| default BUSYBOX_DEFAULT_HUSH |
| select BUSYBOX_CONFIG_SHELL_HUSH |
| help |
| hush is a small shell. It handles the normal flow control |
| constructs such as if/then/elif/else/fi, for/in/do/done, while loops, |
| case/esac. Redirections, here documents, $((arithmetic)) |
| and functions are supported. |
| |
| It will compile and work on no-mmu systems. |
| |
| It does not handle select, aliases, tilde expansion, |
| &>file and >&file redirection of stdout+stderr. |
| |
| config BUSYBOX_CONFIG_SHELL_HUSH |
| bool "Internal shell for embedded script support" |
| default BUSYBOX_DEFAULT_SHELL_HUSH |
| |
| # hush options |
| # It's only needed to get "nice" menuconfig indenting. |
| if SHELL_HUSH || BUSYBOX_CONFIG_HUSH || BUSYBOX_CONFIG_SH_IS_HUSH || BUSYBOX_CONFIG_BASH_IS_HUSH |
| |
| config BUSYBOX_CONFIG_HUSH_BASH_COMPAT |
| bool "bash-compatible extensions" |
| default BUSYBOX_DEFAULT_HUSH_BASH_COMPAT |
| depends on BUSYBOX_CONFIG_SHELL_HUSH |
| |
| config BUSYBOX_CONFIG_HUSH_BRACE_EXPANSION |
| bool "Brace expansion" |
| default BUSYBOX_DEFAULT_HUSH_BRACE_EXPANSION |
| depends on BUSYBOX_CONFIG_HUSH_BASH_COMPAT |
| help |
| Enable {abc,def} extension. |
| |
| config BUSYBOX_CONFIG_HUSH_BASH_SOURCE_CURDIR |
| bool "'source' and '.' builtins search current directory after $PATH" |
| default BUSYBOX_DEFAULT_HUSH_BASH_SOURCE_CURDIR # do not encourage non-standard behavior |
| depends on BUSYBOX_CONFIG_HUSH_BASH_COMPAT |
| help |
| This is not compliant with standards. Avoid if possible. |
| |
| config BUSYBOX_CONFIG_HUSH_LINENO_VAR |
| bool "$LINENO variable (bashism)" |
| default BUSYBOX_DEFAULT_HUSH_LINENO_VAR |
| depends on BUSYBOX_CONFIG_SHELL_HUSH |
| |
| config BUSYBOX_CONFIG_HUSH_INTERACTIVE |
| bool "Interactive mode" |
| default BUSYBOX_DEFAULT_HUSH_INTERACTIVE |
| depends on BUSYBOX_CONFIG_SHELL_HUSH |
| help |
| Enable interactive mode (prompt and command editing). |
| Without this, hush simply reads and executes commands |
| from stdin just like a shell script from a file. |
| No prompt, no PS1/PS2 magic shell variables. |
| |
| config BUSYBOX_CONFIG_HUSH_SAVEHISTORY |
| bool "Save command history to .hush_history" |
| default BUSYBOX_DEFAULT_HUSH_SAVEHISTORY |
| depends on BUSYBOX_CONFIG_HUSH_INTERACTIVE && BUSYBOX_CONFIG_FEATURE_EDITING_SAVEHISTORY |
| |
| config BUSYBOX_CONFIG_HUSH_JOB |
| bool "Job control" |
| default BUSYBOX_DEFAULT_HUSH_JOB |
| depends on BUSYBOX_CONFIG_HUSH_INTERACTIVE |
| help |
| Enable job control: Ctrl-Z backgrounds, Ctrl-C interrupts current |
| command (not entire shell), fg/bg builtins work. Without this option, |
| "cmd &" still works by simply spawning a process and immediately |
| prompting for next command (or executing next command in a script), |
| but no separate process group is formed. |
| |
| config BUSYBOX_CONFIG_HUSH_TICK |
| bool "Support command substitution" |
| default BUSYBOX_DEFAULT_HUSH_TICK |
| depends on BUSYBOX_CONFIG_SHELL_HUSH |
| help |
| Enable `command` and $(command). |
| |
| config BUSYBOX_CONFIG_HUSH_IF |
| bool "Support if/then/elif/else/fi" |
| default BUSYBOX_DEFAULT_HUSH_IF |
| depends on BUSYBOX_CONFIG_SHELL_HUSH |
| |
| config BUSYBOX_CONFIG_HUSH_LOOPS |
| bool "Support for, while and until loops" |
| default BUSYBOX_DEFAULT_HUSH_LOOPS |
| depends on BUSYBOX_CONFIG_SHELL_HUSH |
| |
| config BUSYBOX_CONFIG_HUSH_CASE |
| bool "Support case ... esac statement" |
| default BUSYBOX_DEFAULT_HUSH_CASE |
| depends on BUSYBOX_CONFIG_SHELL_HUSH |
| help |
| Enable case ... esac statement. +400 bytes. |
| |
| config BUSYBOX_CONFIG_HUSH_FUNCTIONS |
| bool "Support funcname() { commands; } syntax" |
| default BUSYBOX_DEFAULT_HUSH_FUNCTIONS |
| depends on BUSYBOX_CONFIG_SHELL_HUSH |
| help |
| Enable support for shell functions. +800 bytes. |
| |
| config BUSYBOX_CONFIG_HUSH_LOCAL |
| bool "local builtin" |
| default BUSYBOX_DEFAULT_HUSH_LOCAL |
| depends on BUSYBOX_CONFIG_HUSH_FUNCTIONS |
| help |
| Enable support for local variables in functions. |
| |
| config BUSYBOX_CONFIG_HUSH_RANDOM_SUPPORT |
| bool "Pseudorandom generator and $RANDOM variable" |
| default BUSYBOX_DEFAULT_HUSH_RANDOM_SUPPORT |
| depends on BUSYBOX_CONFIG_SHELL_HUSH |
| help |
| Enable pseudorandom generator and dynamic variable "$RANDOM". |
| Each read of "$RANDOM" will generate a new pseudorandom value. |
| |
| config BUSYBOX_CONFIG_HUSH_MODE_X |
| bool "Support 'hush -x' option and 'set -x' command" |
| default BUSYBOX_DEFAULT_HUSH_MODE_X |
| depends on BUSYBOX_CONFIG_SHELL_HUSH |
| help |
| This instructs hush to print commands before execution. |
| Adds ~300 bytes. |
| |
| config BUSYBOX_CONFIG_HUSH_ECHO |
| bool "echo builtin" |
| default BUSYBOX_DEFAULT_HUSH_ECHO |
| depends on BUSYBOX_CONFIG_SHELL_HUSH |
| |
| config BUSYBOX_CONFIG_HUSH_PRINTF |
| bool "printf builtin" |
| default BUSYBOX_DEFAULT_HUSH_PRINTF |
| depends on BUSYBOX_CONFIG_SHELL_HUSH |
| |
| config BUSYBOX_CONFIG_HUSH_TEST |
| bool "test builtin" |
| default BUSYBOX_DEFAULT_HUSH_TEST |
| depends on BUSYBOX_CONFIG_SHELL_HUSH |
| |
| config BUSYBOX_CONFIG_HUSH_HELP |
| bool "help builtin" |
| default BUSYBOX_DEFAULT_HUSH_HELP |
| depends on BUSYBOX_CONFIG_SHELL_HUSH |
| |
| config BUSYBOX_CONFIG_HUSH_EXPORT |
| bool "export builtin" |
| default BUSYBOX_DEFAULT_HUSH_EXPORT |
| depends on BUSYBOX_CONFIG_SHELL_HUSH |
| |
| config BUSYBOX_CONFIG_HUSH_EXPORT_N |
| bool "Support 'export -n' option" |
| default BUSYBOX_DEFAULT_HUSH_EXPORT_N |
| depends on BUSYBOX_CONFIG_HUSH_EXPORT |
| help |
| export -n unexports variables. It is a bash extension. |
| |
| config BUSYBOX_CONFIG_HUSH_READONLY |
| bool "readonly builtin" |
| default BUSYBOX_DEFAULT_HUSH_READONLY |
| depends on BUSYBOX_CONFIG_SHELL_HUSH |
| help |
| Enable support for read-only variables. |
| |
| config BUSYBOX_CONFIG_HUSH_KILL |
| bool "kill builtin (supports kill %jobspec)" |
| default BUSYBOX_DEFAULT_HUSH_KILL |
| depends on BUSYBOX_CONFIG_SHELL_HUSH |
| |
| config BUSYBOX_CONFIG_HUSH_WAIT |
| bool "wait builtin" |
| default BUSYBOX_DEFAULT_HUSH_WAIT |
| depends on BUSYBOX_CONFIG_SHELL_HUSH |
| |
| config BUSYBOX_CONFIG_HUSH_COMMAND |
| bool "command builtin" |
| default BUSYBOX_DEFAULT_HUSH_COMMAND |
| depends on BUSYBOX_CONFIG_SHELL_HUSH |
| |
| config BUSYBOX_CONFIG_HUSH_TRAP |
| bool "trap builtin" |
| default BUSYBOX_DEFAULT_HUSH_TRAP |
| depends on BUSYBOX_CONFIG_SHELL_HUSH |
| |
| config BUSYBOX_CONFIG_HUSH_TYPE |
| bool "type builtin" |
| default BUSYBOX_DEFAULT_HUSH_TYPE |
| depends on BUSYBOX_CONFIG_SHELL_HUSH |
| |
| config BUSYBOX_CONFIG_HUSH_TIMES |
| bool "times builtin" |
| default BUSYBOX_DEFAULT_HUSH_TIMES |
| depends on BUSYBOX_CONFIG_SHELL_HUSH |
| |
| config BUSYBOX_CONFIG_HUSH_READ |
| bool "read builtin" |
| default BUSYBOX_DEFAULT_HUSH_READ |
| depends on BUSYBOX_CONFIG_SHELL_HUSH |
| |
| config BUSYBOX_CONFIG_HUSH_SET |
| bool "set builtin" |
| default BUSYBOX_DEFAULT_HUSH_SET |
| depends on BUSYBOX_CONFIG_SHELL_HUSH |
| |
| config BUSYBOX_CONFIG_HUSH_UNSET |
| bool "unset builtin" |
| default BUSYBOX_DEFAULT_HUSH_UNSET |
| depends on BUSYBOX_CONFIG_SHELL_HUSH |
| |
| config BUSYBOX_CONFIG_HUSH_ULIMIT |
| bool "ulimit builtin" |
| default BUSYBOX_DEFAULT_HUSH_ULIMIT |
| depends on BUSYBOX_CONFIG_SHELL_HUSH |
| |
| config BUSYBOX_CONFIG_HUSH_UMASK |
| bool "umask builtin" |
| default BUSYBOX_DEFAULT_HUSH_UMASK |
| depends on BUSYBOX_CONFIG_SHELL_HUSH |
| |
| config BUSYBOX_CONFIG_HUSH_GETOPTS |
| bool "getopts builtin" |
| default BUSYBOX_DEFAULT_HUSH_GETOPTS |
| depends on BUSYBOX_CONFIG_SHELL_HUSH |
| |
| config BUSYBOX_CONFIG_HUSH_MEMLEAK |
| bool "memleak builtin (debugging)" |
| default BUSYBOX_DEFAULT_HUSH_MEMLEAK |
| depends on BUSYBOX_CONFIG_SHELL_HUSH |
| |
| endif # hush options |
| |
| |
| comment "Options common to all shells" |
| if BUSYBOX_CONFIG_SHELL_ASH || BUSYBOX_CONFIG_SHELL_HUSH |
| |
| config BUSYBOX_CONFIG_FEATURE_SH_MATH |
| bool "POSIX math support" |
| default BUSYBOX_DEFAULT_FEATURE_SH_MATH |
| depends on BUSYBOX_CONFIG_SHELL_ASH || BUSYBOX_CONFIG_SHELL_HUSH |
| help |
| Enable math support in the shell via $((...)) syntax. |
| |
| config BUSYBOX_CONFIG_FEATURE_SH_MATH_64 |
| bool "Extend POSIX math support to 64 bit" |
| default BUSYBOX_DEFAULT_FEATURE_SH_MATH_64 |
| depends on BUSYBOX_CONFIG_FEATURE_SH_MATH |
| help |
| Enable 64-bit math support in the shell. This will make the shell |
| slightly larger, but will allow computation with very large numbers. |
| This is not in POSIX, so do not rely on this in portable code. |
| |
| config BUSYBOX_CONFIG_FEATURE_SH_MATH_BASE |
| bool "Support BASE#nnnn literals" |
| default BUSYBOX_DEFAULT_FEATURE_SH_MATH_BASE |
| depends on BUSYBOX_CONFIG_FEATURE_SH_MATH |
| |
| config BUSYBOX_CONFIG_FEATURE_SH_EXTRA_QUIET |
| bool "Hide message on interactive shell startup" |
| default BUSYBOX_DEFAULT_FEATURE_SH_EXTRA_QUIET |
| depends on BUSYBOX_CONFIG_SHELL_ASH || BUSYBOX_CONFIG_SHELL_HUSH |
| help |
| Remove the busybox introduction when starting a shell. |
| |
| config BUSYBOX_CONFIG_FEATURE_SH_STANDALONE |
| bool "Standalone shell" |
| default BUSYBOX_DEFAULT_FEATURE_SH_STANDALONE |
| depends on BUSYBOX_CONFIG_SHELL_ASH || BUSYBOX_CONFIG_SHELL_HUSH |
| help |
| This option causes busybox shells to use busybox applets |
| in preference to executables in the PATH whenever possible. For |
| example, entering the command 'ifconfig' into the shell would cause |
| busybox to use the ifconfig busybox applet. Specifying the fully |
| qualified executable name, such as '/sbin/ifconfig' will still |
| execute the /sbin/ifconfig executable on the filesystem. This option |
| is generally used when creating a statically linked version of busybox |
| for use as a rescue shell, in the event that you screw up your system. |
| |
| This is implemented by re-execing /proc/self/exe (typically) |
| with right parameters. |
| |
| However, there are drawbacks: it is problematic in chroot jails |
| without mounted /proc, and ps/top may show command name as 'exe' |
| for applets started this way. |
| |
| config BUSYBOX_CONFIG_FEATURE_SH_NOFORK |
| bool "Run 'nofork' applets directly" |
| default BUSYBOX_DEFAULT_FEATURE_SH_NOFORK |
| depends on BUSYBOX_CONFIG_SHELL_ASH || BUSYBOX_CONFIG_SHELL_HUSH |
| help |
| This option causes busybox shells to not execute typical |
| fork/exec/wait sequence, but call <applet>_main directly, |
| if possible. (Sometimes it is not possible: for example, |
| this is not possible in pipes). |
| |
| This will be done only for some applets (those which are marked |
| NOFORK in include/applets.h). |
| |
| This may significantly speed up some shell scripts. |
| |
| This feature is relatively new. Use with care. Report bugs |
| to project mailing list. |
| |
| config BUSYBOX_CONFIG_FEATURE_SH_READ_FRAC |
| bool "read -t N.NNN support (+110 bytes)" |
| default BUSYBOX_DEFAULT_FEATURE_SH_READ_FRAC |
| depends on BUSYBOX_CONFIG_SHELL_ASH || BUSYBOX_CONFIG_SHELL_HUSH |
| help |
| Enable support for fractional second timeout in read builtin. |
| |
| config BUSYBOX_CONFIG_FEATURE_SH_HISTFILESIZE |
| bool "Use $HISTFILESIZE" |
| default BUSYBOX_DEFAULT_FEATURE_SH_HISTFILESIZE |
| depends on BUSYBOX_CONFIG_SHELL_ASH || BUSYBOX_CONFIG_SHELL_HUSH |
| help |
| This option makes busybox shells to use $HISTFILESIZE variable |
| to set shell history size. Note that its max value is capped |
| by "History size" setting in library tuning section. |
| |
| config BUSYBOX_CONFIG_FEATURE_SH_EMBEDDED_SCRIPTS |
| bool "Embed scripts in the binary" |
| default BUSYBOX_DEFAULT_FEATURE_SH_EMBEDDED_SCRIPTS |
| depends on BUSYBOX_CONFIG_SHELL_ASH || BUSYBOX_CONFIG_SHELL_HUSH |
| help |
| Allow scripts to be compressed and embedded in the busybox |
| binary. The scripts should be placed in the 'embed' directory |
| at build time. Like applets, scripts can be run as |
| 'busybox SCRIPT ...' or by linking their name to the binary. |
| |
| This also allows applets to be implemented as scripts: place |
| the script in 'applets_sh' and a stub C file containing |
| configuration in the appropriate subsystem directory. |
| |
| endif # Options common to all shells |
| |
| endmenu |