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.
Sponsors
Please visit our sponsors and thank them for their
support! They have provided money for equipment and
bandwidth. Next time you need help with a project,
consider these fine companies!
Several individuals have also contributed. If you have
already contributed and would like your name added
here, just let me know. If you would like to be a
BusyBox sponsor, email Erik.
|
Latest News |
-
3 January 2002 -- Welcome to busybox.net!
Thanks to the generosity of a number of busybox
users, we have been able to purchase busybox.net
(which is where you are probably reading this).
Right now, busybox.net and uclibc.org are both
living on my home system (at the end of my DSL
line). I apologize for the abrupt move off of
busybox.lineo.com. Unfortunately, I no longer have
the access needed to keep that system updated (for
example, you might notice the daily snapshots there
stopped some time ago).
Busybox.net is currently hosted on my home
server, at the end of a DSL line. Unfortunately,
the load on them is quite heavy. To address this,
I'm trying to make arrangements to get busybox.net
co-located directly at an ISP. To assist in the
co-location effort, Mark Whitley
(author of busybox sed, cut, and grep) has donated
his NetWinder computer
for hosting busybox.net and uclibc.org. Once this
system is co-located, the current speed problems
should be completely eliminated. Hopefully, too,
some of you will volunteer to set up some mirror
sites, to help to distribute the load a bit.
Since some people expressed concern over BusyBox
donations, let me assure you that no one is getting
rich here. All BusyBox and uClibc donations will be
spent paying for bandwidth and needed hardware
upgrades. For example, Mark's NetWinder currently
has just 64Meg of memory. As demonstrated when
google spidered the site the other day, 64 Megs in
not enough, so I'm going to be ordering 256Megs of
ram and a larger hard drive for the box today. So
far, donations received have been sufficient to
cover almost all expenses. In the future, we may
have co-location fees to worry about, but for now
we are ok. A HUGE thank-you goes out to
everyone that has contributed!
-Erik
-
20 November 2001 -- BusyBox 0.60.2 released
We am very pleased to announce that the BusyBox
0.60.2 (stable) is now released to the world. This
one is primarily a bugfix release for the stable
series, and it should take care of most everyone's
needs till we can get the nice new stuff we have
been working on in CVS ready to release (with the
wonderful new buildsystem). The biggest change in
this release (beyond bugfixes) is the fact that msh
(the minix shell) has been re-worked by Vladimir N.
Oleynik (vodz) and so it no longer crashes when
told to do complex things with backticks.
This release has been tested on x86, ARM, and
powerpc using glibc 2.2.4, libc5, and uClibc, so it
should work with just about any Linux system you
throw it at. See the changelog for most
of the details. The last release was
very solid for people, and this one should
be even better.
As usual BusyBox 0.60.2 can be downloaded from
http://www.busybox.net/downloads.
Have Fun.
-Erik
- 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.
- udhcp is
a tiny dhcp client and/or server which is ideal for
embedded systems.
- 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.
|
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:
Sharp Zaurus
PDA
Do you use BusyBox? I'd love to know about it and
I'd be happy to link to you.
|