3
0

Config.in 7.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240
  1. #
  2. # For a description of the syntax of this configuration file,
  3. # see scripts/kbuild/config-language.txt.
  4. #
  5. menu "Another Bourne-like Shell"
  6. choice
  7. prompt "Choose your default shell"
  8. default CONFIG_FEATURE_SH_IS_NONE
  9. help
  10. Choose a shell. The ash shell is the most bash compatible
  11. and full featured one.
  12. config CONFIG_FEATURE_SH_IS_ASH
  13. select CONFIG_ASH
  14. bool "ash"
  15. config CONFIG_FEATURE_SH_IS_HUSH
  16. select CONFIG_HUSH
  17. bool "hush"
  18. config CONFIG_FEATURE_SH_IS_LASH
  19. select CONFIG_LASH
  20. bool "lash"
  21. config CONFIG_FEATURE_SH_IS_MSH
  22. select CONFIG_MSH
  23. bool "msh"
  24. config CONFIG_FEATURE_SH_IS_NONE
  25. bool "none"
  26. endchoice
  27. config CONFIG_ASH
  28. bool "ash"
  29. default y
  30. help
  31. Tha 'ash' shell adds about 60k in the default configuration and is
  32. the most complete and most pedantically correct shell included with
  33. busybox. This shell is actually a derivative of the Debian 'dash'
  34. shell (by Herbert Xu), which was created by porting the 'ash' shell
  35. (written by Kenneth Almquist) from NetBSD.
  36. comment "Ash Shell Options"
  37. depends on CONFIG_ASH
  38. config CONFIG_ASH_JOB_CONTROL
  39. bool " Enable Job control"
  40. default y
  41. depends on CONFIG_ASH
  42. help
  43. Enable job control in the ash shell.
  44. config CONFIG_ASH_TIMEOUT
  45. bool " Enable read timeout support."
  46. default n
  47. depends on CONFIG_ASH_JOB_CONTROL
  48. help
  49. This option provides read -t <seconds> support.
  50. read builtin which allows the function to pass control back
  51. if no character input is read from the terminal within a set
  52. number of seconds.
  53. config CONFIG_ASH_ALIAS
  54. bool " Enable alias support"
  55. default y
  56. depends on CONFIG_ASH
  57. help
  58. Enable alias support in the ash shell.
  59. config CONFIG_ASH_MATH_SUPPORT
  60. bool " Enable Posix math support"
  61. default y
  62. depends on CONFIG_ASH
  63. help
  64. Enable math support in the ash shell.
  65. config CONFIG_ASH_MATH_SUPPORT_64
  66. bool " Extend Posix math support to 64 bit"
  67. default n
  68. depends on CONFIG_ASH_MATH_SUPPORT
  69. help
  70. Enable 64-bit math support in the ash shell. This will make
  71. the shell slightly larger, but will allow computation with very
  72. large numbers.
  73. config CONFIG_ASH_GETOPTS
  74. bool " Enable getopts builtin to parse positional parameters"
  75. default n
  76. depends on CONFIG_ASH
  77. help
  78. Enable getopts builtin in the ash shell.
  79. config CONFIG_ASH_CMDCMD
  80. bool " Enable cmdcmd to override shell builtins"
  81. default n
  82. depends on CONFIG_ASH
  83. help
  84. Enable support for the ash 'command' builtin, which allows
  85. you to run the specified command with the specified arguments,
  86. even when there is an ash builtin command with the same name.
  87. config CONFIG_ASH_MAIL
  88. bool " Check for new mail on interactive shells"
  89. default y
  90. depends on CONFIG_ASH
  91. help
  92. Enable "check for new mail" in the ash shell.
  93. config CONFIG_ASH_OPTIMIZE_FOR_SIZE
  94. bool " Optimize for size instead of speed"
  95. default y
  96. depends on CONFIG_ASH
  97. help
  98. Compile ash for reduced size at price of speed.
  99. config CONFIG_ASH_RANDOM_SUPPORT
  100. bool " Enable pseudorandom generator and variable $RANDOM"
  101. default n
  102. depends on CONFIG_ASH
  103. help
  104. Enable pseudorandom generator and dynamic variable "$RANDOM".
  105. Each read of "$RANDOM" will generate a new pseudorandom value.
  106. You can reset the generator by using a specified start value.
  107. After "unset RANDOM" then generator will switch off and this
  108. variable will no longer have special treatment.
  109. config CONFIG_HUSH
  110. bool "hush"
  111. default n
  112. help
  113. hush is a very small shell (just 18k) and it has fairly complete
  114. Bourne shell grammar. It even handles all the normal flow control
  115. options such as if/then/elif/else/fi, for/in/do/done, while loops,
  116. etc.
  117. It does not handle case/esac, select, function, here documents ( <<
  118. word ), arithmetic expansion, aliases, brace expansion, tilde
  119. expansion, &> and >& redirection of stdout+stderr, etc.
  120. config CONFIG_LASH
  121. bool "lash"
  122. default n
  123. help
  124. lash is the very smallest shell (adds just 10k) and it is quite
  125. usable as a command prompt, but it is not suitable for any but the
  126. most trivial scripting (such as an initrd that calls insmod a few
  127. times) since it does not understand any Bourne shell grammar. It
  128. does handle pipes, redirects, and job control though. Adding in
  129. command editing makes it a very nice lightweight command prompt.
  130. config CONFIG_MSH
  131. bool "msh"
  132. default n
  133. help
  134. The minix shell (adds just 30k) is quite complete and handles things
  135. like for/do/done, case/esac and all the things you expect a Bourne
  136. shell to do. It is not always pedantically correct about Bourne
  137. shell grammar (try running the shell testscript "tests/sh.testcases"
  138. on it and compare vs bash) but for most things it works quite well.
  139. It also uses only vfork, so it can be used on uClinux systems.
  140. comment "Bourne Shell Options"
  141. depends on CONFIG_MSH || CONFIG_LASH || CONFIG_HUSH || CONFIG_ASH
  142. config CONFIG_FEATURE_SH_EXTRA_QUIET
  143. bool "Hide message on interactive shell startup"
  144. default n
  145. depends on CONFIG_MSH || CONFIG_LASH || CONFIG_HUSH || CONFIG_ASH
  146. help
  147. Remove the busybox introduction when starting a shell.
  148. config CONFIG_FEATURE_SH_STANDALONE_SHELL
  149. bool "Standalone shell"
  150. default n
  151. depends on CONFIG_MSH || CONFIG_LASH || CONFIG_HUSH || CONFIG_ASH
  152. help
  153. This option causes the selected busybox shell to use busybox applets
  154. in preference to executables in the PATH whenever possible. For
  155. example, entering the command 'ifconfig' into the shell would cause
  156. busybox to use the ifconfig busybox applet. Specifying the fully
  157. qualified executable name, such as '/sbin/ifconfig' will still
  158. execute the /sbin/ifconfig executable on the filesystem. This option
  159. is generally used when creating a staticly linked version of busybox
  160. for use as a rescue shell, in the event that you screw up your system.
  161. Note that when using this option, the shell will attempt to directly
  162. run '/bin/busybox'. If you do not have the busybox binary sitting in
  163. that exact location with that exact name, this option will not work at
  164. all.
  165. config CONFIG_FEATURE_COMMAND_EDITING
  166. bool "command line editing"
  167. default n
  168. depends on CONFIG_MSH || CONFIG_LASH || CONFIG_HUSH || CONFIG_ASH
  169. help
  170. Enable command editing in shell.
  171. config CONFIG_FEATURE_COMMAND_HISTORY
  172. int "history size"
  173. default 15
  174. depends on CONFIG_FEATURE_COMMAND_EDITING
  175. help
  176. Specify command history size in shell.
  177. config CONFIG_FEATURE_COMMAND_SAVEHISTORY
  178. bool "history saving"
  179. default n
  180. depends on CONFIG_ASH && CONFIG_FEATURE_COMMAND_EDITING
  181. help
  182. Enable history saving in ash shell.
  183. config CONFIG_FEATURE_COMMAND_TAB_COMPLETION
  184. bool "tab completion"
  185. default n
  186. depends on CONFIG_FEATURE_COMMAND_EDITING
  187. help
  188. Enable tab completion in shell.
  189. config CONFIG_FEATURE_COMMAND_USERNAME_COMPLETION
  190. bool "username completion"
  191. default n
  192. depends on CONFIG_FEATURE_COMMAND_TAB_COMPLETION
  193. help
  194. Enable username completion in shell.
  195. config CONFIG_FEATURE_SH_FANCY_PROMPT
  196. bool "Fancy shell prompts"
  197. default n
  198. depends on CONFIG_FEATURE_COMMAND_EDITING
  199. help
  200. Setting this option allows for prompts to use things like \w and
  201. \$ and also using escape codes.
  202. endmenu