Config.in 9.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283
  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_FEATURE_USE_BSS_TAIL
  8. bool "Use the end of BSS page"
  9. default n
  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_FEATURE_SYSTEMD
  35. bool "Enable systemd support"
  36. default n
  37. help
  38. If you plan to use busybox daemons on a system where daemons
  39. are controlled by systemd, enable this option.
  40. If you don't use systemd, it is still safe to enable it,
  41. but the downside is increased code size.
  42. config BUSYBOX_FEATURE_RTMINMAX
  43. bool "Support RTMIN[+n] and RTMAX[-n] signal names"
  44. default y
  45. help
  46. Support RTMIN[+n] and RTMAX[-n] signal names
  47. in kill, killall etc. This costs ~250 bytes.
  48. config BUSYBOX_PASSWORD_MINLEN
  49. int "Minimum password length"
  50. default 6
  51. range 5 32
  52. help
  53. Minimum allowable password length.
  54. config BUSYBOX_MD5_SMALL
  55. int "MD5: Trade bytes for speed (0:fast, 3:slow)"
  56. default 1
  57. range 0 3
  58. help
  59. Trade binary size versus speed for the md5sum algorithm.
  60. Approximate values running uClibc and hashing
  61. linux-2.4.4.tar.bz2 were:
  62. user times (sec) text size (386)
  63. 0 (fastest) 1.1 6144
  64. 1 1.4 5392
  65. 2 3.0 5088
  66. 3 (smallest) 5.1 4912
  67. config BUSYBOX_SHA3_SMALL
  68. int "SHA3: Trade bytes for speed (0:fast, 1:slow)"
  69. default 1
  70. range 0 1
  71. help
  72. Trade binary size versus speed for the sha3sum algorithm.
  73. SHA3_SMALL=0 compared to SHA3_SMALL=1 (approximate):
  74. 64-bit x86: +270 bytes of code, 45% faster
  75. 32-bit x86: +450 bytes of code, 75% faster
  76. config BUSYBOX_FEATURE_FAST_TOP
  77. bool "Faster /proc scanning code (+100 bytes)"
  78. default y
  79. help
  80. This option makes top (and ps) ~20% faster (or 20% less CPU hungry),
  81. but code size is slightly bigger.
  82. config BUSYBOX_FEATURE_ETC_NETWORKS
  83. bool "Support for /etc/networks"
  84. default n
  85. help
  86. Enable support for network names in /etc/networks. This is
  87. a rarely used feature which allows you to use names
  88. instead of IP/mask pairs in route command.
  89. config BUSYBOX_FEATURE_USE_TERMIOS
  90. bool "Use termios to manipulate the screen"
  91. default y
  92. depends on BUSYBOX_MORE || BUSYBOX_TOP || BUSYBOX_POWERTOP
  93. help
  94. This option allows utilities such as 'more' and 'top' to determine
  95. the size of the screen. If you leave this disabled, your utilities
  96. that display things on the screen will be especially primitive and
  97. will be unable to determine the current screen size, and will be
  98. unable to move the cursor.
  99. config BUSYBOX_FEATURE_EDITING
  100. bool "Command line editing"
  101. default y
  102. help
  103. Enable line editing (mainly for shell command line).
  104. config BUSYBOX_FEATURE_EDITING_MAX_LEN
  105. int "Maximum length of input"
  106. range 128 8192
  107. default 1024
  108. depends on BUSYBOX_FEATURE_EDITING
  109. help
  110. Line editing code uses on-stack buffers for storage.
  111. You may want to decrease this parameter if your target machine
  112. benefits from smaller stack usage.
  113. config BUSYBOX_FEATURE_EDITING_VI
  114. bool "vi-style line editing commands"
  115. default n
  116. depends on BUSYBOX_FEATURE_EDITING
  117. help
  118. Enable vi-style line editing. In shells, this mode can be
  119. turned on and off with "set -o vi" and "set +o vi".
  120. config BUSYBOX_FEATURE_EDITING_HISTORY
  121. int "History size"
  122. # Don't allow way too big values here, code uses fixed "char *history[N]" struct member
  123. range 0 9999
  124. default 255
  125. depends on BUSYBOX_FEATURE_EDITING
  126. help
  127. Specify command history size (0 - disable).
  128. config BUSYBOX_FEATURE_EDITING_SAVEHISTORY
  129. bool "History saving"
  130. default y
  131. depends on BUSYBOX_FEATURE_EDITING
  132. help
  133. Enable history saving in shells.
  134. config BUSYBOX_FEATURE_EDITING_SAVE_ON_EXIT
  135. bool "Save history on shell exit, not after every command"
  136. default n
  137. depends on BUSYBOX_FEATURE_EDITING_SAVEHISTORY
  138. help
  139. Save history on shell exit, not after every command.
  140. config BUSYBOX_FEATURE_REVERSE_SEARCH
  141. bool "Reverse history search"
  142. default y
  143. depends on BUSYBOX_FEATURE_EDITING_SAVEHISTORY
  144. help
  145. Enable readline-like Ctrl-R combination for reverse history search.
  146. Increases code by about 0.5k.
  147. config BUSYBOX_FEATURE_TAB_COMPLETION
  148. bool "Tab completion"
  149. default y
  150. depends on BUSYBOX_FEATURE_EDITING
  151. help
  152. Enable tab completion.
  153. config BUSYBOX_FEATURE_USERNAME_COMPLETION
  154. bool "Username completion"
  155. default n
  156. depends on BUSYBOX_FEATURE_TAB_COMPLETION
  157. help
  158. Enable username completion.
  159. config BUSYBOX_FEATURE_EDITING_FANCY_PROMPT
  160. bool "Fancy shell prompts"
  161. default y
  162. depends on BUSYBOX_FEATURE_EDITING
  163. help
  164. Setting this option allows for prompts to use things like \w and
  165. \$ and escape codes.
  166. config BUSYBOX_FEATURE_EDITING_ASK_TERMINAL
  167. bool "Query cursor position from terminal"
  168. default n
  169. depends on BUSYBOX_FEATURE_EDITING
  170. help
  171. Allow usage of "ESC [ 6 n" sequence. Terminal answers back with
  172. current cursor position. This information is used to make line
  173. editing more robust in some cases.
  174. If you are not sure whether your terminals respond to this code
  175. correctly, or want to save on code size (about 400 bytes),
  176. then do not turn this option on.
  177. config BUSYBOX_FEATURE_NON_POSIX_CP
  178. bool "Non-POSIX, but safer, copying to special nodes"
  179. default y
  180. help
  181. With this option, "cp file symlink" will delete symlink
  182. and create a regular file. This does not conform to POSIX,
  183. but prevents a symlink attack.
  184. Similarly, "cp file device" will not send file's data
  185. to the device. (To do that, use "cat file >device")
  186. config BUSYBOX_FEATURE_VERBOSE_CP_MESSAGE
  187. bool "Give more precise messages when copy fails (cp, mv etc)"
  188. default n
  189. help
  190. Error messages with this feature enabled:
  191. $ cp file /does_not_exist/file
  192. cp: cannot create '/does_not_exist/file': Path does not exist
  193. $ cp file /vmlinuz/file
  194. cp: cannot stat '/vmlinuz/file': Path has non-directory component
  195. If this feature is not enabled, they will be, respectively:
  196. cp: cannot create '/does_not_exist/file': No such file or directory
  197. cp: cannot stat '/vmlinuz/file': Not a directory
  198. This will cost you ~60 bytes.
  199. config BUSYBOX_FEATURE_COPYBUF_KB
  200. int "Copy buffer size, in kilobytes"
  201. range 1 1024
  202. default 4
  203. help
  204. Size of buffer used by cp, mv, install, wget etc.
  205. Buffers which are 4 kb or less will be allocated on stack.
  206. Bigger buffers will be allocated with mmap, with fallback to 4 kb
  207. stack buffer if mmap fails.
  208. config BUSYBOX_FEATURE_SKIP_ROOTFS
  209. bool "Skip rootfs in mount table"
  210. default y
  211. help
  212. Ignore rootfs entry in mount table.
  213. In Linux, kernel has a special filesystem, rootfs, which is initially
  214. mounted on /. It contains initramfs data, if kernel is configured
  215. to have one. Usually, another file system is mounted over / early
  216. in boot process, and therefore most tools which manipulate
  217. mount table, such as df, will skip rootfs entry.
  218. However, some systems do not mount anything on /.
  219. If you need to configure busybox for one of these systems,
  220. you may find it useful to turn this option off to make df show
  221. initramfs statistics.
  222. Otherwise, choose Y.
  223. config BUSYBOX_MONOTONIC_SYSCALL
  224. bool "Use clock_gettime(CLOCK_MONOTONIC) syscall"
  225. default y
  226. select BUSYBOX_PLATFORM_LINUX
  227. help
  228. Use clock_gettime(CLOCK_MONOTONIC) syscall for measuring
  229. time intervals (time, ping, traceroute etc need this).
  230. Probably requires Linux 2.6+. If not selected, gettimeofday
  231. will be used instead (which gives wrong results if date/time
  232. is reset).
  233. config BUSYBOX_IOCTL_HEX2STR_ERROR
  234. bool "Use ioctl names rather than hex values in error messages"
  235. default y
  236. help
  237. Use ioctl names rather than hex values in error messages
  238. (e.g. VT_DISALLOCATE rather than 0x5608). If disabled this
  239. saves about 1400 bytes.
  240. config BUSYBOX_FEATURE_HWIB
  241. bool "Support infiniband HW"
  242. default n
  243. help
  244. Support for printing infiniband addresses in
  245. network applets.
  246. endmenu