Eric Andersen | cb81e64 | 2003-07-14 21:21:08 +0000 | [diff] [blame] | 1 | Please see the LICENSE file for details on copying and usage. |
Bernhard Reutner-Fischer | 5c071bc | 2005-10-05 07:40:46 +0000 | [diff] [blame] | 2 | Please refer to the INSTALL file for instructions on how to build. |
Eric Andersen | c7bda1c | 2004-03-15 08:29:22 +0000 | [diff] [blame] | 3 | |
Erik Andersen | 330fd2b | 2000-05-19 05:35:19 +0000 | [diff] [blame] | 4 | BusyBox combines tiny versions of many common UNIX utilities into a single |
| 5 | small executable. It provides minimalist replacements for most of the utilities |
Eric Andersen | fbcf06d | 2004-03-27 09:40:15 +0000 | [diff] [blame] | 6 | you usually find in GNU coreutils, util-linux, etc. The utilities in BusyBox |
| 7 | generally have fewer options than their full-featured GNU cousins; however, the |
| 8 | options that are included provide the expected functionality and behave very |
Eric Andersen | 69bd0d1 | 2004-04-06 15:39:20 +0000 | [diff] [blame] | 9 | much like their GNU counterparts. |
Eric Andersen | cb81e64 | 2003-07-14 21:21:08 +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 | fbcf06d | 2004-03-27 09:40:15 +0000 | [diff] [blame] | 14 | systems. To create a working system, just add /dev, /etc, and a Linux kernel. |
Eric Andersen | 69bd0d1 | 2004-04-06 15:39:20 +0000 | [diff] [blame] | 15 | BusyBox provides a fairly complete POSIX environment for any small or embedded |
| 16 | system. |
Eric Andersen | cc8ed39 | 1999-10-05 16:24:54 +0000 | [diff] [blame] | 17 | |
Eric Andersen | fbcf06d | 2004-03-27 09:40:15 +0000 | [diff] [blame] | 18 | BusyBox is extremely configurable. This allows you to include only the |
Bernhard Reutner-Fischer | 5c071bc | 2005-10-05 07:40:46 +0000 | [diff] [blame] | 19 | components you need, thereby reducing binary size. See the file INSTALL |
| 20 | for details. |
Eric Andersen | cb81e64 | 2003-07-14 21:21:08 +0000 | [diff] [blame] | 21 | |
Eric Andersen | a29dec2 | 2000-06-22 00:19:33 +0000 | [diff] [blame] | 22 | ---------------- |
Eric Andersen | c7bda1c | 2004-03-15 08:29:22 +0000 | [diff] [blame] | 23 | |
Mark Whitley | 3654ca5 | 2001-01-26 20:58:23 +0000 | [diff] [blame] | 24 | Supported architectures: |
| 25 | |
Eric Andersen | fdfa09b | 2004-10-08 10:52:08 +0000 | [diff] [blame] | 26 | BusyBox in general will build on any architecture supported by gcc. |
| 27 | Kernel module loading for 2.2 and 2.4 Linux kernels is currently |
| 28 | limited to ARM, CRIS, H8/300, x86, ia64, x86_64, m68k, MIPS, PowerPC, |
| 29 | S390, SH3/4/5, Sparc, v850e, and x86_64 for 2.4.x kernels. For 2.6.x |
| 30 | kernels, kernel module loading support should work on all architectures. |
| 31 | |
Mark Whitley | 3654ca5 | 2001-01-26 20:58:23 +0000 | [diff] [blame] | 32 | |
Eric Andersen | fbcf06d | 2004-03-27 09:40:15 +0000 | [diff] [blame] | 33 | Supported C Libraries: |
Mark Whitley | 3654ca5 | 2001-01-26 20:58:23 +0000 | [diff] [blame] | 34 | |
Eric Andersen | 45a0513 | 2004-09-02 23:03:25 +0000 | [diff] [blame] | 35 | uClibc and glibc are supported. People have been looking at newlib and |
Eric Andersen | fdfa09b | 2004-10-08 10:52:08 +0000 | [diff] [blame] | 36 | dietlibc, but they are currently considered unsupported, untested, or |
Eric Andersen | 45a0513 | 2004-09-02 23:03:25 +0000 | [diff] [blame] | 37 | worse. Linux-libc5 is no longer supported -- you should probably use uClibc |
| 38 | instead if you want a small C library. |
Mark Whitley | 3654ca5 | 2001-01-26 20:58:23 +0000 | [diff] [blame] | 39 | |
| 40 | Supported kernels: |
| 41 | |
Eric Andersen | 85c3c3f | 2003-07-16 07:31:14 +0000 | [diff] [blame] | 42 | Full functionality requires Linux 2.2.x or better. A large fraction of the |
Eric Andersen | cb81e64 | 2003-07-14 21:21:08 +0000 | [diff] [blame] | 43 | code should run on just about anything. While the current code is fairly |
| 44 | Linux specific, it should be fairly easy to port the majority of the code |
Eric Andersen | 45a0513 | 2004-09-02 23:03:25 +0000 | [diff] [blame] | 45 | to support, say, FreeBSD or Solaris, or Mac OS X, or even Windows (if you |
| 46 | are into that sort of thing). |
Mark Whitley | 3654ca5 | 2001-01-26 20:58:23 +0000 | [diff] [blame] | 47 | |
| 48 | ---------------- |
Eric Andersen | 235f66d | 2000-12-13 18:07:38 +0000 | [diff] [blame] | 49 | |
Eric Andersen | a29dec2 | 2000-06-22 00:19:33 +0000 | [diff] [blame] | 50 | Getting help: |
Eric Andersen | 235f66d | 2000-12-13 18:07:38 +0000 | [diff] [blame] | 51 | |
Eric Andersen | a29dec2 | 2000-06-22 00:19:33 +0000 | [diff] [blame] | 52 | When you find you need help, you can check out the BusyBox mailing list |
Eric Andersen | 2423b12 | 2001-12-08 01:56:15 +0000 | [diff] [blame] | 53 | archives at http://busybox.net/lists/busybox/ or even join |
Eric Andersen | a29dec2 | 2000-06-22 00:19:33 +0000 | [diff] [blame] | 54 | the mailing list if you are interested. |
| 55 | |
| 56 | ---------------- |
Eric Andersen | 235f66d | 2000-12-13 18:07:38 +0000 | [diff] [blame] | 57 | |
Eric Andersen | a29dec2 | 2000-06-22 00:19:33 +0000 | [diff] [blame] | 58 | Bugs: |
Eric Andersen | 235f66d | 2000-12-13 18:07:38 +0000 | [diff] [blame] | 59 | |
Eric Andersen | fbcf06d | 2004-03-27 09:40:15 +0000 | [diff] [blame] | 60 | If you find bugs, please submit a detailed bug report to the BusyBox mailing |
Eric Andersen | f1d3ac4 | 2003-10-22 10:19:01 +0000 | [diff] [blame] | 61 | list at busybox@mail.busybox.net. A well-written bug report should include a |
Eric Andersen | cb81e64 | 2003-07-14 21:21:08 +0000 | [diff] [blame] | 62 | transcript of a shell session that demonstrates the bad behavior and enables |
Eric Andersen | c7bda1c | 2004-03-15 08:29:22 +0000 | [diff] [blame] | 63 | anyone else to duplicate the bug on their own machine. The following is such |
Eric Andersen | cb81e64 | 2003-07-14 21:21:08 +0000 | [diff] [blame] | 64 | an example: |
Eric Andersen | 235f66d | 2000-12-13 18:07:38 +0000 | [diff] [blame] | 65 | |
Eric Andersen | f1d3ac4 | 2003-10-22 10:19:01 +0000 | [diff] [blame] | 66 | To: busybox@mail.busybox.net |
Eric Andersen | 235f66d | 2000-12-13 18:07:38 +0000 | [diff] [blame] | 67 | From: diligent@testing.linux.org |
Eric Andersen | cb81e64 | 2003-07-14 21:21:08 +0000 | [diff] [blame] | 68 | Subject: /bin/date doesn't work |
Eric Andersen | 235f66d | 2000-12-13 18:07:38 +0000 | [diff] [blame] | 69 | |
Eric Andersen | fbcf06d | 2004-03-27 09:40:15 +0000 | [diff] [blame] | 70 | Package: BusyBox |
Eric Andersen | cb81e64 | 2003-07-14 21:21:08 +0000 | [diff] [blame] | 71 | Version: 1.00 |
Eric Andersen | 235f66d | 2000-12-13 18:07:38 +0000 | [diff] [blame] | 72 | |
Eric Andersen | fbcf06d | 2004-03-27 09:40:15 +0000 | [diff] [blame] | 73 | When I execute BusyBox 'date' it produces unexpected results. |
Eric Andersen | cb81e64 | 2003-07-14 21:21:08 +0000 | [diff] [blame] | 74 | With GNU date I get the following output: |
| 75 | |
| 76 | $ date |
Eric Andersen | fdfa09b | 2004-10-08 10:52:08 +0000 | [diff] [blame] | 77 | Fri Oct 8 14:19:41 MDT 2004 |
Eric Andersen | cb81e64 | 2003-07-14 21:21:08 +0000 | [diff] [blame] | 78 | |
| 79 | But when I use BusyBox date I get this instead: |
| 80 | |
| 81 | $ date |
Eric Andersen | fbcf06d | 2004-03-27 09:40:15 +0000 | [diff] [blame] | 82 | illegal instruction |
Eric Andersen | cb81e64 | 2003-07-14 21:21:08 +0000 | [diff] [blame] | 83 | |
Eric Andersen | fbcf06d | 2004-03-27 09:40:15 +0000 | [diff] [blame] | 84 | I am using Debian unstable, kernel version 2.4.25-vrs2 on a Netwinder, |
Eric Andersen | cb81e64 | 2003-07-14 21:21:08 +0000 | [diff] [blame] | 85 | and the latest uClibc from CVS. Thanks for the wonderful program! |
| 86 | |
Eric Andersen | 235f66d | 2000-12-13 18:07:38 +0000 | [diff] [blame] | 87 | -Diligent |
| 88 | |
| 89 | Note the careful description and use of examples showing not only what BusyBox |
| 90 | does, but also a counter example showing what an equivalent GNU app does. Bug |
Eric Andersen | cb81e64 | 2003-07-14 21:21:08 +0000 | [diff] [blame] | 91 | reports lacking such detail may never be fixed... Thanks for understanding. |
Eric Andersen | a29dec2 | 2000-06-22 00:19:33 +0000 | [diff] [blame] | 92 | |
| 93 | ---------------- |
Eric Andersen | 235f66d | 2000-12-13 18:07:38 +0000 | [diff] [blame] | 94 | |
Eric Andersen | fbcf06d | 2004-03-27 09:40:15 +0000 | [diff] [blame] | 95 | Downloads: |
Eric Andersen | 235f66d | 2000-12-13 18:07:38 +0000 | [diff] [blame] | 96 | |
Eric Andersen | c7bda1c | 2004-03-15 08:29:22 +0000 | [diff] [blame] | 97 | Source for the latest released version, as well as daily snapshots, can always |
| 98 | be downloaded from |
Eric Andersen | b9c0b99 | 2001-12-22 00:37:54 +0000 | [diff] [blame] | 99 | http://busybox.net/downloads/ |
Eric Andersen | a29dec2 | 2000-06-22 00:19:33 +0000 | [diff] [blame] | 100 | |
| 101 | ---------------- |
Eric Andersen | 235f66d | 2000-12-13 18:07:38 +0000 | [diff] [blame] | 102 | |
Eric Andersen | a29dec2 | 2000-06-22 00:19:33 +0000 | [diff] [blame] | 103 | CVS: |
Eric Andersen | 235f66d | 2000-12-13 18:07:38 +0000 | [diff] [blame] | 104 | |
Bernhard Reutner-Fischer | 5c071bc | 2005-10-05 07:40:46 +0000 | [diff] [blame] | 105 | BusyBox now has its own publicly browsable SVN tree at: |
| 106 | http://busybox.net/cgi-bin/viewcvs.cgi/trunk/busybox/ |
Eric Andersen | a29dec2 | 2000-06-22 00:19:33 +0000 | [diff] [blame] | 107 | |
Bernhard Reutner-Fischer | 5c071bc | 2005-10-05 07:40:46 +0000 | [diff] [blame] | 108 | Anonymous SVN access is available. For instructions, check out: |
| 109 | http://busybox.net/subversion.html |
Eric Andersen | a29dec2 | 2000-06-22 00:19:33 +0000 | [diff] [blame] | 110 | |
Bernhard Reutner-Fischer | 5c071bc | 2005-10-05 07:40:46 +0000 | [diff] [blame] | 111 | For those that are actively contributing there is even SVN write access: |
| 112 | http://busybox.net/developer.html |
Eric Andersen | a29dec2 | 2000-06-22 00:19:33 +0000 | [diff] [blame] | 113 | |
Eric Andersen | a29dec2 | 2000-06-22 00:19:33 +0000 | [diff] [blame] | 114 | ---------------- |
| 115 | |
Eric Andersen | ded6259 | 1999-11-18 00:19:26 +0000 | [diff] [blame] | 116 | Please feed suggestions, bug reports, insults, and bribes back to: |
Eric Andersen | c7bda1c | 2004-03-15 08:29:22 +0000 | [diff] [blame] | 117 | Erik Andersen |
Eric Andersen | bdfd0d7 | 2001-10-24 05:00:29 +0000 | [diff] [blame] | 118 | <andersen@codepoet.org> |
Eric Andersen | 84b0092 | 1999-12-11 04:16:51 +0000 | [diff] [blame] | 119 | |