Config.in 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421
  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. comment "Library Tuning"
  7. config 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 FEATURE_RTMINMAX
  35. bool "Support RTMIN[+n] and RTMAX[-n] signal names"
  36. default y
  37. help
  38. Support RTMIN[+n] and RTMAX[-n] signal names
  39. in kill, killall etc. This costs ~250 bytes.
  40. choice
  41. prompt "Buffer allocation policy"
  42. default FEATURE_BUFFERS_USE_MALLOC
  43. help
  44. There are 3 ways busybox can handle buffer allocations:
  45. - Use malloc. This costs code size for the call to xmalloc.
  46. - Put them on stack. For some very small machines with limited stack
  47. space, this can be deadly. For most folks, this works just fine.
  48. - Put them in BSS. This works beautifully for computers with a real
  49. MMU (and OS support), but wastes runtime RAM for uCLinux. This
  50. behavior was the only one available for versions 0.48 and earlier.
  51. config FEATURE_BUFFERS_USE_MALLOC
  52. bool "Allocate with Malloc"
  53. config FEATURE_BUFFERS_GO_ON_STACK
  54. bool "Allocate on the Stack"
  55. config FEATURE_BUFFERS_GO_IN_BSS
  56. bool "Allocate in the .bss section"
  57. endchoice
  58. config PASSWORD_MINLEN
  59. int "Minimum password length"
  60. default 6
  61. range 5 32
  62. help
  63. Minimum allowable password length.
  64. config MD5_SMALL
  65. int "MD5: Trade bytes for speed (0:fast, 3:slow)"
  66. default 1 # all "fast or small" options default to small
  67. range 0 3
  68. help
  69. Trade binary size versus speed for the md5sum algorithm.
  70. Approximate values running uClibc and hashing
  71. linux-2.4.4.tar.bz2 were:
  72. value user times (sec) text size (386)
  73. 0 (fastest) 1.1 6144
  74. 1 1.4 5392
  75. 2 3.0 5088
  76. 3 (smallest) 5.1 4912
  77. config SHA3_SMALL
  78. int "SHA3: Trade bytes for speed (0:fast, 1:slow)"
  79. default 1 # all "fast or small" options default to small
  80. range 0 1
  81. help
  82. Trade binary size versus speed for the sha3sum algorithm.
  83. SHA3_SMALL=0 compared to SHA3_SMALL=1 (approximate):
  84. 64-bit x86: +270 bytes of code, 45% faster
  85. 32-bit x86: +450 bytes of code, 75% faster
  86. config FEATURE_FAST_TOP
  87. bool "Faster /proc scanning code (+100 bytes)"
  88. default n # all "fast or small" options default to small
  89. help
  90. This option makes top and ps ~20% faster (or 20% less CPU hungry),
  91. but code size is slightly bigger.
  92. config FEATURE_ETC_NETWORKS
  93. bool "Support /etc/networks"
  94. default n
  95. help
  96. Enable support for network names in /etc/networks. This is
  97. a rarely used feature which allows you to use names
  98. instead of IP/mask pairs in route command.
  99. config FEATURE_EDITING
  100. bool "Command line editing"
  101. default y
  102. help
  103. Enable line editing (mainly for shell command line).
  104. config FEATURE_EDITING_MAX_LEN
  105. int "Maximum length of input"
  106. range 128 8192
  107. default 1024
  108. depends on 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 FEATURE_EDITING_VI
  114. bool "vi-style line editing commands"
  115. default n
  116. depends on 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 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 FEATURE_EDITING
  126. help
  127. Specify command history size (0 - disable).
  128. config FEATURE_EDITING_SAVEHISTORY
  129. bool "History saving"
  130. default y
  131. depends on FEATURE_EDITING
  132. help
  133. Enable history saving in shells.
  134. config FEATURE_EDITING_SAVE_ON_EXIT
  135. bool "Save history on shell exit, not after every command"
  136. default n
  137. depends on FEATURE_EDITING_SAVEHISTORY
  138. help
  139. Save history on shell exit, not after every command.
  140. config FEATURE_REVERSE_SEARCH
  141. bool "Reverse history search"
  142. default y
  143. depends on FEATURE_EDITING
  144. help
  145. Enable readline-like Ctrl-R combination for reverse history search.
  146. Increases code by about 0.5k.
  147. config FEATURE_TAB_COMPLETION
  148. bool "Tab completion"
  149. default y
  150. depends on FEATURE_EDITING
  151. config FEATURE_USERNAME_COMPLETION
  152. bool "Username completion"
  153. default y
  154. depends on FEATURE_TAB_COMPLETION
  155. config FEATURE_EDITING_FANCY_PROMPT
  156. bool "Fancy shell prompts"
  157. default y
  158. depends on FEATURE_EDITING
  159. help
  160. Setting this option allows for prompts to use things like \w and
  161. \$ and escape codes.
  162. config FEATURE_EDITING_ASK_TERMINAL
  163. bool "Query cursor position from terminal"
  164. default n
  165. depends on FEATURE_EDITING
  166. help
  167. Allow usage of "ESC [ 6 n" sequence. Terminal answers back with
  168. current cursor position. This information is used to make line
  169. editing more robust in some cases.
  170. If you are not sure whether your terminals respond to this code
  171. correctly, or want to save on code size (about 400 bytes),
  172. then do not turn this option on.
  173. config LOCALE_SUPPORT
  174. bool "Enable locale support (system needs locale for this to work)"
  175. default n
  176. help
  177. Enable this if your system has locale support and you would like
  178. busybox to support locale settings.
  179. config UNICODE_SUPPORT
  180. bool "Support Unicode"
  181. default y
  182. help
  183. This makes various applets aware that one byte is not
  184. one character on screen.
  185. Busybox aims to eventually work correctly with Unicode displays.
  186. Any older encodings are not guaranteed to work.
  187. Probably by the time when busybox will be fully Unicode-clean,
  188. other encodings will be mainly of historic interest.
  189. config UNICODE_USING_LOCALE
  190. bool "Use libc routines for Unicode (else uses internal ones)"
  191. default n
  192. depends on UNICODE_SUPPORT && LOCALE_SUPPORT
  193. help
  194. With this option on, Unicode support is implemented using libc
  195. routines. Otherwise, internal implementation is used.
  196. Internal implementation is smaller.
  197. config FEATURE_CHECK_UNICODE_IN_ENV
  198. bool "Check $LC_ALL, $LC_CTYPE and $LANG environment variables"
  199. default n
  200. depends on UNICODE_SUPPORT && !UNICODE_USING_LOCALE
  201. help
  202. With this option on, Unicode support is activated
  203. only if locale-related variables have the value of the form
  204. "xxxx.utf8"
  205. Otherwise, Unicode support will be always enabled and active.
  206. config SUBST_WCHAR
  207. int "Character code to substitute unprintable characters with"
  208. depends on UNICODE_SUPPORT
  209. default 63
  210. help
  211. Typical values are 63 for '?' (works with any output device),
  212. 30 for ASCII substitute control code,
  213. 65533 (0xfffd) for Unicode replacement character.
  214. config LAST_SUPPORTED_WCHAR
  215. int "Range of supported Unicode characters"
  216. depends on UNICODE_SUPPORT
  217. default 767
  218. help
  219. Any character with Unicode value bigger than this is assumed
  220. to be non-printable on output device. Many applets replace
  221. such characters with substitution character.
  222. The idea is that many valid printable Unicode chars
  223. nevertheless are not displayed correctly. Think about
  224. combining charachers, double-wide hieroglyphs, obscure
  225. characters in dozens of ancient scripts...
  226. Many terminals, terminal emulators, xterms etc will fail
  227. to handle them correctly. Choose the smallest value
  228. which suits your needs.
  229. Typical values are:
  230. 126 - ASCII only
  231. 767 (0x2ff) - there are no combining chars in [0..767] range
  232. (the range includes Latin 1, Latin Ext. A and B),
  233. code is ~700 bytes smaller for this case.
  234. 4351 (0x10ff) - there are no double-wide chars in [0..4351] range,
  235. code is ~300 bytes smaller for this case.
  236. 12799 (0x31ff) - nearly all non-ideographic characters are
  237. available in [0..12799] range, including
  238. East Asian scripts like katakana, hiragana, hangul,
  239. bopomofo...
  240. 0 - off, any valid printable Unicode character will be printed.
  241. config UNICODE_COMBINING_WCHARS
  242. bool "Allow zero-width Unicode characters on output"
  243. default n
  244. depends on UNICODE_SUPPORT
  245. help
  246. With this option off, any Unicode char with width of 0
  247. is substituted on output.
  248. config UNICODE_WIDE_WCHARS
  249. bool "Allow wide Unicode characters on output"
  250. default n
  251. depends on UNICODE_SUPPORT
  252. help
  253. With this option off, any Unicode char with width > 1
  254. is substituted on output.
  255. config UNICODE_BIDI_SUPPORT
  256. bool "Bidirectional character-aware line input"
  257. default n
  258. depends on UNICODE_SUPPORT && !UNICODE_USING_LOCALE
  259. help
  260. With this option on, right-to-left Unicode characters
  261. are treated differently on input (e.g. cursor movement).
  262. config UNICODE_NEUTRAL_TABLE
  263. bool "In bidi input, support non-ASCII neutral chars too"
  264. default n
  265. depends on UNICODE_BIDI_SUPPORT
  266. help
  267. In most cases it's enough to treat only ASCII non-letters
  268. (i.e. punctuation, numbers and space) as characters
  269. with neutral directionality.
  270. With this option on, more extensive (and bigger) table
  271. of neutral chars will be used.
  272. config UNICODE_PRESERVE_BROKEN
  273. bool "Make it possible to enter sequences of chars which are not Unicode"
  274. default n
  275. depends on UNICODE_SUPPORT
  276. help
  277. With this option on, on line-editing input (such as used by shells)
  278. invalid UTF-8 bytes are not substituted with the selected
  279. substitution character.
  280. For example, this means that entering 'l', 's', ' ', 0xff, [Enter]
  281. at shell prompt will list file named 0xff (single char name
  282. with char value 255), not file named '?'.
  283. config FEATURE_NON_POSIX_CP
  284. bool "Non-POSIX, but safer, copying to special nodes"
  285. default y
  286. help
  287. With this option, "cp file symlink" will delete symlink
  288. and create a regular file. This does not conform to POSIX,
  289. but prevents a symlink attack.
  290. Similarly, "cp file device" will not send file's data
  291. to the device. (To do that, use "cat file >device")
  292. config FEATURE_VERBOSE_CP_MESSAGE
  293. bool "Give more precise messages when copy fails (cp, mv etc)"
  294. default n
  295. help
  296. Error messages with this feature enabled:
  297. $ cp file /does_not_exist/file
  298. cp: cannot create '/does_not_exist/file': Path does not exist
  299. $ cp file /vmlinuz/file
  300. cp: cannot stat '/vmlinuz/file': Path has non-directory component
  301. If this feature is not enabled, they will be, respectively:
  302. cp: cannot create '/does_not_exist/file': No such file or directory
  303. cp: cannot stat '/vmlinuz/file': Not a directory
  304. This will cost you ~60 bytes.
  305. config FEATURE_USE_SENDFILE
  306. bool "Use sendfile system call"
  307. default y
  308. select PLATFORM_LINUX
  309. help
  310. When enabled, busybox will use the kernel sendfile() function
  311. instead of read/write loops to copy data between file descriptors
  312. (for example, cp command does this a lot).
  313. If sendfile() doesn't work, copying code falls back to read/write
  314. loop. sendfile() was originally implemented for faster I/O
  315. from files to sockets, but since Linux 2.6.33 it was extended
  316. to work for many more file types.
  317. config FEATURE_COPYBUF_KB
  318. int "Copy buffer size, in kilobytes"
  319. range 1 1024
  320. default 4
  321. help
  322. Size of buffer used by cp, mv, install, wget etc.
  323. Buffers which are 4 kb or less will be allocated on stack.
  324. Bigger buffers will be allocated with mmap, with fallback to 4 kb
  325. stack buffer if mmap fails.
  326. config FEATURE_SKIP_ROOTFS
  327. bool "Skip rootfs in mount table"
  328. default y
  329. help
  330. Ignore rootfs entry in mount table.
  331. In Linux, kernel has a special filesystem, rootfs, which is initially
  332. mounted on /. It contains initramfs data, if kernel is configured
  333. to have one. Usually, another file system is mounted over / early
  334. in boot process, and therefore most tools which manipulate
  335. mount table, such as df, will skip rootfs entry.
  336. However, some systems do not mount anything on /.
  337. If you need to configure busybox for one of these systems,
  338. you may find it useful to turn this option off to make df show
  339. initramfs statistics.
  340. Otherwise, choose Y.
  341. config MONOTONIC_SYSCALL
  342. bool "Use clock_gettime(CLOCK_MONOTONIC) syscall"
  343. default y
  344. select PLATFORM_LINUX
  345. help
  346. Use clock_gettime(CLOCK_MONOTONIC) syscall for measuring
  347. time intervals (time, ping, traceroute etc need this).
  348. Probably requires Linux 2.6+. If not selected, gettimeofday
  349. will be used instead (which gives wrong results if date/time
  350. is reset).
  351. config IOCTL_HEX2STR_ERROR
  352. bool "Use ioctl names rather than hex values in error messages"
  353. default y
  354. help
  355. Use ioctl names rather than hex values in error messages
  356. (e.g. VT_DISALLOCATE rather than 0x5608). If disabled this
  357. saves about 1400 bytes.
  358. config FEATURE_HWIB
  359. bool "Support infiniband HW"
  360. default y
  361. help
  362. Support for printing infiniband addresses in network applets.