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 /dev, /etc, and a kernel.
BusyBox is maintained by
Erik Andersen, and licensed under the
GNU GENERAL PUBLIC LICENSE.
Screenshot
Because everybody loves screenshots, a screenshot of BusyBox
is now available right here.
Mailing List Information
BusyBox now has a mailing list!
To subscribe, go and visit this page.
|
Latest News
|
- 18 November 2001 -- Help us buy busybox.net!
Click here to help buy busybox.net!
I've contacted the current owner of busybox.net and he is willing
to sell the domain name -- for $250. He also owns busybox.org
but will not part with it... I will then need to pay the
registry fee, so this will initially cost about $300. I would
also like to host busybox.net on my home machine (codepoet.org)
so I have full control over the system, but I would need to
increase the level of bandwidth I am paying for (there have been
over 1 Gigabyte of busybox source downloads for the month of
November alone -- other months have had more).
I was going to pay it all myself, but my wife didn't like that
idea at all (big surprise). It turns out, she has better ideas
about what we should spend our money on that don't involve
busybox. She suggested I should ask for contributions on the
mailing list and web page. So...
I am hoping that if everyone could contribute a bit we could pick
up the busybox.net domain name, and cover the bandwidth costs. I
know that busybox is being used by a lot of companies as well as
individuals -- hopefully companies willing to contribute back a
bit. So if everyone could please help out, that would be
wonderful!
p.s. I plan on updating the Changelog later this evening, and
releasing busybox 0.60.2 later tonight. I will probably just merge
in vodz' msh since it fixes known problems, and since I haven't had
time to make it uClinux safe. Changelog entries for busybox.stable
are welcome.
- 23 August 2001 -- BusyBox 0.60.1 released
This is a relatively minor bug fixing release that fixes
up the bugs that have shown up in the stable release in
the last few weeks. Fortunately, nothing too
serious has shown up. This release only fixes bugs -- no
new features, no new applets. So without further ado,
here it is. Come and get it.
The
changelog has all
the details. As usual BusyBox 0.60.1 can be downloaded from
ftp://oss.lineo.com/busybox.
Have Fun!
- 2 August 2001 -- BusyBox 0.60.0 released
I am very pleased to announce the immediate availability of
BusyBox 0.60.0. I have personally tested this release with libc5, glibc,
and uClibc on
x86, ARM, and powerpc using linux 2.2 and 2.4, and I know a number
of people using it on everything from ia64 to m68k with great success.
Everything seems to be working very nicely now, so getting a nice
stable bug-free(tm) release out seems to be in order. This releases fixes
a memory leak in syslogd, a number of bugs in the ash and msh shells, and
cleans up a number of things.
Those wanting an easy way to test the 0.60.0 release with uClibc can
use User-Mode Linux
to give it a try by downloading and compiling
buildroot.tar.gz.
You don't have to be root or reboot your machine to run test this way.
Preconfigured User-Mode Linux kernel source is also on oss.lineo.com.
Another cool thing is the nifty
BusyBox Tutorial contributed by K Computing. This requires
a ShockWave plugin (or standalone viewer), so you may want to grab the
the GPLed shockwave viewer from here
to view the tutorial.
Finally, In case you didn't notice anything odd about the
version number of this release, let me point out that this release
is not 0.53, because I bumped the version number up a
bit. This reflects the fact that this release is intended to form
a new stable BusyBox release series. If you need to rely on a
stable version of BusyBox, you should plan on using the stable
0.60.x series. If bugs show up then I will release 0.60.1, then
0.60.2, etc... This is also intended to deal with the fact that
the BusyBox build system will be getting a major overhaul for the
next release and I don't want that to break products that people
are shipping. To avoid that, the new build system will be
released as part of a new BusyBox development series that will
have some not-yet-decided-on odd version number. Once things
stabilize and the new build system is working for everyone, then
I will release that as a new stable release series.
The
changelog has all
the details. As usual BusyBox 0.60.0 can be downloaded from
ftp://oss.lineo.com/busybox.
Have Fun!
- 7 July 2001 -- BusyBox 0.52 released
I am very pleased to announce the immediate availability of
BusyBox 0.52 (the "new-and-improved rock-solid release"). This
release is the result of many hours of work and has tons
of bugfixes, optimizations, and cleanups. This release adds
several new applets, including several new shells (such as hush, msh,
and ash).
The
changelog covers
some of the more obvious details, but there are many many things that
are not mentioned, but have been improved in subtle ways. As usual,
BusyBox 0.52 can be downloaded from
ftp://oss.lineo.com/busybox.
Have Fun!
- 10 April 2001 - Graph of Busybox Growth
The illustrious Larry Doolittle has made a PostScript chart of the growth
of the Busybox tarball size over time. It is available for downloading /
viewing right here.
(Note that while the number of applets in Busybox has increased, you
can still configure Busybox to be as small as you want by selectively
turning off whichever applets you don't need.)
- 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.
- README.
This is the README file included in the busybox source release.
- BusyBox Bugs.
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.
|
Important Links
|
-
Free Software from Bruce Perens
The original idea for BusyBox, and all versions up to 0.26 were written
by Bruce Perens. This is his BusyBox website.
-
Freshmeat AppIndex record for BusyBox
- TinyLogin
is a nice embedded tool for handling authentication, changing passwords,
and similar tasks which nicely complements BusyBox.
- uClibc
is a C library for embedded systems. You can actually statically link
a "Hello World" application under x86 that only takes 4k (as opposed to
200k under GNU libc). It can do dynamic linking too and works nicely with
BusyBox to create very small embedded systems.
- Other cool embedded software.
|
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.
|