-Please see the LICENSE file for copyright information.
+Please see the LICENSE file for details on copying and usage.
+
+BusyBox combines tiny versions of many common UNIX utilities into a single
+small executable. It provides minimalist replacements for most of the utilities
+you usually find in fileutils, shellutils, findutils, textutils, grep, gzip,
+tar, etc. BusyBox provides a fairly complete POSIX environment for any small or
+embedded system. The utilities in BusyBox generally have fewer options than
+their full featured GNU cousins; however, the options that are included provide
+the expected functionality and behave very much like their GNU counterparts.
-Busybox is a multicall binary used to provide a minimal subset of
-POSIX style commands and specialized functions.
+BusyBox was originally written to support the Debian Rescue/Install disks, but
+it also makes an excellent environment for any small or embedded system.
-It is geared toward 'mini-systems' like boot floppies. Specifically
-it is used in the Debian Rescue/Install system (which caused the
-original busybox to be made), the Linux Router Project, and others.
+BusyBox has been written with size-optimization and limited resources in mind.
+It is also extremely modular so you can easily include or exclude commands (or
+features) at compile time. This makes it easy to customize your embedded
+systems. To create a working system, just add /dev, /etc, and a kernel.
-As of version 0.20 there is a version number. : )
-Also as of version 0.20, BB is modularized to allow an easy build of
-only the BB parts you need, to reduce binary size.
+As of version 0.20 there is now a version number. : ) Also as of version 0.20,
+BusyBox is now modularized to easily allow you to build only the components you
+need, thereby reducing binary size. Run 'make config' or 'make menuconfig'
+for select the functionality that you wish to enable.
-Edit the file busybox.def.h and comment out the parts you do not need
-using C++ comments (//)
+After the build is complete, a busybox.links file is generated. This is
+used by 'make install' to create symlinks to the busybox binary for all
+compiled in functions. By default, 'make install' will place the symlink
+forest into `pwd`/_install unless you have defined the PREFIX environment
+variable (i.e., 'make PREFIX=/tmp/foo install')
-After the build is complete a busybox.links file is generated to allow
-you to easily make the sym/hard links to the busybox binary.
+If you wish to install hardlinks, rather than symlinks, you can use
+'make install-hardlinks' instead.
-Note the modular system is Makefile based, and purposly very
-simplistic. It does no dependency checking. That is left for you
-to figure out by trial and error.
+----------------
+
+Supported architectures:
+
+ Busybox in general will build on any architecture supported by gcc. It has
+ a few specialized features added for __sparc__ and __alpha__. insmod
+ functionality is currently limited to x86, ARM, SH3/4, powerpc, m68k,
+ MIPS, and v850e.
+
+Supported libcs:
+
+ glibc-2.0.x, glibc-2.1.x, glibc-2.2.x, glibc-2.3.x, uClibc. People
+ are looking at newlib and diet-libc, but consider them unsupported,
+ untested, or worse. Linux-libc5 is no longer supported -- you
+ should probably use uClibc instead if you want a small C library.
+
+Supported kernels:
+
+ Full functionality requires Linux 2.2.x or better. A large fraction of the
+ code should run on just about anything. While the current code is fairly
+ Linux specific, it should be fairly easy to port the majority of the code
+ to, say, FreeBSD or Solaris, or MacOsX, or even Windows (if you are into that
+ sortof thing).
+
+----------------
+
+Getting help:
+
+When you find you need help, you can check out the BusyBox mailing list
+archives at http://busybox.net/lists/busybox/ or even join
+the mailing list if you are interested.
+
+----------------
+
+Bugs:
+
+If you find bugs, please submit a detailed bug report to the busybox mailing
+list at busybox@mail.busybox.net. A well-written bug report should include a
+transcript of a shell session that demonstrates the bad behavior and enables
+anyone else to duplicate the bug on their own machine. The following is such
+an example:
+
+ To: busybox@mail.busybox.net
+ From: diligent@testing.linux.org
+ Subject: /bin/date doesn't work
+
+ Package: busybox
+ Version: 1.00
+
+ When I execute Busybox 'date' it produces unexpected results.
+ With GNU date I get the following output:
+
+ $ date
+ Wed Mar 21 14:19:41 MST 2001
+
+ But when I use BusyBox date I get this instead:
+
+ $ date
+ llegal instruction
+
+ I am using Debian unstable, kernel version 2.4.19-rmk1 on an Netwinder,
+ and the latest uClibc from CVS. Thanks for the wonderful program!
+
+ -Diligent
+
+Note the careful description and use of examples showing not only what BusyBox
+does, but also a counter example showing what an equivalent GNU app does. Bug
+reports lacking such detail may never be fixed... Thanks for understanding.
+
+----------------
+
+FTP:
+
+Source for the latest released version, as well as daily snapshots, can always
+be downloaded from
+ http://busybox.net/downloads/
+
+----------------
+
+CVS:
+
+BusyBox now has its own publicly browsable CVS tree at:
+ http://busybox.net/cgi-bin/cvsweb/busybox/
+
+Anonymous CVS access is available. For instructions, check out:
+ http://busybox.net/cvs_anon.html
+
+For those that are actively contributing there is even CVS write access:
+ http://busybox.net/cvs_write.html
+
+----------------
+
+Please feed suggestions, bug reports, insults, and bribes back to:
+ Erik Andersen
+ <andersen@codepoet.org>
+ <andersen@codepoet.org>
-Please feed patches back to:
- Dave Cinege <dcinege@psychosis.com>
-and:
- Enrique Zanardi <ezanardi@ull.es>