diff options
-rw-r--r-- | INSTALL | 15 | ||||
-rw-r--r-- | Makefile | 12 | ||||
-rw-r--r-- | docs/busybox_header.pod | 15 |
3 files changed, 21 insertions, 21 deletions
@@ -58,14 +58,19 @@ Installing busybox consists of creating symlinks (or hardlinks) to the busybox | |||
58 | binary for each applet enabled in busybox, and making sure these symlinks are | 58 | binary for each applet enabled in busybox, and making sure these symlinks are |
59 | in the shell's command $PATH. Running "make install" creates these symlinks, | 59 | in the shell's command $PATH. Running "make install" creates these symlinks, |
60 | or "make install-hardlinks" creates hardlinks instead (useful on systems with | 60 | or "make install-hardlinks" creates hardlinks instead (useful on systems with |
61 | a limited number of inodes). This install process ues the file | 61 | a limited number of inodes). This install process uses the file |
62 | "busybox.links" (created by make), which contains the list of enabled applets | 62 | "busybox.links" (created by make), which contains the list of enabled applets |
63 | and the path at which to install them. | 63 | and the path at which to install them. |
64 | 64 | ||
65 | The special applet name "busybox" (or with any optional suffix, such as | 65 | Installing links to busybox is not always necessary. The special applet name |
66 | "busybox-static") uses the first argument to determine which applet to behave | 66 | "busybox" (or with any optional suffix, such as "busybox-static") uses the |
67 | as (for example, "./busybox cat LICENSE"). (Running the busybox applet with | 67 | first argument to determine which applet to behave as, for example |
68 | no arguments gives a list of all enabled applets.) | 68 | "./busybox cat LICENSE". (Running the busybox applet with no arguments gives |
69 | a list of all enabled applets.) The standalone shell can also call busybox | ||
70 | applets without links to busybox under other names in the filesystem. You can | ||
71 | also configure a standaone install capability into the busybox base applet, | ||
72 | and then install such links at runtime with one of "busybox --install" (for | ||
73 | hardlinks) or "busybox --install -s" (for symlinks). | ||
69 | 74 | ||
70 | Building out-of-tree: | 75 | Building out-of-tree: |
71 | ===================== | 76 | ===================== |
@@ -129,8 +129,7 @@ help: | |||
129 | @echo ' oldconfig - resolve any unresolved symbols in .config' | 129 | @echo ' oldconfig - resolve any unresolved symbols in .config' |
130 | @echo | 130 | @echo |
131 | @echo 'Installation:' | 131 | @echo 'Installation:' |
132 | @echo ' install - install busybox and symlinks into $prefix' | 132 | @echo ' install - install busybox into $prefix' |
133 | @echo ' install-hardlinks - install busybox and hardlinks into $prefix' | ||
134 | @echo ' uninstall' | 133 | @echo ' uninstall' |
135 | @echo | 134 | @echo |
136 | @echo 'Development:' | 135 | @echo 'Development:' |
@@ -196,8 +195,8 @@ defconfig: scripts/config/conf | |||
196 | 195 | ||
197 | allbareconfig: scripts/config/conf | 196 | allbareconfig: scripts/config/conf |
198 | @./scripts/config/conf -y $(CONFIG_CONFIG_IN) | 197 | @./scripts/config/conf -y $(CONFIG_CONFIG_IN) |
199 | sed -i -r -e "s/^(CONFIG_DEBUG|USING_CROSS_COMPILER|CONFIG_STATIC|CONFIG_SELINUX).*/# \1 is not set/" .config | 198 | @sed -i -r -e "s/^(CONFIG_DEBUG|USING_CROSS_COMPILER|CONFIG_STATIC|CONFIG_SELINUX).*/# \1 is not set/" .config |
200 | sed -i -e "/FEATURE/s/=.*//;/^[^#]/s/.*FEATURE.*/# \0 is not set/;" .config | 199 | @sed -i -e "/FEATURE/s/=.*//;/^[^#]/s/.*FEATURE.*/# \0 is not set/;" .config |
201 | @echo "CONFIG_FEATURE_BUFFERS_GO_ON_STACK=y" >> .config | 200 | @echo "CONFIG_FEATURE_BUFFERS_GO_ON_STACK=y" >> .config |
202 | @./scripts/config/conf -o $(CONFIG_CONFIG_IN) | 201 | @./scripts/config/conf -o $(CONFIG_CONFIG_IN) |
203 | 202 | ||
@@ -220,7 +219,7 @@ busybox.links: $(top_srcdir)/applets/busybox.mkll include/config.h $(top_srcdir) | |||
220 | - $(SHELL) $^ >$@ | 219 | - $(SHELL) $^ >$@ |
221 | 220 | ||
222 | install: $(top_srcdir)/applets/install.sh busybox busybox.links | 221 | install: $(top_srcdir)/applets/install.sh busybox busybox.links |
223 | $(SHELL) $< $(PREFIX) | 222 | $(SHELL) $< $(PREFIX) $(INSTALL_OPTS) |
224 | ifeq ($(strip $(CONFIG_FEATURE_SUID)),y) | 223 | ifeq ($(strip $(CONFIG_FEATURE_SUID)),y) |
225 | @echo | 224 | @echo |
226 | @echo | 225 | @echo |
@@ -236,9 +235,6 @@ uninstall: busybox.links | |||
236 | rm -f $(PREFIX)/bin/busybox | 235 | rm -f $(PREFIX)/bin/busybox |
237 | for i in `cat busybox.links` ; do rm -f $(PREFIX)$$i; done | 236 | for i in `cat busybox.links` ; do rm -f $(PREFIX)$$i; done |
238 | 237 | ||
239 | install-hardlinks: $(top_srcdir)/applets/install.sh busybox busybox.links | ||
240 | $(SHELL) $< $(PREFIX) --hardlinks | ||
241 | |||
242 | # see if we are in verbose mode | 238 | # see if we are in verbose mode |
243 | KBUILD_VERBOSE := | 239 | KBUILD_VERBOSE := |
244 | ifdef V | 240 | ifdef V |
diff --git a/docs/busybox_header.pod b/docs/busybox_header.pod index 5af92401c..7a5b0f716 100644 --- a/docs/busybox_header.pod +++ b/docs/busybox_header.pod | |||
@@ -28,17 +28,16 @@ system. | |||
28 | 28 | ||
29 | BusyBox is extremely configurable. This allows you to include only the | 29 | BusyBox is extremely configurable. This allows you to include only the |
30 | components you need, thereby reducing binary size. Run 'make config' or 'make | 30 | components you need, thereby reducing binary size. Run 'make config' or 'make |
31 | menuconfig' to select the functionality that you wish to enable. The run | 31 | menuconfig' to select the functionality that you wish to enable. Then run |
32 | 'make' to compile BusyBox using your configuration. | 32 | 'make' to compile BusyBox using your configuration. |
33 | 33 | ||
34 | After the compile has finished, you should use 'make install' to install | 34 | After the compile has finished, you should use 'make install' to install |
35 | BusyBox. This will install the '/bin/busybox' binary, and will also create | 35 | BusyBox. This will install the 'bin/busybox' binary, in the target directory |
36 | symlinks pointing to the '/bin/busybox' binary for each utility that you | 36 | specified by PREFIX. PREFIX can be set when configuring BusyBox, or you can |
37 | compile into BusyBox. By default, 'make install' will place these symlinks | 37 | specify an alternative location at install time (i.e., with a command line |
38 | into the './_install' directory, unless you have defined 'PREFIX', thereby | 38 | like 'make PREFIX=/tmp/foo install'). If you enabled any applet installation |
39 | specifying some alternative location (i.e., 'make PREFIX=/tmp/foo install'). | 39 | scheme (either as symlinks or hardlinks), these will also be installed in |
40 | If you wish to install using hardlinks, rather than the default of using | 40 | the location pointed to by PREFIX. |
41 | symlinks, you can use 'make PREFIX=/tmp/foo install-hardlinks' instead. | ||
42 | 41 | ||
43 | =head1 USAGE | 42 | =head1 USAGE |
44 | 43 | ||