Home9260 QuickStart GuideLinux SoftwareBusybox

Busybox

Busybox logo
Busybox logo

For all Linux-based systems there must be a root filesystem containing the userspace programs to execute. On a desktop PC this typically consists of a suite of programs ranging from daemon monitoring scripts, all the way up to graphical desktop environments. When using an embedded Linux system there are an even larger variety of choices available, and the final usage of the system makes a much larger impact on how these choices are done. One such solution is the Busybox suite of tools.

This is a single executable, which contains within it hundreds of the standard Unix command line tools (init, ls, cat, telnet etc...). As it is a single executable, it makes excellent re-use of code, resulting in a single binary that is several factors smaller than the corresponding individual binaries. There is also a concerted effort within the Busybox development to only implement the most commonly used subset of features, meaning that less space is wasted on unwanted features. The result of this is that even using a full GNU C library root filesystem, it is possible to fit a fully booted system into under 3MB. If the choice was made to use a smaller C library (uClibc for example), and a smaller set of the Busybox features, it is easy to fit a system into under 500kB.

At Bluewater, we ship our modules as standard with a minimal Busybox based root filesystem. This provides a platform from which developers can begin their own development immediately, without forcing a structure into them that may not be appropriate. Further utilities can be added to this platform through the use of a more advanced Linux distribution, such as OpenEmbedded. The minimal root filesystem is available from root.tar.gz

 

Applications

rs1

rs_2

rs_3

rs_4