Bump to version 1.22.1
[platform/upstream/busybox.git] / INSTALL
diff --git a/INSTALL b/INSTALL
index a7902ab..750cfc4 100644 (file)
--- a/INSTALL
+++ b/INSTALL
@@ -19,11 +19,24 @@ it, is to enable all features and then use "standalone shell" mode with a
 blank command $PATH.
 
 To enable all features, use "make defconfig", which produces the largest
 blank command $PATH.
 
 To enable all features, use "make defconfig", which produces the largest
-general-purpose configuration.  (It's allyesconfig minus debugging options,
+general-purpose configuration.  It's allyesconfig minus debugging options,
 optional packaging choices, and a few special-purpose features requiring
 optional packaging choices, and a few special-purpose features requiring
-extra configuration to use.)
+extra configuration to use.  Then enable "standalone shell" feature:
 
   make defconfig
 
   make defconfig
+  make menuconfig
+  # select Busybox Settings
+  #   then General Configuration
+  #     then exec prefers applets
+  #   exit back to top level menu
+  #   select Shells
+  #     then Standalone shell
+  #   exit back to top level menu
+  # exit and save new configuration
+  #   OR
+  # use these commands to modify .config directly:
+  sed -e 's/.*FEATURE_PREFER_APPLETS.*/CONFIG_FEATURE_PREFER_APPLETS=y/' -i .config
+  sed -e 's/.*FEATURE_SH_STANDALONE.*/CONFIG_FEATURE_SH_STANDALONE=y/' -i .config
   make
   PATH= ./busybox ash
 
   make
   PATH= ./busybox ash
 
@@ -34,8 +47,11 @@ the only commands busybox can find are the built-in ones.
 
 Note that the standalone shell requires CONFIG_BUSYBOX_EXEC_PATH
 to be set appropriately, depending on whether or not /proc/self/exe is
 
 Note that the standalone shell requires CONFIG_BUSYBOX_EXEC_PATH
 to be set appropriately, depending on whether or not /proc/self/exe is
-available or not. If you do not have /proc, then point that config option
+available. If you do not have /proc, then point that config option
 to the location of your busybox binary, usually /bin/busybox.
 to the location of your busybox binary, usually /bin/busybox.
+Another solution is to patch the kernel (see
+examples/linux-*_proc_self_exe.patch) to make exec("/proc/self/exe")
+always work.
 
 Configuring Busybox:
 ====================
 
 Configuring Busybox:
 ====================
@@ -57,7 +73,9 @@ create a known starting point.
 Other starting configurations (mostly used for testing purposes) include
 "make allbareconfig" (enables all applets but disables all optional features),
 "make allyesconfig" (enables absolutely everything including debug features),
 Other starting configurations (mostly used for testing purposes) include
 "make allbareconfig" (enables all applets but disables all optional features),
 "make allyesconfig" (enables absolutely everything including debug features),
-and "make randconfig" (produce a random configuration).
+and "make randconfig" (produce a random configuration).  The configs/ directory
+contains a number of additional configuration files ending in _defconfig which
+are useful in specific cases.  "make help" will list them.
 
 Configuring BusyBox produces a file ".config", which can be saved for future
 use.  Run "make oldconfig" to bring a .config file from an older version of
 
 Configuring BusyBox produces a file ".config", which can be saved for future
 use.  Run "make oldconfig" to bring a .config file from an older version of
@@ -84,7 +102,7 @@ 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
 "./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,
+also configure a standalone 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).
 
 and then install such links at runtime with one of "busybox --install" (for
 hardlinks) or "busybox --install -s" (for symlinks).
 
@@ -104,7 +122,7 @@ somewhere else.
 
 To build out of tree, cd to an empty directory and configure busybox from there:
 
 
 To build out of tree, cd to an empty directory and configure busybox from there:
 
-  make -f /path/to/source/Makefile defconfig
+  make KBUILD_SRC=/path/to/source -f /path/to/source/Makefile defconfig
   make
   make install
 
   make
   make install
 
@@ -121,5 +139,4 @@ More Information:
 
 Se also the busybox FAQ, under the questions "How can I get started using
 BusyBox" and "How do I build a BusyBox-based system?"  The BusyBox FAQ is
 
 Se also the busybox FAQ, under the questions "How can I get started using
 BusyBox" and "How do I build a BusyBox-based system?"  The BusyBox FAQ is
-available from http://www.busybox.net/FAQ.html or as the file
-docs/busybox.net/FAQ.html in this tarball.
+available from http://www.busybox.net/FAQ.html