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