Install links patch from Yann E. Morin. (Another thing hanging around in my

tree forever.  Tweaked the docs a bit.)
This commit is contained in:
Rob Landley 2005-12-02 18:27:39 +00:00
parent d1569c215c
commit d4f15e95d6
3 changed files with 21 additions and 21 deletions

15
INSTALL
View File

@ -58,14 +58,19 @@ Installing busybox consists of creating symlinks (or hardlinks) to the busybox
binary for each applet enabled in busybox, and making sure these symlinks are
in the shell's command $PATH. Running "make install" creates these symlinks,
or "make install-hardlinks" creates hardlinks instead (useful on systems with
a limited number of inodes). This install process ues the file
a limited number of inodes). This install process uses the file
"busybox.links" (created by make), which contains the list of enabled applets
and the path at which to install them.
The special applet name "busybox" (or with any optional suffix, such as
"busybox-static") uses the first argument to determine which applet to behave
as (for example, "./busybox cat LICENSE"). (Running the busybox applet with
no arguments gives a list of all enabled applets.)
Installing links to busybox is not always necessary. The special applet name
"busybox" (or with any optional suffix, such as "busybox-static") uses the
first argument to determine which applet to behave as, for example
"./busybox cat LICENSE". (Running the busybox applet with no arguments gives
a list of all enabled applets.) The standalone shell can also call busybox
applets without links to busybox under other names in the filesystem. You can
also configure a standaone install capability into the busybox base applet,
and then install such links at runtime with one of "busybox --install" (for
hardlinks) or "busybox --install -s" (for symlinks).
Building out-of-tree:
=====================

View File

@ -129,8 +129,7 @@ help:
@echo ' oldconfig - resolve any unresolved symbols in .config'
@echo
@echo 'Installation:'
@echo ' install - install busybox and symlinks into $prefix'
@echo ' install-hardlinks - install busybox and hardlinks into $prefix'
@echo ' install - install busybox into $prefix'
@echo ' uninstall'
@echo
@echo 'Development:'
@ -196,8 +195,8 @@ defconfig: scripts/config/conf
allbareconfig: scripts/config/conf
@./scripts/config/conf -y $(CONFIG_CONFIG_IN)
sed -i -r -e "s/^(CONFIG_DEBUG|USING_CROSS_COMPILER|CONFIG_STATIC|CONFIG_SELINUX).*/# \1 is not set/" .config
sed -i -e "/FEATURE/s/=.*//;/^[^#]/s/.*FEATURE.*/# \0 is not set/;" .config
@sed -i -r -e "s/^(CONFIG_DEBUG|USING_CROSS_COMPILER|CONFIG_STATIC|CONFIG_SELINUX).*/# \1 is not set/" .config
@sed -i -e "/FEATURE/s/=.*//;/^[^#]/s/.*FEATURE.*/# \0 is not set/;" .config
@echo "CONFIG_FEATURE_BUFFERS_GO_ON_STACK=y" >> .config
@./scripts/config/conf -o $(CONFIG_CONFIG_IN)
@ -220,7 +219,7 @@ busybox.links: $(top_srcdir)/applets/busybox.mkll include/config.h $(top_srcdir)
- $(SHELL) $^ >$@
install: $(top_srcdir)/applets/install.sh busybox busybox.links
$(SHELL) $< $(PREFIX)
$(SHELL) $< $(PREFIX) $(INSTALL_OPTS)
ifeq ($(strip $(CONFIG_FEATURE_SUID)),y)
@echo
@echo
@ -236,9 +235,6 @@ uninstall: busybox.links
rm -f $(PREFIX)/bin/busybox
for i in `cat busybox.links` ; do rm -f $(PREFIX)$$i; done
install-hardlinks: $(top_srcdir)/applets/install.sh busybox busybox.links
$(SHELL) $< $(PREFIX) --hardlinks
# see if we are in verbose mode
KBUILD_VERBOSE :=
ifdef V

View File

@ -28,17 +28,16 @@ system.
BusyBox is extremely configurable. This allows you to include only the
components you need, thereby reducing binary size. Run 'make config' or 'make
menuconfig' to select the functionality that you wish to enable. The run
menuconfig' to select the functionality that you wish to enable. Then run
'make' to compile BusyBox using your configuration.
After the compile has finished, you should use 'make install' to install
BusyBox. This will install the '/bin/busybox' binary, and will also create
symlinks pointing to the '/bin/busybox' binary for each utility that you
compile into BusyBox. By default, 'make install' will place these symlinks
into the './_install' directory, unless you have defined 'PREFIX', thereby
specifying some alternative location (i.e., 'make PREFIX=/tmp/foo install').
If you wish to install using hardlinks, rather than the default of using
symlinks, you can use 'make PREFIX=/tmp/foo install-hardlinks' instead.
BusyBox. This will install the 'bin/busybox' binary, in the target directory
specified by PREFIX. PREFIX can be set when configuring BusyBox, or you can
specify an alternative location at install time (i.e., with a command line
like 'make PREFIX=/tmp/foo install'). If you enabled any applet installation
scheme (either as symlinks or hardlinks), these will also be installed in
the location pointed to by PREFIX.
=head1 USAGE