BusyBox
BusyBox ist ein Computerprogramm, das verschiedene elementare Standard-Unix-Dienstprogramme in einem einzelnen 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.
BusyBox | |
---|---|
Basisdaten | |
Maintainer | Denys Vlasenko[1] |
Entwickler | Bruce Perens, Erik Andersen,[2] Rob Landley,[3] Denys Vlasenko[1] und andere |
Erscheinungsjahr | 4. November 1999 |
Aktuelle Version | 1.34.1[4] (30. September 2021) |
Betriebssystem | Linux |
Programmiersprache | C[5] |
Kategorie | Embedded Linux |
Lizenz | GPLv2 (Freie Software) |
deutschsprachig | nein |
busybox.net |
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.[1]
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 Build von BusyBox ist hierbei interessant, da das System somit auch bei der Zerstörung von glibc geladen werden kann und mit entsprechender Konfiguration in einem solchen Falle die in BusyBox integrierte Almquist Shell startet.
Weblinks
- Offizielle Webpräsenz (englisch)
- busybox-w32 ist eine Portierung von BusyBox auf das Betriebssystem Microsoft Windows unter Verwendung der Win32-API.
- Eine BusyBox-Vorstellung (englisch, bezieht sich auf Version 0.45)
- Ein BusyBox-Anwendungsbeispiel (englisch, bezieht sich auf Version 0.45)
- Ein BusyBox-Anwendungsbeispiel Teil 2 (englisch, bezieht sich auf Version 0.45)
- Ein BusyBox-Anwendungsbeispiel Teil 3 (englisch, bezieht sich auf Version 0.45)
Einzelnachweise
- Denys Vlasenko, BusyBox Maintainer
- Website von Erik Andersen
- Aktuelle Projekte, Website von Rob Landley
- BusyBox Announcements. Abgerufen am 30. September 2021 (englisch).
- The busybox Open Source Project on Open Hub: Languages Page. In: Open Hub. (abgerufen am 14. Juli 2018).