aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRob Landley <rob@landley.net>2006-03-13 04:38:40 +0000
committerRob Landley <rob@landley.net>2006-03-13 04:38:40 +0000
commit965030e35aed6a8b9c09267baba4c2342d5223d6 (patch)
tree9a2ab8948e414408d0d3d4ebea0c9d447cfe883a
parent19808fea7655724ce71f00135e03c02bcabe6795 (diff)
downloadbusybox-w32-965030e35aed6a8b9c09267baba4c2342d5223d6.tar.gz
busybox-w32-965030e35aed6a8b9c09267baba4c2342d5223d6.tar.bz2
busybox-w32-965030e35aed6a8b9c09267baba4c2342d5223d6.zip
Update documentation.
-rw-r--r--INSTALL61
1 files changed, 36 insertions, 25 deletions
diff --git a/INSTALL b/INSTALL
index d5e9ae343..4d0a09f9a 100644
--- a/INSTALL
+++ b/INSTALL
@@ -16,9 +16,14 @@ Quick Start:
16 16
17The easy way to try out BusyBox for the first time, without having to install 17The easy way to try out BusyBox for the first time, without having to install
18it, is to enable all features and then use "standalone shell" mode with a 18it, is to enable all features and then use "standalone shell" mode with a
19blank command $PATH: 19blank command $PATH.
20 20
21 make allyesconfig 21To enable all features, use "make defconfig", which produces the largest
22general-purpose configuration. (It's allyesconfig minus debugging options,
23optional packaging choices, and a few special-purpose features requiring
24extra configuration to use.)
25
26 make defconfig
22 make 27 make
23 PATH= ./busybox ash 28 PATH= ./busybox ash
24 29
@@ -27,25 +32,34 @@ any built-in busybox applets directly, without looking for external
27programs by that name. Supplying an empty command path (as above) means 32programs by that name. Supplying an empty command path (as above) means
28the only commands busybox can find are the built-in ones. 33the only commands busybox can find are the built-in ones.
29 34
30(Note that the standalone shell requires the /proc directory to function.) 35(Note that the standalone shell currently requires /proc/self/exe to
36launch new applets.)
31 37
32Configuring Busybox: 38Configuring Busybox:
33==================== 39====================
34 40
35Busybox is optimized for size, but enabling the full set of functionality 41Busybox is optimized for size, but enabling the full set of functionality
36still results in a fairly large executable (more than 1 megabyte when 42still results in a fairly large executable -- more than 1 megabyte when
37statically linked). To save space, busybox can be configured with only the 43statically linked. To save space, busybox can be configured with only the
38set of applets needed for each environment. The minimal configuration, with 44set of applets needed for each environment. The minimal configuration, with
39all applets disabled, produces a 4k executable. (It's useless, but very small.) 45all applets disabled, produces a 4k executable. (It's useless, but very small.)
40 46
41The manual configurators "make config" and "make menuconfig" modify the 47The manual configurator "make menuconfig" modifies the existing configuration.
42existing configuration. Quick ways to get starting configurations include 48(For systems without ncurses, try "make config" instead.) The two most
43"make allyesconfig" (enables almost all options), "make allnoconfig" (disables 49interesting starting configurations are "make allnoconfig" (to start with
44all options), "make allbaseconfig" (enables all applets but disables all 50everything disabled and add just what you need), and "make defconfig" (to
45optional features), and "make defconfig" (reset to defaults). 51start with everything enabled and remove what you don't need). If menuconfig
52is run without an existing configuration, make defconfig will run first to
53create a known starting point.
54
55Other starting configurations (mostly used for testing purposes) include
56"make allbaseconfig" (enables all applets but disables all optional features),
57"make allyesconfig" (enables absolutely everything including debug features),
58and "make randconfig" (produce a random configuration).
46 59
47Configuring BusyBox produces a file ".config", which can be saved for future 60Configuring BusyBox produces a file ".config", which can be saved for future
48use. 61use. Run "make oldconfig" to bring a .config file from an older version of
62busybox up to date.
49 63
50Installing Busybox: 64Installing Busybox:
51=================== 65===================
@@ -72,37 +86,34 @@ also configure a standaone install capability into the busybox base applet,
72and then install such links at runtime with one of "busybox --install" (for 86and then install such links at runtime with one of "busybox --install" (for
73hardlinks) or "busybox --install -s" (for symlinks). 87hardlinks) or "busybox --install -s" (for symlinks).
74 88
75If you built busybox as shared object which uses libbusybox.so and have not 89If you enabled the busybox shared library feature (libbusybox.so) and want
76yet installed the binary but want to run tests, then set your LD_LIBRARY_PATH 90to run tests without installing, set your LD_LIBRARY_PATH accordingly when
77accordingly before running the executable: 91running the executable:
78 92
79 export LD_LIBRARY_PATH=`pwd` 93 LD_LIBRARY_PATH=`pwd` ./busybox
80 ./busybox
81 94
82Building out-of-tree: 95Building out-of-tree:
83===================== 96=====================
84 97
85By default, the BusyBox build puts its temporary files in the source tree. 98By default, the BusyBox build puts its temporary files in the source tree.
86Building from a read-only source tree, or to building multiple 99Building from a read-only source tree, or building multiple configurations from
87configurations from the same source directory, requires the ability to 100the same source directory, requires the ability to put the temporary files
88put the temporary files somewhere else. 101somewhere else.
89 102
90To build out of tree, cd to the empty directory and do this instead: 103To build out of tree, cd to an empty directory and configure busybox from there:
91 104
92 make -f /path/to/source/Makefile allyesconfig 105 make -f /path/to/source/Makefile defconfig
93 make 106 make
94 make install 107 make install
95 108
96Alternately, use the O=$BUILDPATH option during the configuration step, as in: 109Alternately, use the O=$BUILDPATH option (with an absolute path) during the
110configuration step, as in:
97 111
98 make O=/some/empty/directory allyesconfig 112 make O=/some/empty/directory allyesconfig
99 cd /some/empty/directory 113 cd /some/empty/directory
100 make 114 make
101 make PREFIX=. install 115 make PREFIX=. install
102 116
103(Note, O= requires an absolute path.)
104
105
106More Information: 117More Information:
107================= 118=================
108 119