The Swiss Army Knife of Embedded Linux
|
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 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 a kernel, a shell (such as ash),
and an editor (such as elvis-tiny or ae). For a really minimal system, just
the the busybox shell (not a POSIX shell, but very small and quite usable).
BusyBox is now maintained by
Erik Andersen, and its ongoing development is being sponsored by
Lineo.
BusyBox is licensed under the
GNU GENERAL PUBLIC LICENSE
NEW!
BusyBox now has a mailing list mailing list!
To subscribe, go and visit this page.
|
Latest News
|
- 26 September 2000 -- BusyBox 0.47 released
This release fixes lots of bugs (including an ugly bug in 0.46
syslogd that could fork-bomb your system). Added several new
apps: rdate, wget, getopt, dos2unix, unix2dos, reset, unrpm,
renice, xargs, and expr. syslogd now supports network logging.
There are the usual tar updates. Most apps now use getopt for
more correct option parsing.
See the changelog
for complete details.
- 11 July 2000 -- BusyBox 0.46 released
This release fixes several bugs (including a ugly bug in tar,
and fixes for NFSv3 mount support). Added a dumpkmap to allow
people to dump a binary keymaps for use with 'loadkmap', and a
completely reworked 'grep' and 'sed' which should behave better.
BusyBox shell can now also be used as a login shell.
See the changelog
for complete details.
- 21 June 2000 -- BusyBox 0.45 released
This release has been slow in coming, but is very solid at this
point. BusyBox now supports libc5 as well as GNU libc. This
release provides the following new apps: cut, tr, insmod, ar,
mktemp, setkeycodes, md5sum, uuencode, uudecode, which, and
telnet. There are bug fixes for just about every app as well (see
the changelog for
details).
Also, some exciting infrastructure news! Busybox now has its own
mailing list,
publically browsable
CVS tree,
anonymous
CVS access, and
for those that are actively contributing there is even
CVS write access.
I think this will be a huge help to the ongoing development of BusyBox.
Also, for the curious, there is no 0.44 release. Somehow 0.44 got announced
a few weeks ago prior to its actually being released. To avoid any confusion
we are just skipping 0.44.
Many thanks go out to the many people that have contributed to this release
of BusyBox (esp. Pavel Roskin)!
- Old News
For the old news, visit the old news page.
|
Download
|
|
Documentation
|
Current documentation for BusyBox includes:
- BusyBox.html.
This is a list of the all the available commands in BusyBox with
complete usage information and examples of how to use each app. I
have spent a lot of time updating these docs and trying to
make them fairly comprehensive. If you find any errors (factual,
grammatical, whatever) please let me know.
- BusyBox.pdf.
This is basically the same document, but in pdf format.
- BusyBoxBugs.
Need to report a bug? Need to check if a bug has been filed?
- If you need more help, the BusyBox
mailing list is
a good place to start.
|
Products/Projects Using BusyBox
|
I know of the following products and/or projects that use BusyBox --
listed in the order I happen to add them to the web page:
Do you use BusyBox? I'd love to know about it and I'd be happy to link to
you.
|
Important Links
|
|