summaryrefslogtreecommitdiff
path: root/busybox-libbb.kconfig
blob: 886dbbcb25b174ef5249813f89e221d0c2c9607d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
#
# For a description of the syntax of this configuration file,
# see scripts/kbuild/config-language.txt.
#

comment "-------------------------------------------------"
comment "Busybox Library Tuning"
comment "-------------------------------------------------"

config KEMBTK_BUSYB_FEATURE_SYSTEMD
	bool "Enable systemd support"
	default y
	help
	  If you plan to use busybox daemons on a system where daemons
	  are controlled by systemd, enable this option.
	  If you don't use systemd, it is still safe to enable it,
	  but the downside is increased code size.
config KEMBTK_BUSYB_FEATURE_RTMINMAX
	bool "Support RTMIN[+n] and RTMAX[-n] signal names"
	default y
	help
	  Support RTMIN[+n] and RTMAX[-n] signal names
	  in kill, killall etc. This costs ~250 bytes.

config KEMBTK_BUSYB_PASSWORD_MINLEN
	int "Minimum password length"
	default 6
	range 5 32
	help
	  Minimum allowable password length.

config KEMBTK_BUSYB_MD5_SMALL
	int "MD5: Trade bytes for speed (0:fast, 3:slow)"
	default 1
	range 0 3
	help
	  Trade binary size versus speed for the md5sum algorithm.
	  Approximate values running uClibc and hashing
	  linux-2.4.4.tar.bz2 were:
	                    user times (sec)  text size (386)
	  0 (fastest)         1.1                6144
	  1                   1.4                5392
	  2                   3.0                5088
	  3 (smallest)        5.1                4912

config KEMBTK_BUSYB_FEATURE_FAST_TOP
	bool "Faster /proc scanning code (+100 bytes)"
	default y
	help
	  This option makes top (and ps) ~20% faster (or 20% less KEMBTK_BUSYB_CPU hungry),
	  but code size is slightly bigger.

config KEMBTK_BUSYB_FEATURE_ETC_NETWORKS
	bool "Support for /etc/networks"
	help
	  Enable support for network names in /etc/networks. This is
	  a rarely used feature which allows you to use names
	  instead of KEMBTK_BUSYB_IP/mask pairs in route command.

config KEMBTK_BUSYB_FEATURE_USE_TERMIOS
	bool "Use termios to manipulate the screen"
	default y
	depends on KEMBTK_BUSYB_MORE || KEMBTK_BUSYB_TOP || KEMBTK_BUSYB_POWERTOP
	help
	  This option allows utilities such as 'more' and 'top' to determine
	  the size of the screen. If you leave this disabled, your utilities
	  that display things on the screen will be especially primitive and
	  will be unable to determine the current screen size, and will be
	  unable to move the cursor.

config KEMBTK_BUSYB_FEATURE_EDITING
	bool "Command line editing"
	default y
	help
	  Enable line editing (mainly for shell command line).

config KEMBTK_BUSYB_FEATURE_EDITING_MAX_LEN
	int "Maximum length of input"
	range 128 8192
	default 1024
	depends on KEMBTK_BUSYB_FEATURE_EDITING
	help
	  Line editing code uses on-stack buffers for storage.
	  You may want to decrease this parameter if your target machine
	  benefits from smaller stack usage.

config KEMBTK_BUSYB_FEATURE_EDITING_VI
	bool "vi-style line editing commands"
	depends on KEMBTK_BUSYB_FEATURE_EDITING
	help
	  Enable vi-style line editing. In shells, this mode can be
	  turned on and off with "set -o vi" and "set +o vi".

config KEMBTK_BUSYB_FEATURE_EDITING_HISTORY
	int "History size"
	# Don't allow way too big values here, code uses fixed "char *history[N]" struct member
	range 0 9999
	default 255
	depends on KEMBTK_BUSYB_FEATURE_EDITING
	help
	  Specify command history size (0 - disable).

config KEMBTK_BUSYB_FEATURE_EDITING_SAVEHISTORY
	bool "History saving"
	default y
	depends on KEMBTK_BUSYB_FEATURE_EDITING
	help
	  Enable history saving in shells.

config KEMBTK_BUSYB_FEATURE_EDITING_SAVE_ON_EXIT
	bool "Save history on shell exit, not after every command"
	depends on KEMBTK_BUSYB_FEATURE_EDITING_SAVEHISTORY
	help
	  Save history on shell exit, not after every command.

