diff options
author | Denys Vlasenko <vda.linux@googlemail.com> | 2017-07-15 21:14:16 +0200 |
---|---|---|
committer | Denys Vlasenko <vda.linux@googlemail.com> | 2017-07-15 21:14:16 +0200 |
commit | 2c8929c7af5c5618d5f2ed59053c53bac2304184 (patch) | |
tree | a5b1e96fbc1593d772494a1ba12345c3d6707ca7 | |
parent | a3df2fa5250730c84ea0e5ad839f44435888818e (diff) | |
download | busybox-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.in | 132 |
1 files changed, 69 insertions, 63 deletions
@@ -12,10 +12,14 @@ config HAVE_DOT_CONFIG | |||
12 | menu "Busybox Settings" | 12 | menu "Busybox Settings" |
13 | 13 | ||
14 | config DESKTOP | 14 | config 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 | ||
45 | config USE_PORTABLE_CODE | 49 | config 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 | ||
53 | config SHOW_USAGE | 56 | config 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 | ||
87 | config 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 | |||
102 | config 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 | |||
111 | config 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 | |||
119 | config LFS | 90 | config 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 | ||
130 | config PAM | 101 | config 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 | ||
137 | config 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 | |||
144 | config FEATURE_DEVPTS | 108 | config 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 | ||
156 | config 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 | |||
171 | config 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 | |||
180 | config 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 | |||
192 | config FEATURE_SUID | 188 | config 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 | ||
222 | config FEATURE_SUID_CONFIG | 218 | config 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 | ||
514 | config 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 | |||
516 | comment 'Installation Options ("make install" behavior)' | 522 | comment 'Installation Options ("make install" behavior)' |
517 | 523 | ||
518 | choice | 524 | choice |