Eric Andersen | cc8ed39 | 1999-10-05 16:24:54 +0000 | [diff] [blame] | 1 | Please see the LICENSE file for copyright information. |
Erik Andersen | 330fd2b | 2000-05-19 05:35:19 +0000 | [diff] [blame] | 2 | |
| 3 | BusyBox combines tiny versions of many common UNIX utilities into a single |
| 4 | small executable. It provides minimalist replacements for most of the utilities |
| 5 | you usually find in fileutils, shellutils, findutils, textutils, grep, gzip, |
| 6 | tar, etc. BusyBox provides a fairly complete POSIX environment for any small or |
Eric Andersen | 0730943 | 2000-11-29 22:12:19 +0000 | [diff] [blame] | 7 | embedded system. The utilities in BusyBox generally have fewer options than |
Erik Andersen | 330fd2b | 2000-05-19 05:35:19 +0000 | [diff] [blame] | 8 | their full featured GNU cousins; however, the options that are included provide |
| 9 | the expected functionality and behave very much like their GNU counterparts. |
Eric Andersen | cc8ed39 | 1999-10-05 16:24:54 +0000 | [diff] [blame] | 10 | |
Erik Andersen | 330fd2b | 2000-05-19 05:35:19 +0000 | [diff] [blame] | 11 | BusyBox has been written with size-optimization and limited resources in mind. |
| 12 | It is also extremely modular so you can easily include or exclude commands (or |
| 13 | features) at compile time. This makes it easy to customize your embedded |
Eric Andersen | 0958093 | 2001-04-10 20:10:55 +0000 | [diff] [blame] | 14 | systems. To create a working system, just add /dev, a shell, and a kernel. For |
| 15 | a really minimal system, you can even use the busybox shell (not Bourne |
| 16 | compatible, but very small and quite usable) and the busybox vi editor. |
Eric Andersen | cc8ed39 | 1999-10-05 16:24:54 +0000 | [diff] [blame] | 17 | |
Eric Andersen | 0730943 | 2000-11-29 22:12:19 +0000 | [diff] [blame] | 18 | BusyBox was originally written to support the Debian Rescue/Install disks, but |
Erik Andersen | 330fd2b | 2000-05-19 05:35:19 +0000 | [diff] [blame] | 19 | it also makes an excellent environment for any small or embedded system. |
Eric Andersen | cc8ed39 | 1999-10-05 16:24:54 +0000 | [diff] [blame] | 20 | |
Eric Andersen | 235f66d | 2000-12-13 18:07:38 +0000 | [diff] [blame] | 21 | As of version 0.20 there is now a version number. : ) Also as of version 0.20, |
Erik Andersen | 330fd2b | 2000-05-19 05:35:19 +0000 | [diff] [blame] | 22 | BusyBox is now modularized to easily allow you to build only the components you |
Eric Andersen | 0730943 | 2000-11-29 22:12:19 +0000 | [diff] [blame] | 23 | need, thereby reducing binary size. To turn off unwanted BusyBox components, |
Eric Andersen | 235f66d | 2000-12-13 18:07:38 +0000 | [diff] [blame] | 24 | simply edit the file "Config.h" and comment out the components you do not need |
| 25 | using C++ style (//) comments. |
Erik Andersen | 330fd2b | 2000-05-19 05:35:19 +0000 | [diff] [blame] | 26 | |
Eric Andersen | 0730943 | 2000-11-29 22:12:19 +0000 | [diff] [blame] | 27 | After the build is complete, a busybox.links file is generated. This is |
Erik Andersen | 330fd2b | 2000-05-19 05:35:19 +0000 | [diff] [blame] | 28 | used by 'make install' to create symlinks to the busybox binary for all |
| 29 | compiled in functions. By default, 'make install' will place the symlink |
| 30 | forest into `pwd`/_install unless you have defined the PREFIX environment |
Eric Andersen | 8ec10a9 | 2001-01-27 09:33:39 +0000 | [diff] [blame] | 31 | variable (i.e., 'make PREFIX=/tmp/foo install') |
Eric Andersen | cc8ed39 | 1999-10-05 16:24:54 +0000 | [diff] [blame] | 32 | |
Eric Andersen | a29dec2 | 2000-06-22 00:19:33 +0000 | [diff] [blame] | 33 | ---------------- |
Mark Whitley | 3654ca5 | 2001-01-26 20:58:23 +0000 | [diff] [blame] | 34 | |
| 35 | Supported architectures: |
| 36 | |
| 37 | Busybox in general will build on any architecture supported by gcc. It has |
| 38 | a few specialized features added for __sparc__ and __alpha__. insmod |
Eric Andersen | 8a9b2c6 | 2001-04-06 22:02:49 +0000 | [diff] [blame] | 39 | functionality is currently limited to x86, ARM, SH3/4, powerpc, and MIPS. |
Mark Whitley | 3654ca5 | 2001-01-26 20:58:23 +0000 | [diff] [blame] | 40 | |
| 41 | Supported libcs: |
| 42 | |
| 43 | glibc-2.0.x, glibc-2.1.x, Linux-libc5, uClibc. People are looking at |
| 44 | newlib and diet-libc, but consider them unsupported, untested, or worse. |
| 45 | |
| 46 | Supported kernels: |
| 47 | |
| 48 | Full functionality requires Linux 2.0.x, 2.2.x, or 2.4.x. A large fraction |
| 49 | of the code should run on just about anything. |
| 50 | |
| 51 | ---------------- |
Eric Andersen | 235f66d | 2000-12-13 18:07:38 +0000 | [diff] [blame] | 52 | |
Eric Andersen | a29dec2 | 2000-06-22 00:19:33 +0000 | [diff] [blame] | 53 | Getting help: |
Eric Andersen | 235f66d | 2000-12-13 18:07:38 +0000 | [diff] [blame] | 54 | |
Eric Andersen | a29dec2 | 2000-06-22 00:19:33 +0000 | [diff] [blame] | 55 | When you find you need help, you can check out the BusyBox mailing list |
| 56 | archives at http://opensource.lineo.com/lists/busybox/ or even join |
| 57 | the mailing list if you are interested. |
| 58 | |
| 59 | ---------------- |
Eric Andersen | 235f66d | 2000-12-13 18:07:38 +0000 | [diff] [blame] | 60 | |
Eric Andersen | a29dec2 | 2000-06-22 00:19:33 +0000 | [diff] [blame] | 61 | Bugs: |
Eric Andersen | 235f66d | 2000-12-13 18:07:38 +0000 | [diff] [blame] | 62 | |
| 63 | If you find bugs, please submit a bug report. Full instructions on how to |
| 64 | report a bug are found at http://bugs.lineo.com/Reporting.html. |
| 65 | |
| 66 | For the impatient: To submit a bug, simply send an email describing the problem |
| 67 | to submit@bugs.lineo.com. Bug reports should look something like this: |
| 68 | |
| 69 | To: submit@bugs.lineo.com |
| 70 | From: diligent@testing.linux.org |
| 71 | Subject: /bin/true doesn't work |
| 72 | |
| 73 | Package: busybox |
Eric Andersen | 0958093 | 2001-04-10 20:10:55 +0000 | [diff] [blame] | 74 | Version: 0.51 |
Eric Andersen | 235f66d | 2000-12-13 18:07:38 +0000 | [diff] [blame] | 75 | |
| 76 | When I invoke '/bin/true' it doesn't work. I expected it to return |
| 77 | a "0" but it returned a "1" instead. Here is the transcript: |
| 78 | $ /bin/true ; echo $? |
| 79 | 1 |
| 80 | With GNU /bin/true, I get the following output: |
| 81 | $ /bin/true ; echo $? |
| 82 | 0 |
| 83 | I am using Debian 2.2r2, kernel version 2.2.18, and the latest |
| 84 | uClibc from CVS. Thanks for the wonderful program! |
| 85 | -Diligent |
| 86 | |
| 87 | Note the careful description and use of examples showing not only what BusyBox |
| 88 | does, but also a counter example showing what an equivalent GNU app does. Bug |
| 89 | reports lacking such detail may take a _long_ time to be fixed... Thanks for |
| 90 | understanding. |
Eric Andersen | a29dec2 | 2000-06-22 00:19:33 +0000 | [diff] [blame] | 91 | |
| 92 | ---------------- |
Eric Andersen | 235f66d | 2000-12-13 18:07:38 +0000 | [diff] [blame] | 93 | |
Eric Andersen | a29dec2 | 2000-06-22 00:19:33 +0000 | [diff] [blame] | 94 | FTP: |
Eric Andersen | 235f66d | 2000-12-13 18:07:38 +0000 | [diff] [blame] | 95 | |
Eric Andersen | a29dec2 | 2000-06-22 00:19:33 +0000 | [diff] [blame] | 96 | Source for the latest released version can always be downloaded from |
| 97 | ftp://ftp.lineo.com/pub/busybox. |
| 98 | |
| 99 | ---------------- |
Eric Andersen | 235f66d | 2000-12-13 18:07:38 +0000 | [diff] [blame] | 100 | |
Eric Andersen | a29dec2 | 2000-06-22 00:19:33 +0000 | [diff] [blame] | 101 | CVS: |
Eric Andersen | 235f66d | 2000-12-13 18:07:38 +0000 | [diff] [blame] | 102 | |
Eric Andersen | 0730943 | 2000-11-29 22:12:19 +0000 | [diff] [blame] | 103 | BusyBox now has its own publicly browsable CVS tree at: |
Eric Andersen | a29dec2 | 2000-06-22 00:19:33 +0000 | [diff] [blame] | 104 | http://opensource.lineo.com/cgi-bin/cvsweb/busybox/ |
| 105 | |
| 106 | Anonymous CVS access is available. For instructions, check out: |
| 107 | http://opensource.lineo.com/cvs_anon.html |
| 108 | |
| 109 | For those that are actively contributing there is even CVS write access: |
| 110 | http://opensource.lineo.com/cvs_write.html |
| 111 | |
Eric Andersen | a29dec2 | 2000-06-22 00:19:33 +0000 | [diff] [blame] | 112 | ---------------- |
| 113 | |
Eric Andersen | ded6259 | 1999-11-18 00:19:26 +0000 | [diff] [blame] | 114 | Please feed suggestions, bug reports, insults, and bribes back to: |
| 115 | Erik Andersen |
| 116 | <andersen@lineo.com> |
Eric Andersen | 664584b | 1999-12-11 23:25:59 +0000 | [diff] [blame] | 117 | <andersee@debian.org> |
Eric Andersen | 0958093 | 2001-04-10 20:10:55 +0000 | [diff] [blame] | 118 | <andersee@codepoet.org> |
Eric Andersen | cc8ed39 | 1999-10-05 16:24:54 +0000 | [diff] [blame] | 119 | |
Eric Andersen | 0730943 | 2000-11-29 22:12:19 +0000 | [diff] [blame] | 120 | <blatant plug> |
Eric Andersen | 84b0092 | 1999-12-11 04:16:51 +0000 | [diff] [blame] | 121 | Many thanks to go to Lineo for paying me to work on busybox. |
Eric Andersen | 0730943 | 2000-11-29 22:12:19 +0000 | [diff] [blame] | 122 | </blatant plug> |
Eric Andersen | 84b0092 | 1999-12-11 04:16:51 +0000 | [diff] [blame] | 123 | |