config KEMBTK_BUSYB_FEATURE_REVERSE_SEARCH
	bool "Reverse history search"
	default y
	depends on KEMBTK_BUSYB_FEATURE_EDITING_SAVEHISTORY
	help
	  Enable readline-like Ctrl-R combination for reverse history search.
	  Increases code by about 0.5k.

config KEMBTK_BUSYB_FEATURE_TAB_COMPLETION
	bool "Tab completion"
	default y
	depends on KEMBTK_BUSYB_FEATURE_EDITING
	help
	  Enable tab completion.

config KEMBTK_BUSYB_FEATURE_USERNAME_COMPLETION
	bool "Username completion"
	depends on KEMBTK_BUSYB_FEATURE_TAB_COMPLETION
	help
	  Enable username completion.

config KEMBTK_BUSYB_FEATURE_EDITING_FANCY_PROMPT
	bool "Fancy shell prompts"
	default y
	depends on KEMBTK_BUSYB_FEATURE_EDITING
	help
	  Setting this option allows for prompts to use things like \w and
	  \$ and escape codes.

config KEMBTK_BUSYB_FEATURE_EDITING_ASK_TERMINAL
	bool "Query cursor position from terminal"
	depends on KEMBTK_BUSYB_FEATURE_EDITING
	help
	  Allow usage of "ESC [ 6 n" sequence. Terminal answers back with
	  current cursor position. This information is used to make line
	  editing more robust in some cases.
	  If you are not sure whether your terminals respond to this code
	  correctly, or want to save on code size (about 400 bytes),
	  then do not turn this option on.

config KEMBTK_BUSYB_FEATURE_NON_POSIX_CP
	bool "Non-POSIX, but safer, copying to special nodes"
	default y
	help
	  With this option, "cp file symlink" will delete symlink
	  and create a regular file. This does not conform to POSIX,
	  but prevents a symlink attack.
	  Similarly, "cp file device" will not send file's data
	  to the device. (To do that, use "cat file >device")

config KEMBTK_BUSYB_FEATURE_VERBOSE_CP_MESSAGE
	bool "Give more precise messages when copy fails (cp, mv etc)"
	help
	  Error messages with this feature enabled:
	    $ cp file /does_not_exist/file
	    cp: cannot create '/does_not_exist/file': Path does not exist
	    $ cp file /vmlinuz/file
	    cp: cannot stat '/vmlinuz/file': Path has non-directory component
	  If this feature is not enabled, they will be, respectively:
	    cp: cannot create '/does_not_exist/file': No such file or directory
	    cp: cannot stat '/vmlinuz/file': Not a directory
	  This will cost you ~60 bytes.

config KEMBTK_BUSYB_FEATURE_COPYBUF_KB
	int "Copy buffer size, in kilobytes"
	range 1 1024
	default 4
	help
	  Size of buffer used by cp, mv, install, wget etc.
	  Buffers which are 4 kb or less will be allocated on stack.
	  Bigger buffers will be allocated with mmap, with fallback to 4 kb
	  stack buffer if mmap fails.

config KEMBTK_BUSYB_FEATURE_SKIP_ROOTFS
	bool "Skip rootfs in mount table"
	default y
	help
	  Ignore rootfs entry in mount table.

	  In Linux, kernel has a special filesystem, rootfs, which is initially
	  mounted on /. It contains initramfs data, if kernel is configured
	  to have one. Usually, another file system is mounted over / early
	  in boot process, and therefore most tools which manipulate
	  mount table, such as df, will skip rootfs entry.

	  However, some systems do not mount anything on /.
	  If you need to configure busybox for one of these systems,
	  you may find it useful to turn this option off to make df show
	  initramfs statistics.

	  Otherwise, choose Y.

config KEMBTK_BUSYB_MONOTONIC_SYSCALL
	bool "Use clock_gettime(CLOCK_MONOTONIC) syscall"
	select KEMBTK_BUSYB_PLATFORM_LINUX
	help
	  Use clock_gettime(CLOCK_MONOTONIC) syscall for measuring
	  time intervals (time, ping, traceroute etc need this).
	  Probably requires Linux 2.6+. If not selected, gettimeofday
	  will be used instead (which gives wrong results if date/time
	  is reset).

config KEMBTK_BUSYB_IOCTL_HEX2STR_ERROR
	bool "Use ioctl names rather than hex values in error messages"
	default y
	help
	  Use ioctl names rather than hex values in error messages
	  (e.g. VT_DISALLOCATE rather than 0x5608). If disabled this
	  saves about 1400 bytes.

config KEMBTK_BUSYB_FEATURE_HWIB
	bool "Support infiniband HW"
	default y
	help
	  Support for printing infiniband addresses in
	  network applets.