BusyBox
# BusyBox

BusyBox ist ein Computerprogramm, das verschiedene elementare Standard-Unix-Dienstprogramme in einem Programm vereint. Es läuft auf verschiedenen POSIX-Umgebungen wie Linux, Android oder FreeBSD. Viele Werkzeuge sind jedoch so gestaltet, dass sie mit den Schnittstellen eines Linux-Kernels funktionieren. BusyBox wurde geschaffen, um auf eingebetteten Betriebssystemen mit sehr beschränkten Ressourcen arbeiten zu können.

Laut der Projektseite ist BusyBox das „Schweizer Taschenmesser für embedded-Linux“. Um noch weniger Platz zu brauchen, wird BusyBox oft mit kleinen Bibliotheken wie etwa uClibc gelinkt.

## Geschichte

BusyBox wurde 1996 von Bruce Perens geschrieben. Er wollte ein auf eine einzelne Diskette passendes, vollständiges und bootbares Linux-System haben, das sowohl als Rettungssystem, als auch zur Installation eines Debian-Systems verwendbar wäre. Bis 1998 wurde es von Enrique Zanardi gewartet und an die Bedürfnisse des Debian-Installationsprogramms angepasst. Danach erweiterte es Dave Cinege für das „Linux Router Project“. Zwischen 1999 und 2006 war es in den Händen von Erik Andersen, und es verbreitete sich auf dem wachsenden Markt der eingebetteten Systeme. Seit 2006 ist der Maintainer Denys Vlasenko.

Gegen viele namhafte Hersteller, die BusyBox auf ihren Geräten einsetzen, wurden seit Dezember 2009 Klagen eingereicht, da laut Software Freedom Law Center (SFLC) die GPL verletzt oder gänzlich ignoriert wurde.

## Anwendungsgebiete

Dank seiner Vorteile für diese Systeme wird es zum Beispiel in Linux-Systemen auf dem Sharp Zaurus, dem Nokia 770, dem Nokia N900, dem Motorola ROKR Z6, auf OpenWrt basierenden Systemen wie dem Fon-Router La Fonera, auf AVM-Fritz!Boxen, TomTom-Navigationsgeräten, auf gerooteten Android-Images, Dreambox-Receivern, Screenplay Multimedia-Festplatten von IOMEGA, dem Acme Systems Foxboard, fast allen Linux-Installations-CDs (beispielsweise Ubuntu, Debian) oder dem GP2X verwendet. Es findet aber auch in Haushaltsgeräten wie dem Thermomix der Firma Vorwerk Verwendung. Es ist freie Software und unterliegt der GNU General Public License Version 2 (GPLv2).

Neben der Verwendung in eingebetteten Systemen wird BusyBox auch für „initramfs“ zum Starten von Betriebssystemen sowie als Rettungsprogramm eingesetzt. Werden z. B. wichtige Systembefehle wie /bin/env gelöscht, so kann man diese durch einen Symlink auf bzw. eine Kopie von BusyBox vorübergehend ersetzen, um dann mit dem nun wieder funktionsfähigen System das betroffene Paket (in diesem Falle „binutils“) neu zu installieren. Besonders ein statisch gelinktes BusyBox ist hierbei interessant, da das System damit auch bei der Zerstörung der GNU-C-Bibliothek geladen werden kann und mit entsprechender Konfiguration in einem solchen Falle die in BusyBox integrierte Almquist Shell startet.

