aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDenys Vlasenko <vda.linux@googlemail.com>2017-07-15 21:14:16 +0200
committerDenys Vlasenko <vda.linux@googlemail.com>2017-07-15 21:14:16 +0200
commit2c8929c7af5c5618d5f2ed59053c53bac2304184 (patch)
treea5b1e96fbc1593d772494a1ba12345c3d6707ca7
parenta3df2fa5250730c84ea0e5ad839f44435888818e (diff)
downloadbusybox-w32-2c8929c7af5c5618d5f2ed59053c53bac2304184.tar.gz
busybox-w32-2c8929c7af5c5618d5f2ed59053c53bac2304184.tar.bz2
busybox-w32-2c8929c7af5c5618d5f2ed59053c53bac2304184.zip
config: reorder items in "Busybox Settings", improve help
Signed-off-by: Denys Vlasenko <vda.linux@googlemail.com>
-rw-r--r--Config.in132
1 files changed, 69 insertions, 63 deletions
diff --git a/Config.in b/Config.in
index 45ddc4377..cf72287be 100644
--- a/Config.in
+++ b/Config.in
@@ -12,10 +12,14 @@ config HAVE_DOT_CONFIG
12menu "Busybox Settings" 12menu "Busybox Settings"
13 13
14config DESKTOP 14config DESKTOP
15 bool "Enable options for full-blown desktop systems" 15 bool "Enable compatibility for full-blown desktop systems"
16 default y 16 default y
17 help 17 help
18 Enable options and features which are not essential. 18 Enable applet options and features which are not essential.
19 Many applet options have dedicated config options to (de)select them
20 under that applet; this options enables those options which have no
21 individual config item for them.
22
19 Select this if you plan to use busybox on full-blown desktop machine 23 Select this if you plan to use busybox on full-blown desktop machine
20 with common Linux distro, which needs higher level of command-line 24 with common Linux distro, which needs higher level of command-line
21 compatibility. 25 compatibility.
@@ -42,13 +46,12 @@ config INCLUDE_SUSv2
42 will be supported in head, tail, and fold. (Note: should 46 will be supported in head, tail, and fold. (Note: should
43 affect renice too.) 47 affect renice too.)
44 48
45config USE_PORTABLE_CODE 49config LONG_OPTS
46 bool "Avoid using GCC-specific code constructs" 50 bool "Support --long-options"
47 default n 51 default y
48 help 52 help
49 Use this option if you are trying to compile busybox with 53 Enable this if you want busybox applets to use the gnu --long-option
50 compiler other than gcc. 54 style, in addition to single character -a -b -c style options.
51 If you do use gcc, this option may needlessly increase code size.
52 55
53config SHOW_USAGE 56config SHOW_USAGE
54 bool "Show applet usage messages" 57 bool "Show applet usage messages"
@@ -84,40 +87,8 @@ config FEATURE_COMPRESS_USAGE
84 and have very little memory, this might not be a win. Otherwise, 87 and have very little memory, this might not be a win. Otherwise,
85 you probably want this. 88 you probably want this.
86 89
87config BUSYBOX
88 bool "Include busybox applet"
89 default y
90 help
91 The busybox applet provides general help regarding busybox and
92 allows the included applets to be listed. It's also required
93 if applet links are to be installed at runtime. If you unselect
94 this option, running busybox without any arguments will give
95 just a cryptic error message:
96
97 $ busybox
98 busybox: applet not found
99
100 Running "busybox APPLET [ARGS...]" will still work, of course.
101
102config FEATURE_INSTALLER
103 bool "Support --install [-s] to install applet links at runtime"
104 default y
105 depends on BUSYBOX
106 help
107 Enable 'busybox --install [-s]' support. This will allow you to use
108 busybox at runtime to create hard links or symlinks for all the
109 applets that are compiled into busybox.
110
111config INSTALL_NO_USR
112 bool "Don't use /usr"
113 default n
114 help
115 Disable use of /usr. busybox --install and "make install"
116 will install applets only to /bin and /sbin,
117 never to /usr/bin or /usr/sbin.
118
119config LFS 90config LFS
120 bool "Build with Large File Support (for accessing files > 2 GB)" 91 bool "Support files > 2 GB"
121 default y 92 default y
122 help 93 help
123 If you want to build BusyBox with large file support, then enable 94 If you want to build BusyBox with large file support, then enable
@@ -125,7 +96,7 @@ config LFS
125 library lacks large file support for large files. Some of the 96 library lacks large file support for large files. Some of the
126 programs that can benefit from large file support include dd, gzip, 97 programs that can benefit from large file support include dd, gzip,
127 cp, mount, tar, and many others. If you want to access files larger 98 cp, mount, tar, and many others. If you want to access files larger
128 than 2 Gigabytes, enable this option. Otherwise, leave it set to 'N'. 99 than 2 Gigabytes, enable this option.
129 100
130config PAM 101config PAM
131 bool "Support PAM (Pluggable Authentication Modules)" 102 bool "Support PAM (Pluggable Authentication Modules)"
@@ -134,13 +105,6 @@ config PAM
134 Use PAM in some busybox applets (currently login and httpd) instead 105 Use PAM in some busybox applets (currently login and httpd) instead
135 of direct access to password database. 106 of direct access to password database.
136 107
137config LONG_OPTS
138 bool "Support --long-options"
139 default y
140 help
141 Enable this if you want busybox applets to use the gnu --long-option
142 style, in addition to single character -a -b -c style options.
143
144config FEATURE_DEVPTS 108config FEATURE_DEVPTS
145 bool "Use the devpts filesystem for Unix98 PTYs" 109 bool "Use the devpts filesystem for Unix98 PTYs"
146 default y 110 default y
@@ -189,8 +153,40 @@ config PID_FILE_PATH
189 this value. The option has no effect on applets that require you to 153 this value. The option has no effect on applets that require you to
190 specify a pidfile path. 154 specify a pidfile path.
191 155
156config BUSYBOX
157 bool "Include busybox applet"
158 default y
159 help
160 The busybox applet provides general help regarding busybox and
161 allows the included applets to be listed. It's also required
162 if applet links are to be installed at runtime. If you unselect
163 this option, running busybox without any arguments will give
164 just a cryptic error message:
165
166 $ busybox
167 busybox: applet not found
168
169 Running "busybox APPLET [ARGS...]" will still work, of course.
170
171config FEATURE_INSTALLER
172 bool "Support --install [-s] to install applet links at runtime"
173 default y
174 depends on BUSYBOX
175 help
176 Enable 'busybox --install [-s]' support. This will allow you to use
177 busybox at runtime to create hard links or symlinks for all the
178 applets that are compiled into busybox.
179
180config INSTALL_NO_USR
181 bool "Don't use /usr"
182 default n
183 help
184 Disable use of /usr. busybox --install and "make install"
185 will install applets only to /bin and /sbin,
186 never to /usr/bin or /usr/sbin.
187
192config FEATURE_SUID 188config FEATURE_SUID
193 bool "Support SUID/SGID handling" 189 bool "Drop SUID state for most applets"
194 default y 190 default y
195 help 191 help
196 With this option you can install the busybox binary belonging 192 With this option you can install the busybox binary belonging
@@ -198,16 +194,16 @@ config FEATURE_SUID
198 root-level operations even when run by ordinary users 194 root-level operations even when run by ordinary users
199 (for example, mounting of user mounts in fstab needs this). 195 (for example, mounting of user mounts in fstab needs this).
200 196
201 Busybox will automatically drop privileges for applets 197 With this option enabled, Busybox drops privileges for applets
202 that don't need root access. 198 that don't need root access, before entering their main() function.
203 199
204 If you are really paranoid and don't want to do this, build two 200 If you are really paranoid and don't want even initial busybox code
205 busybox binaries with different applets in them (and the appropriate 201 to run under root for evey applet, build two busybox binaries with
206 symlinks pointing to each binary), and only set the suid bit on the 202 different applets in them (and the appropriate symlinks pointing
207 one that needs it. 203 to each binary), and only set the suid bit on the one that needs it.
208 204
209 The applets which require root rights (need suid bit or 205 Some applets which require root rights (need suid bit on the binary
210 to be run by root) and will refuse to execute otherwise: 206 or to be run by root) and will refuse to execute otherwise:
211 crontab, login, passwd, su, vlock, wall. 207 crontab, login, passwd, su, vlock, wall.
212 208
213 The applets which will use root rights if they have them 209 The applets which will use root rights if they have them
@@ -215,16 +211,16 @@ config FEATURE_SUID
215 without root right nevertheless: 211 without root right nevertheless:
216 findfs, ping[6], traceroute[6], mount. 212 findfs, ping[6], traceroute[6], mount.
217 213
218 Note that if you DONT select this option, but DO make busybox 214 Note that if you DO NOT select this option, but DO make busybox
219 suid root, ALL applets will run under root, which is a huge 215 suid root, ALL applets will run under root, which is a huge
220 security hole (think "cp /some/file /etc/passwd"). 216 security hole (think "cp /some/file /etc/passwd").
221 217
222config FEATURE_SUID_CONFIG 218config FEATURE_SUID_CONFIG
223 bool "Runtime SUID/SGID configuration via /etc/busybox.conf" 219 bool "Enable SUID configuration via /etc/busybox.conf"
224 default y 220 default y
225 depends on FEATURE_SUID 221 depends on FEATURE_SUID
226 help 222 help
227 Allow the SUID / SGID state of an applet to be determined at runtime 223 Allow the SUID/SGID state of an applet to be determined at runtime
228 by checking /etc/busybox.conf. (This is sort of a poor man's sudo.) 224 by checking /etc/busybox.conf. (This is sort of a poor man's sudo.)
229 The format of this file is as follows: 225 The format of this file is as follows:
230 226
@@ -244,7 +240,7 @@ config FEATURE_SUID_CONFIG
244 240
245 [SUID] 241 [SUID]
246 su = ssx root.0 # applet su can be run by anyone and runs with 242 su = ssx root.0 # applet su can be run by anyone and runs with
247 # euid=0/egid=0 243 # euid=0,egid=0
248 su = ssx # exactly the same 244 su = ssx # exactly the same
249 245
250 mount = sx- root.disk # applet mount can be run by root and members 246 mount = sx- root.disk # applet mount can be run by root and members
@@ -280,8 +276,9 @@ config FEATURE_PREFER_APPLETS
280 call 'exec' to try and find an applicable busybox applet before 276 call 'exec' to try and find an applicable busybox applet before
281 searching the PATH. This is typically done by exec'ing 277 searching the PATH. This is typically done by exec'ing
282 /proc/self/exe. 278 /proc/self/exe.
279
283 This may affect shell, find -exec, xargs and similar applets. 280 This may affect shell, find -exec, xargs and similar applets.
284 They will use applets even if /bin/<applet> -> busybox link 281 They will use applets even if /bin/APPLET -> busybox link
285 is missing (or is not a link to busybox). However, this causes 282 is missing (or is not a link to busybox). However, this causes
286 problems in chroot jails without mounted /proc and with ps/top 283 problems in chroot jails without mounted /proc and with ps/top
287 (command name can be shown as 'exe' for applets started this way). 284 (command name can be shown as 'exe' for applets started this way).
@@ -308,6 +305,7 @@ config SELINUX
308 will not compile. Specifially, libselinux 1.28 or better is 305 will not compile. Specifially, libselinux 1.28 or better is
309 directly required by busybox. If the installation is located in a 306 directly required by busybox. If the installation is located in a
310 non-standard directory, provide it by invoking make as follows: 307 non-standard directory, provide it by invoking make as follows:
308
311 CFLAGS=-I<libselinux-include-path> \ 309 CFLAGS=-I<libselinux-include-path> \
312 LDFLAGS=-L<libselinux-lib-path> \ 310 LDFLAGS=-L<libselinux-lib-path> \
313 make 311 make
@@ -513,6 +511,14 @@ config EXTRA_LDLIBS
513 help 511 help
514 Additional LDLIBS to pass to the linker with -l. 512 Additional LDLIBS to pass to the linker with -l.
515 513
514config USE_PORTABLE_CODE
515 bool "Avoid using GCC-specific code constructs"
516 default n
517 help
518 Use this option if you are trying to compile busybox with
519 compiler other than gcc.
520 If you do use gcc, this option may needlessly increase code size.
521
516comment 'Installation Options ("make install" behavior)' 522comment 'Installation Options ("make install" behavior)'
517 523
518choice 524choice