Config.in 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273
  1. # DO NOT EDIT. This file is generated from Config.src
  2. #
  3. # For a description of the syntax of this configuration file,
  4. # see scripts/kbuild/config-language.txt.
  5. #
  6. menu "Busybox Library Tuning"
  7. config BUSYBOX_CONFIG_FEATURE_USE_BSS_TAIL
  8. bool "Use the end of BSS page"
  9. default BUSYBOX_DEFAULT_FEATURE_USE_BSS_TAIL
  10. help
  11. Attempt to reclaim a small unused part of BSS.
  12. Executables have the following parts:
  13. = read-only executable code and constants, also known as "text"
  14. = read-write data
  15. = non-initialized (zeroed on demand) data, also known as "bss"
  16. At link time, "text" is padded to a full page. At runtime, all "text"
  17. pages are mapped RO and executable.
  18. "Data" starts on the next page boundary, but is not padded
  19. to a full page at the end. "Bss" starts wherever "data" ends.
  20. At runtime, "data" pages are mapped RW and they are file-backed
  21. (this includes a small portion of "bss" which may live in the last
  22. partial page of "data").
  23. Pages which are fully in "bss" are mapped to anonymous memory.
  24. "Bss" end is usually not page-aligned. There is an unused space
  25. in the last page. Linker marks its start with the "_end" symbol.
  26. This option will attempt to use that space for bb_common_bufsiz1[]
  27. array. If it fits after _end, it will be used, and COMMON_BUFSIZE
  28. will be enlarged from its guaranteed minimum size of 1 kbyte.
  29. This may require recompilation a second time, since value of _end
  30. is known only after final link.
  31. If you are getting a build error like this:
  32. appletlib.c:(.text.main+0xd): undefined reference to '_end'
  33. disable this option.
  34. config BUSYBOX_CONFIG_FEATURE_RTMINMAX
  35. bool "Support RTMIN[+n] and RTMAX[-n] signal names"
  36. default BUSYBOX_DEFAULT_FEATURE_RTMINMAX
  37. help
  38. Support RTMIN[+n] and RTMAX[-n] signal names
  39. in kill, killall etc. This costs ~250 bytes.
  40. config BUSYBOX_CONFIG_PASSWORD_MINLEN
  41. int "Minimum password length"
  42. default BUSYBOX_DEFAULT_PASSWORD_MINLEN
  43. range 5 32
  44. help
  45. Minimum allowable password length.
  46. config BUSYBOX_CONFIG_MD5_SMALL
  47. int "MD5: Trade bytes for speed (0:fast, 3:slow)"
  48. default BUSYBOX_DEFAULT_MD5_SMALL # all "fast or small" options default to small
  49. range 0 3
  50. help
  51. Trade binary size versus speed for the md5sum algorithm.
  52. Approximate values running uClibc and hashing
  53. linux-2.4.4.tar.bz2 were:
  54. user times (sec) text size (386)
  55. 0 (fastest) 1.1 6144
  56. 1 1.4 5392
  57. 2 3.0 5088
  58. 3 (smallest) 5.1 4912
  59. config BUSYBOX_CONFIG_SHA3_SMALL
  60. int "SHA3: Trade bytes for speed (0:fast, 1:slow)"
  61. default BUSYBOX_DEFAULT_SHA3_SMALL # all "fast or small" options default to small
  62. range 0 1
  63. help
  64. Trade binary size versus speed for the sha3sum algorithm.
  65. SHA3_SMALL=0 compared to SHA3_SMALL=1 (approximate):
  66. 64-bit x86: +270 bytes of code, 45% faster
  67. 32-bit x86: +450 bytes of code, 75% faster
  68. config BUSYBOX_CONFIG_FEATURE_FAST_TOP
  69. bool "Faster /proc scanning code (+100 bytes)"
  70. default BUSYBOX_DEFAULT_FEATURE_FAST_TOP # all "fast or small" options default to small
  71. help
  72. This option makes top (and ps) ~20% faster (or 20% less CPU hungry),
  73. but code size is slightly bigger.
  74. config BUSYBOX_CONFIG_FEATURE_ETC_NETWORKS
  75. bool "Support for /etc/networks"
  76. default BUSYBOX_DEFAULT_FEATURE_ETC_NETWORKS
  77. help
  78. Enable support for network names in /etc/networks. This is
  79. a rarely used feature which allows you to use names
  80. instead of IP/mask pairs in route command.
  81. config BUSYBOX_CONFIG_FEATURE_USE_TERMIOS
  82. bool "Use termios to manipulate the screen"
  83. default BUSYBOX_DEFAULT_FEATURE_USE_TERMIOS
  84. depends on BUSYBOX_CONFIG_MORE || BUSYBOX_CONFIG_TOP || BUSYBOX_CONFIG_POWERTOP
  85. help
  86. This option allows utilities such as 'more' and 'top' to determine
  87. the size of the screen. If you leave this disabled, your utilities
  88. that display things on the screen will be especially primitive and
  89. will be unable to determine the current screen size, and will be
  90. unable to move the cursor.
  91. config BUSYBOX_CONFIG_FEATURE_EDITING
  92. bool "Command line editing"
  93. default BUSYBOX_DEFAULT_FEATURE_EDITING
  94. help
  95. Enable line editing (mainly for shell command line).
  96. config BUSYBOX_CONFIG_FEATURE_EDITING_MAX_LEN
  97. int "Maximum length of input"
  98. range 128 8192
  99. default BUSYBOX_DEFAULT_FEATURE_EDITING_MAX_LEN
  100. depends on BUSYBOX_CONFIG_FEATURE_EDITING
  101. help
  102. Line editing code uses on-stack buffers for storage.
  103. You may want to decrease this parameter if your target machine
  104. benefits from smaller stack usage.
  105. config BUSYBOX_CONFIG_FEATURE_EDITING_VI
  106. bool "vi-style line editing commands"
  107. default BUSYBOX_DEFAULT_FEATURE_EDITING_VI
  108. depends on BUSYBOX_CONFIG_FEATURE_EDITING
  109. help
  110. Enable vi-style line editing. In shells, this mode can be
  111. turned on and off with "set -o vi" and "set +o vi".
  112. config BUSYBOX_CONFIG_FEATURE_EDITING_HISTORY
  113. int "History size"
  114. # Don't allow way too big values here, code uses fixed "char *history[N]" struct member
  115. range 0 9999
  116. default BUSYBOX_DEFAULT_FEATURE_EDITING_HISTORY
  117. depends on BUSYBOX_CONFIG_FEATURE_EDITING
  118. help
  119. Specify command history size (0 - disable).
  120. config BUSYBOX_CONFIG_FEATURE_EDITING_SAVEHISTORY
  121. bool "History saving"
  122. default BUSYBOX_DEFAULT_FEATURE_EDITING_SAVEHISTORY
  123. depends on BUSYBOX_CONFIG_FEATURE_EDITING
  124. help
  125. Enable history saving in shells.
  126. config BUSYBOX_CONFIG_FEATURE_EDITING_SAVE_ON_EXIT
  127. bool "Save history on shell exit, not after every command"
  128. default BUSYBOX_DEFAULT_FEATURE_EDITING_SAVE_ON_EXIT
  129. depends on BUSYBOX_CONFIG_FEATURE_EDITING_SAVEHISTORY
  130. help
  131. Save history on shell exit, not after every command.
  132. config BUSYBOX_CONFIG_FEATURE_REVERSE_SEARCH
  133. bool "Reverse history search"
  134. default BUSYBOX_DEFAULT_FEATURE_REVERSE_SEARCH
  135. depends on BUSYBOX_CONFIG_FEATURE_EDITING
  136. help
  137. Enable readline-like Ctrl-R combination for reverse history search.
  138. Increases code by about 0.5k.
  139. config BUSYBOX_CONFIG_FEATURE_TAB_COMPLETION
  140. bool "Tab completion"
  141. default BUSYBOX_DEFAULT_FEATURE_TAB_COMPLETION
  142. depends on BUSYBOX_CONFIG_FEATURE_EDITING
  143. help
  144. Enable tab completion.
  145. config BUSYBOX_CONFIG_FEATURE_USERNAME_COMPLETION
  146. bool "Username completion"
  147. default BUSYBOX_DEFAULT_FEATURE_USERNAME_COMPLETION
  148. depends on BUSYBOX_CONFIG_FEATURE_TAB_COMPLETION
  149. help
  150. Enable username completion.
  151. config BUSYBOX_CONFIG_FEATURE_EDITING_FANCY_PROMPT
  152. bool "Fancy shell prompts"
  153. default BUSYBOX_DEFAULT_FEATURE_EDITING_FANCY_PROMPT
  154. depends on BUSYBOX_CONFIG_FEATURE_EDITING
  155. help
  156. Setting this option allows for prompts to use things like \w and
  157. \$ and escape codes.
  158. config BUSYBOX_CONFIG_FEATURE_EDITING_ASK_TERMINAL
  159. bool "Query cursor position from terminal"
  160. default BUSYBOX_DEFAULT_FEATURE_EDITING_ASK_TERMINAL
  161. depends on BUSYBOX_CONFIG_FEATURE_EDITING
  162. help
  163. Allow usage of "ESC [ 6 n" sequence. Terminal answers back with
  164. current cursor position. This information is used to make line
  165. editing more robust in some cases.
  166. If you are not sure whether your terminals respond to this code
  167. correctly, or want to save on code size (about 400 bytes),
  168. then do not turn this option on.
  169. config BUSYBOX_CONFIG_FEATURE_NON_POSIX_CP
  170. bool "Non-POSIX, but safer, copying to special nodes"
  171. default BUSYBOX_DEFAULT_FEATURE_NON_POSIX_CP
  172. help
  173. With this option, "cp file symlink" will delete symlink
  174. and create a regular file. This does not conform to POSIX,
  175. but prevents a symlink attack.
  176. Similarly, "cp file device" will not send file's data
  177. to the device. (To do that, use "cat file >device")
  178. config BUSYBOX_CONFIG_FEATURE_VERBOSE_CP_MESSAGE
  179. bool "Give more precise messages when copy fails (cp, mv etc)"
  180. default BUSYBOX_DEFAULT_FEATURE_VERBOSE_CP_MESSAGE
  181. help
  182. Error messages with this feature enabled:
  183. $ cp file /does_not_exist/file
  184. cp: cannot create '/does_not_exist/file': Path does not exist
  185. $ cp file /vmlinuz/file
  186. cp: cannot stat '/vmlinuz/file': Path has non-directory component
  187. If this feature is not enabled, they will be, respectively:
  188. cp: cannot create '/does_not_exist/file': No such file or directory
  189. cp: cannot stat '/vmlinuz/file': Not a directory
  190. This will cost you ~60 bytes.
  191. config BUSYBOX_CONFIG_FEATURE_COPYBUF_KB
  192. int "Copy buffer size, in kilobytes"
  193. range 1 1024
  194. default BUSYBOX_DEFAULT_FEATURE_COPYBUF_KB
  195. help
  196. Size of buffer used by cp, mv, install, wget etc.
  197. Buffers which are 4 kb or less will be allocated on stack.
  198. Bigger buffers will be allocated with mmap, with fallback to 4 kb
  199. stack buffer if mmap fails.
  200. config BUSYBOX_CONFIG_FEATURE_SKIP_ROOTFS
  201. bool "Skip rootfs in mount table"
  202. default BUSYBOX_DEFAULT_FEATURE_SKIP_ROOTFS
  203. help
  204. Ignore rootfs entry in mount table.
  205. In Linux, kernel has a special filesystem, rootfs, which is initially
  206. mounted on /. It contains initramfs data, if kernel is configured
  207. to have one. Usually, another file system is mounted over / early
  208. in boot process, and therefore most tools which manipulate
  209. mount table, such as df, will skip rootfs entry.
  210. However, some systems do not mount anything on /.
  211. If you need to configure busybox for one of these systems,
  212. you may find it useful to turn this option off to make df show
  213. initramfs statistics.
  214. Otherwise, choose Y.
  215. config BUSYBOX_CONFIG_MONOTONIC_SYSCALL
  216. bool "Use clock_gettime(CLOCK_MONOTONIC) syscall"
  217. default BUSYBOX_DEFAULT_MONOTONIC_SYSCALL
  218. select BUSYBOX_CONFIG_PLATFORM_LINUX
  219. help
  220. Use clock_gettime(CLOCK_MONOTONIC) syscall for measuring
  221. time intervals (time, ping, traceroute etc need this).
  222. Probably requires Linux 2.6+. If not selected, gettimeofday
  223. will be used instead (which gives wrong results if date/time
  224. is reset).
  225. config BUSYBOX_CONFIG_IOCTL_HEX2STR_ERROR
  226. bool "Use ioctl names rather than hex values in error messages"
  227. default BUSYBOX_DEFAULT_IOCTL_HEX2STR_ERROR
  228. help
  229. Use ioctl names rather than hex values in error messages
  230. (e.g. VT_DISALLOCATE rather than 0x5608). If disabled this
  231. saves about 1400 bytes.
  232. config BUSYBOX_CONFIG_FEATURE_HWIB
  233. bool "Support infiniband HW"
  234. default BUSYBOX_DEFAULT_FEATURE_HWIB
  235. help
  236. Support for printing infiniband addresses in
  237. network applets.
  238. endmenu