1# 2# For a description of the syntax of this configuration file, 3# see scripts/kbuild/config-language.txt. 4# 5 6menu "Busybox Library Tuning" 7 8INSERT 9 10config PASSWORD_MINLEN 11 int "Minimum password length" 12 default 6 13 range 5 32 14 help 15 Minimum allowable password length. 16 17config MD5_SMALL 18 int "MD5: Trade bytes for speed (0:fast, 3:slow)" 19 default 1 # all "fast or small" options default to small 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 31config SHA3_SMALL 32 int "SHA3: Trade bytes for speed (0:fast, 1:slow)" 33 default 1 # all "fast or small" options default to small 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 41config FEATURE_FAST_TOP 42 bool "Faster /proc scanning code (+100 bytes)" 43 default n # all "fast or small" options default to small 44 help 45 This option makes top (and ps) ~20% faster (or 20% less CPU hungry), 46 but code size is slightly bigger. 47 48config 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 56config 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 67config FEATURE_EDITING 68 bool "Command line editing" 69 default y 70 help 71 Enable line editing (mainly for shell command line). 72 73config 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 83config 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 91config 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 100config FEATURE_EDITING_SAVEHISTORY 101 bool "History saving" 102 default y 103 depends on FEATURE_EDITING 104 help 105 Enable history saving in shells. 106 107config 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 114config FEATURE_REVERSE_SEARCH 115 bool "Reverse history search" 116 default y 117 depends on FEATURE_EDITING 118 help 119 Enable readline-like Ctrl-R combination for reverse history search. 120 Increases code by about 0.5k. 121 122config FEATURE_TAB_COMPLETION 123 bool "Tab completion" 124 default y 125 depends on FEATURE_EDITING 126 help 127 Enable tab completion. 128 129config FEATURE_USERNAME_COMPLETION 130 bool "Username completion" 131 default n 132 depends on FEATURE_TAB_COMPLETION 133 help 134 Enable username completion. 135 136config 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 144config 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 156config 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 166config 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 180config 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 190config 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 209config MONOTONIC_SYSCALL 210 bool "Use clock_gettime(CLOCK_MONOTONIC) syscall" 211 default y 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 220config 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 228config FEATURE_HWIB 229 bool "Support infiniband HW" 230 default y 231 help 232 Support for printing infiniband addresses in 233 network applets. 234 235endmenu 236