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:
parent
d1569c215c
commit
d4f15e95d6
15
INSTALL
15
INSTALL
@ -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
|
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,
|
in the shell's command $PATH. Running "make install" creates these symlinks,
|
||||||
or "make install-hardlinks" creates hardlinks instead (useful on systems with
|
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
|
"busybox.links" (created by make), which contains the list of enabled applets
|
||||||
and the path at which to install them.
|
and the path at which to install them.
|
||||||
|
|
||||||
The special applet name "busybox" (or with any optional suffix, such as
|
Installing links to busybox is not always necessary. The special applet name
|
||||||
"busybox-static") uses the first argument to determine which applet to behave
|
"busybox" (or with any optional suffix, such as "busybox-static") uses the
|
||||||
as (for example, "./busybox cat LICENSE"). (Running the busybox applet with
|
first argument to determine which applet to behave as, for example
|
||||||
no arguments gives a list of all enabled applets.)
|
"./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:
|
Building out-of-tree:
|
||||||
=====================
|
=====================
|
||||||
|
12
Makefile
12
Makefile
@ -129,8 +129,7 @@ help:
|
|||||||
@echo ' oldconfig - resolve any unresolved symbols in .config'
|
@echo ' oldconfig - resolve any unresolved symbols in .config'
|
||||||
@echo
|
@echo
|
||||||
@echo 'Installation:'
|
@echo 'Installation:'
|
||||||
@echo ' install - install busybox and symlinks into $prefix'
|
@echo ' install - install busybox into $prefix'
|
||||||
@echo ' install-hardlinks - install busybox and hardlinks into $prefix'
|
|
||||||
@echo ' uninstall'
|
@echo ' uninstall'
|
||||||
@echo
|
@echo
|
||||||
@echo 'Development:'
|
@echo 'Development:'
|
||||||
@ -196,8 +195,8 @@ defconfig: scripts/config/conf
|
|||||||
|
|
||||||
allbareconfig: scripts/config/conf
|
allbareconfig: scripts/config/conf
|
||||||
@./scripts/config/conf -y $(CONFIG_CONFIG_IN)
|
@./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 -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 -e "/FEATURE/s/=.*//;/^[^#]/s/.*FEATURE.*/# \0 is not set/;" .config
|
||||||
@echo "CONFIG_FEATURE_BUFFERS_GO_ON_STACK=y" >> .config
|
@echo "CONFIG_FEATURE_BUFFERS_GO_ON_STACK=y" >> .config
|
||||||
@./scripts/config/conf -o $(CONFIG_CONFIG_IN)
|
@./scripts/config/conf -o $(CONFIG_CONFIG_IN)
|
||||||
|
|
||||||
@ -220,7 +219,7 @@ busybox.links: $(top_srcdir)/applets/busybox.mkll include/config.h $(top_srcdir)
|
|||||||
- $(SHELL) $^ >$@
|
- $(SHELL) $^ >$@
|
||||||
|
|
||||||
install: $(top_srcdir)/applets/install.sh busybox busybox.links
|
install: $(top_srcdir)/applets/install.sh busybox busybox.links
|
||||||
$(SHELL) $< $(PREFIX)
|
$(SHELL) $< $(PREFIX) $(INSTALL_OPTS)
|
||||||
ifeq ($(strip $(CONFIG_FEATURE_SUID)),y)
|
ifeq ($(strip $(CONFIG_FEATURE_SUID)),y)
|
||||||
@echo
|
@echo
|
||||||
@echo
|
@echo
|
||||||
@ -236,9 +235,6 @@ uninstall: busybox.links
|
|||||||
rm -f $(PREFIX)/bin/busybox
|
rm -f $(PREFIX)/bin/busybox
|
||||||
for i in `cat busybox.links` ; do rm -f $(PREFIX)$$i; done
|
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
|
# see if we are in verbose mode
|
||||||
KBUILD_VERBOSE :=
|
KBUILD_VERBOSE :=
|
||||||
ifdef V
|
ifdef V
|
||||||
|
@ -28,17 +28,16 @@ system.
|
|||||||
|
|
||||||
BusyBox is extremely configurable. This allows you to include only the
|
BusyBox is extremely configurable. This allows you to include only the
|
||||||
components you need, thereby reducing binary size. Run 'make config' or 'make
|
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.
|
'make' to compile BusyBox using your configuration.
|
||||||
|
|
||||||
After the compile has finished, you should use 'make install' to install
|
After the compile has finished, you should use 'make install' to install
|
||||||
BusyBox. This will install the '/bin/busybox' binary, and will also create
|
BusyBox. This will install the 'bin/busybox' binary, in the target directory
|
||||||
symlinks pointing to the '/bin/busybox' binary for each utility that you
|
specified by PREFIX. PREFIX can be set when configuring BusyBox, or you can
|
||||||
compile into BusyBox. By default, 'make install' will place these symlinks
|
specify an alternative location at install time (i.e., with a command line
|
||||||
into the './_install' directory, unless you have defined 'PREFIX', thereby
|
like 'make PREFIX=/tmp/foo install'). If you enabled any applet installation
|
||||||
specifying some alternative location (i.e., 'make PREFIX=/tmp/foo install').
|
scheme (either as symlinks or hardlinks), these will also be installed in
|
||||||
If you wish to install using hardlinks, rather than the default of using
|
the location pointed to by PREFIX.
|
||||||
symlinks, you can use 'make PREFIX=/tmp/foo install-hardlinks' instead.
|
|
||||||
|
|
||||||
=head1 USAGE
|
=head1 USAGE
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user