| 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 GNU coreutils, util-linux, etc. 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 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 Linux kernel. |
| BusyBox provides a fairly complete POSIX environment for any small or embedded |
| 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. |
| |
| 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') |
| |
| If you wish to install hard links, rather than symlinks, you can use |
| 'make PREFIX=/tmp/foo install-hardlinks' instead. |
| |
| ---------------- |
| |
| Supported architectures: |
| |
| BusyBox in general will build on any architecture supported by gcc. |
| Kernel module loading for 2.2 and 2.4 Linux kernels is currently |
| limited to ARM, CRIS, H8/300, x86, ia64, x86_64, m68k, MIPS, PowerPC, |
| S390, SH3/4/5, Sparc, v850e, and x86_64 for 2.4.x kernels. For 2.6.x |
| kernels, kernel module loading support should work on all architectures. |
| |
| |
| Supported C Libraries: |
| |
| uClibc and glibc are supported. People have been looking at newlib and |
| dietlibc, but they are currently considered 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 support, say, FreeBSD or Solaris, or Mac OS X, or even Windows (if you |
| are into that sort of 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 |
| Fri Oct 8 14:19:41 MDT 2004 |
| |
| But when I use BusyBox date I get this instead: |
| |
| $ date |
| illegal instruction |
| |
| I am using Debian unstable, kernel version 2.4.25-vrs2 on a 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. |
| |
| ---------------- |
| |
| Downloads: |
| |
| 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> |
| |