Eric Andersen | c9f20d9 | 2002-12-05 08:41:41 +0000 | [diff] [blame] | 1 | # |
| 2 | # For a description of the syntax of this configuration file, |
Kartik Agaram | 43b17b1 | 2018-05-31 22:15:55 -0700 | [diff] [blame] | 3 | # see docs/Kconfig-language.txt. |
Eric Andersen | c9f20d9 | 2002-12-05 08:41:41 +0000 | [diff] [blame] | 4 | # |
| 5 | |
Mike Frysinger | 9ac178a | 2005-09-24 05:49:36 +0000 | [diff] [blame] | 6 | menu "Shells" |
Eric Andersen | c9f20d9 | 2002-12-05 08:41:41 +0000 | [diff] [blame] | 7 | |
Denys Vlasenko | c8aae0b | 2010-06-06 22:14:58 +0200 | [diff] [blame] | 8 | |
| 9 | choice |
| 10 | prompt "Choose which shell is aliased to 'sh' name" |
Denys Vlasenko | 0b88358 | 2016-12-23 16:49:07 +0100 | [diff] [blame] | 11 | default SH_IS_ASH |
Denys Vlasenko | c8aae0b | 2010-06-06 22:14:58 +0200 | [diff] [blame] | 12 | help |
Denys Vlasenko | 72089cf | 2017-07-21 09:50:55 +0200 | [diff] [blame] | 13 | Choose which shell you want to be executed by 'sh' alias. |
| 14 | The ash shell is the most bash compatible and full featured one. |
Denys Vlasenko | c8aae0b | 2010-06-06 22:14:58 +0200 | [diff] [blame] | 15 | |
Denys Vlasenko | 121fb95 | 2010-06-07 13:34:34 +0200 | [diff] [blame] | 16 | # note: cannot use "select ASH" here, it breaks "make allnoconfig" |
Denys Vlasenko | 0b88358 | 2016-12-23 16:49:07 +0100 | [diff] [blame] | 17 | config SH_IS_ASH |
Denys Vlasenko | c8aae0b | 2010-06-06 22:14:58 +0200 | [diff] [blame] | 18 | depends on !NOMMU |
Denys Vlasenko | 0b88358 | 2016-12-23 16:49:07 +0100 | [diff] [blame] | 19 | bool "ash" |
Kang-Che Sung | 9529115 | 2017-01-04 12:29:04 +0100 | [diff] [blame] | 20 | help |
Denys Vlasenko | 72089cf | 2017-07-21 09:50:55 +0200 | [diff] [blame] | 21 | Choose ash to be the shell executed by 'sh' name. |
| 22 | The ash code will be built into busybox. If you don't select |
| 23 | "ash" choice (CONFIG_ASH), this shell may only be invoked by |
| 24 | the name 'sh' (and not 'ash'). |
Denys Vlasenko | c8aae0b | 2010-06-06 22:14:58 +0200 | [diff] [blame] | 25 | |
Denys Vlasenko | 0b88358 | 2016-12-23 16:49:07 +0100 | [diff] [blame] | 26 | config SH_IS_HUSH |
Denys Vlasenko | c8aae0b | 2010-06-06 22:14:58 +0200 | [diff] [blame] | 27 | bool "hush" |
Kang-Che Sung | 9529115 | 2017-01-04 12:29:04 +0100 | [diff] [blame] | 28 | help |
Denys Vlasenko | 72089cf | 2017-07-21 09:50:55 +0200 | [diff] [blame] | 29 | Choose hush to be the shell executed by 'sh' name. |
| 30 | The hush code will be built into busybox. If you don't select |
| 31 | "hush" choice (CONFIG_HUSH), this shell may only be invoked by |
| 32 | the name 'sh' (and not 'hush'). |
Denys Vlasenko | c8aae0b | 2010-06-06 22:14:58 +0200 | [diff] [blame] | 33 | |
Denys Vlasenko | 0b88358 | 2016-12-23 16:49:07 +0100 | [diff] [blame] | 34 | config SH_IS_NONE |
Denys Vlasenko | c8aae0b | 2010-06-06 22:14:58 +0200 | [diff] [blame] | 35 | bool "none" |
| 36 | |
| 37 | endchoice |
| 38 | |
| 39 | choice |
| 40 | prompt "Choose which shell is aliased to 'bash' name" |
Denys Vlasenko | 0b88358 | 2016-12-23 16:49:07 +0100 | [diff] [blame] | 41 | default BASH_IS_NONE |
Denys Vlasenko | c8aae0b | 2010-06-06 22:14:58 +0200 | [diff] [blame] | 42 | help |
Denys Vlasenko | 72089cf | 2017-07-21 09:50:55 +0200 | [diff] [blame] | 43 | Choose which shell you want to be executed by 'bash' alias. |
| 44 | The ash shell is the most bash compatible and full featured one, |
| 45 | although compatibility is far from being complete. |
Denys Vlasenko | c8aae0b | 2010-06-06 22:14:58 +0200 | [diff] [blame] | 46 | |
Denys Vlasenko | 72089cf | 2017-07-21 09:50:55 +0200 | [diff] [blame] | 47 | Note that selecting this option does not switch on any bash |
| 48 | compatibility code. It merely makes it possible to install |
| 49 | /bin/bash (sym)link and run scripts which start with |
| 50 | #!/bin/bash line. |
Denys Vlasenko | c8aae0b | 2010-06-06 22:14:58 +0200 | [diff] [blame] | 51 | |
Denys Vlasenko | 72089cf | 2017-07-21 09:50:55 +0200 | [diff] [blame] | 52 | Many systems use it in scripts which use bash-specific features, |
| 53 | even simple ones like $RANDOM. Without this option, busybox |
| 54 | can't be used for running them because it won't recongnize |
| 55 | "bash" as a supported applet name. |
Denys Vlasenko | c8aae0b | 2010-06-06 22:14:58 +0200 | [diff] [blame] | 56 | |
Denys Vlasenko | 0b88358 | 2016-12-23 16:49:07 +0100 | [diff] [blame] | 57 | config BASH_IS_ASH |
Denys Vlasenko | c8aae0b | 2010-06-06 22:14:58 +0200 | [diff] [blame] | 58 | depends on !NOMMU |
Denys Vlasenko | 0b88358 | 2016-12-23 16:49:07 +0100 | [diff] [blame] | 59 | bool "ash" |
Kang-Che Sung | 9529115 | 2017-01-04 12:29:04 +0100 | [diff] [blame] | 60 | help |
Denys Vlasenko | 72089cf | 2017-07-21 09:50:55 +0200 | [diff] [blame] | 61 | Choose ash to be the shell executed by 'bash' name. |
| 62 | The ash code will be built into busybox. If you don't select |
| 63 | "ash" choice (CONFIG_ASH), this shell may only be invoked by |
| 64 | the name 'bash' (and not 'ash'). |
Denys Vlasenko | c8aae0b | 2010-06-06 22:14:58 +0200 | [diff] [blame] | 65 | |
Denys Vlasenko | 0b88358 | 2016-12-23 16:49:07 +0100 | [diff] [blame] | 66 | config BASH_IS_HUSH |
Denys Vlasenko | c8aae0b | 2010-06-06 22:14:58 +0200 | [diff] [blame] | 67 | bool "hush" |
Kang-Che Sung | 9529115 | 2017-01-04 12:29:04 +0100 | [diff] [blame] | 68 | help |
Denys Vlasenko | 72089cf | 2017-07-21 09:50:55 +0200 | [diff] [blame] | 69 | Choose hush to be the shell executed by 'bash' name. |
| 70 | The hush code will be built into busybox. If you don't select |
| 71 | "hush" choice (CONFIG_HUSH), this shell may only be invoked by |
| 72 | the name 'bash' (and not 'hush'). |
Denys Vlasenko | c8aae0b | 2010-06-06 22:14:58 +0200 | [diff] [blame] | 73 | |
Denys Vlasenko | 0b88358 | 2016-12-23 16:49:07 +0100 | [diff] [blame] | 74 | config BASH_IS_NONE |
Denys Vlasenko | c8aae0b | 2010-06-06 22:14:58 +0200 | [diff] [blame] | 75 | bool "none" |
| 76 | |
| 77 | endchoice |
| 78 | |
| 79 | |
Denys Vlasenko | 0b88358 | 2016-12-23 16:49:07 +0100 | [diff] [blame] | 80 | INSERT |
| 81 | |
| 82 | |
Kang-Che Sung | 6cd0294 | 2017-01-06 17:02:03 +0100 | [diff] [blame] | 83 | comment "Options common to all shells" |
| 84 | if ASH || HUSH || SH_IS_ASH || BASH_IS_ASH || SH_IS_HUSH || BASH_IS_HUSH |
| 85 | |
Denys Vlasenko | 0b88358 | 2016-12-23 16:49:07 +0100 | [diff] [blame] | 86 | config FEATURE_SH_MATH |
Mike Frysinger | 98c5264 | 2009-04-02 10:02:37 +0000 | [diff] [blame] | 87 | bool "POSIX math support" |
| 88 | default y |
Denys Vlasenko | 0b88358 | 2016-12-23 16:49:07 +0100 | [diff] [blame] | 89 | depends on ASH || HUSH || SH_IS_ASH || BASH_IS_ASH || SH_IS_HUSH || BASH_IS_HUSH |
Mike Frysinger | 98c5264 | 2009-04-02 10:02:37 +0000 | [diff] [blame] | 90 | help |
Denys Vlasenko | 72089cf | 2017-07-21 09:50:55 +0200 | [diff] [blame] | 91 | Enable math support in the shell via $((...)) syntax. |
Mike Frysinger | 98c5264 | 2009-04-02 10:02:37 +0000 | [diff] [blame] | 92 | |
Denys Vlasenko | 0b88358 | 2016-12-23 16:49:07 +0100 | [diff] [blame] | 93 | config FEATURE_SH_MATH_64 |
Mike Frysinger | 98c5264 | 2009-04-02 10:02:37 +0000 | [diff] [blame] | 94 | bool "Extend POSIX math support to 64 bit" |
Denys Vlasenko | 2f32bf8 | 2010-06-06 04:14:28 +0200 | [diff] [blame] | 95 | default y |
Denys Vlasenko | 0b88358 | 2016-12-23 16:49:07 +0100 | [diff] [blame] | 96 | depends on FEATURE_SH_MATH |
Mike Frysinger | 98c5264 | 2009-04-02 10:02:37 +0000 | [diff] [blame] | 97 | help |
Denys Vlasenko | 72089cf | 2017-07-21 09:50:55 +0200 | [diff] [blame] | 98 | Enable 64-bit math support in the shell. This will make the shell |
| 99 | slightly larger, but will allow computation with very large numbers. |
| 100 | This is not in POSIX, so do not rely on this in portable code. |
Mike Frysinger | 98c5264 | 2009-04-02 10:02:37 +0000 | [diff] [blame] | 101 | |
Denis Vlasenko | 7d219aa | 2006-10-05 10:17:08 +0000 | [diff] [blame] | 102 | config FEATURE_SH_EXTRA_QUIET |
Glenn L McGrath | 3b25185 | 2004-01-03 12:07:32 +0000 | [diff] [blame] | 103 | bool "Hide message on interactive shell startup" |
Denys Vlasenko | 2f32bf8 | 2010-06-06 04:14:28 +0200 | [diff] [blame] | 104 | default y |
Denys Vlasenko | 0b88358 | 2016-12-23 16:49:07 +0100 | [diff] [blame] | 105 | depends on ASH || HUSH || SH_IS_ASH || BASH_IS_ASH || SH_IS_HUSH || BASH_IS_HUSH |
Eric Andersen | c9f20d9 | 2002-12-05 08:41:41 +0000 | [diff] [blame] | 106 | help |
Denys Vlasenko | 72089cf | 2017-07-21 09:50:55 +0200 | [diff] [blame] | 107 | Remove the busybox introduction when starting a shell. |
Eric Andersen | c9f20d9 | 2002-12-05 08:41:41 +0000 | [diff] [blame] | 108 | |
Denis Vlasenko | 80d14be | 2007-04-10 23:03:30 +0000 | [diff] [blame] | 109 | config FEATURE_SH_STANDALONE |
Eric Andersen | c9f20d9 | 2002-12-05 08:41:41 +0000 | [diff] [blame] | 110 | bool "Standalone shell" |
| 111 | default n |
Denys Vlasenko | 0b88358 | 2016-12-23 16:49:07 +0100 | [diff] [blame] | 112 | depends on ASH || HUSH || SH_IS_ASH || BASH_IS_ASH || SH_IS_HUSH || BASH_IS_HUSH |
Eric Andersen | c9f20d9 | 2002-12-05 08:41:41 +0000 | [diff] [blame] | 113 | help |
Denys Vlasenko | 72089cf | 2017-07-21 09:50:55 +0200 | [diff] [blame] | 114 | This option causes busybox shells to use busybox applets |
| 115 | in preference to executables in the PATH whenever possible. For |
| 116 | example, entering the command 'ifconfig' into the shell would cause |
| 117 | busybox to use the ifconfig busybox applet. Specifying the fully |
| 118 | qualified executable name, such as '/sbin/ifconfig' will still |
| 119 | execute the /sbin/ifconfig executable on the filesystem. This option |
| 120 | is generally used when creating a statically linked version of busybox |
| 121 | for use as a rescue shell, in the event that you screw up your system. |
Eric Andersen | c9f20d9 | 2002-12-05 08:41:41 +0000 | [diff] [blame] | 122 | |
Denys Vlasenko | 72089cf | 2017-07-21 09:50:55 +0200 | [diff] [blame] | 123 | This is implemented by re-execing /proc/self/exe (typically) |
| 124 | with right parameters. |
Paul Fox | 6ab0378 | 2006-06-08 21:37:26 +0000 | [diff] [blame] | 125 | |
Denys Vlasenko | 72089cf | 2017-07-21 09:50:55 +0200 | [diff] [blame] | 126 | However, there are drawbacks: it is problematic in chroot jails |
| 127 | without mounted /proc, and ps/top may show command name as 'exe' |
| 128 | for applets started this way. |
Eric Andersen | 6f8542b | 2004-09-24 01:25:39 +0000 | [diff] [blame] | 129 | |
Denis Vlasenko | 9bc80d7 | 2008-04-12 20:07:53 +0000 | [diff] [blame] | 130 | config FEATURE_SH_NOFORK |
| 131 | bool "Run 'nofork' applets directly" |
| 132 | default n |
Denys Vlasenko | 0b88358 | 2016-12-23 16:49:07 +0100 | [diff] [blame] | 133 | depends on ASH || HUSH || SH_IS_ASH || BASH_IS_ASH || SH_IS_HUSH || BASH_IS_HUSH |
Denis Vlasenko | 9bc80d7 | 2008-04-12 20:07:53 +0000 | [diff] [blame] | 134 | help |
Denys Vlasenko | 72089cf | 2017-07-21 09:50:55 +0200 | [diff] [blame] | 135 | This option causes busybox shells to not execute typical |
| 136 | fork/exec/wait sequence, but call <applet>_main directly, |
| 137 | if possible. (Sometimes it is not possible: for example, |
| 138 | this is not possible in pipes). |
Denis Vlasenko | 9bc80d7 | 2008-04-12 20:07:53 +0000 | [diff] [blame] | 139 | |
Denys Vlasenko | 72089cf | 2017-07-21 09:50:55 +0200 | [diff] [blame] | 140 | This will be done only for some applets (those which are marked |
| 141 | NOFORK in include/applets.h). |
Denis Vlasenko | 9bc80d7 | 2008-04-12 20:07:53 +0000 | [diff] [blame] | 142 | |
Denys Vlasenko | 72089cf | 2017-07-21 09:50:55 +0200 | [diff] [blame] | 143 | This may significantly speed up some shell scripts. |
Denis Vlasenko | 9bc80d7 | 2008-04-12 20:07:53 +0000 | [diff] [blame] | 144 | |
Denys Vlasenko | 72089cf | 2017-07-21 09:50:55 +0200 | [diff] [blame] | 145 | This feature is relatively new. Use with care. Report bugs |
| 146 | to project mailing list. |
Denis Vlasenko | 9bc80d7 | 2008-04-12 20:07:53 +0000 | [diff] [blame] | 147 | |
Denys Vlasenko | eae1268 | 2017-07-20 16:09:31 +0200 | [diff] [blame] | 148 | config FEATURE_SH_READ_FRAC |
| 149 | bool "read -t N.NNN support (+110 bytes)" |
| 150 | default y |
| 151 | depends on ASH || HUSH || SH_IS_ASH || BASH_IS_ASH || SH_IS_HUSH || BASH_IS_HUSH |
| 152 | help |
Denys Vlasenko | 72089cf | 2017-07-21 09:50:55 +0200 | [diff] [blame] | 153 | Enable support for fractional second timeout in read builtin. |
Denys Vlasenko | eae1268 | 2017-07-20 16:09:31 +0200 | [diff] [blame] | 154 | |
Denys Vlasenko | 2c4de5b | 2011-03-31 13:16:52 +0200 | [diff] [blame] | 155 | config FEATURE_SH_HISTFILESIZE |
| 156 | bool "Use $HISTFILESIZE" |
| 157 | default y |
Denys Vlasenko | 0b88358 | 2016-12-23 16:49:07 +0100 | [diff] [blame] | 158 | depends on ASH || HUSH || SH_IS_ASH || BASH_IS_ASH || SH_IS_HUSH || BASH_IS_HUSH |
Denys Vlasenko | 2c4de5b | 2011-03-31 13:16:52 +0200 | [diff] [blame] | 159 | help |
Denys Vlasenko | 72089cf | 2017-07-21 09:50:55 +0200 | [diff] [blame] | 160 | This option makes busybox shells to use $HISTFILESIZE variable |
| 161 | to set shell history size. Note that its max value is capped |
| 162 | by "History size" setting in library tuning section. |
Denys Vlasenko | 2c4de5b | 2011-03-31 13:16:52 +0200 | [diff] [blame] | 163 | |
Ron Yorston | 71df2d3 | 2018-11-27 14:34:25 +0000 | [diff] [blame] | 164 | config FEATURE_SH_EMBEDDED_SCRIPTS |
| 165 | bool "Embed scripts in the binary" |
| 166 | default y |
| 167 | depends on ASH || HUSH || SH_IS_ASH || BASH_IS_ASH || SH_IS_HUSH || BASH_IS_HUSH |
| 168 | help |
| 169 | Allow scripts to be compressed and embedded in the busybox |
| 170 | binary. The scripts should be placed in the 'embed' directory |
| 171 | at build time. Like applets, scripts can be run as |
| 172 | 'busybox SCRIPT ...' or by linking their name to the binary. |
| 173 | |
| 174 | This also allows applets to be implemented as scripts: place |
| 175 | the script in 'applets_sh' and a stub C file containing |
| 176 | configuration in the appropriate subsystem directory. |
| 177 | |
Kang-Che Sung | 6cd0294 | 2017-01-06 17:02:03 +0100 | [diff] [blame] | 178 | endif # Options common to all shells |
Denys Vlasenko | 2c4de5b | 2011-03-31 13:16:52 +0200 | [diff] [blame] | 179 | |
Eric Andersen | c9f20d9 | 2002-12-05 08:41:41 +0000 | [diff] [blame] | 180 | endmenu |