Config.in 10 KB

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