- Ein leichtgewichtiges Multicall-Binary-Tool, das einen Satz von Linux-Befehlen in einer einzigen ausführbaren Datei zusammenfasst, entwickelt als Open-Source-Dienstprogramm als Alternative zu BusyBox
- Nach dem Herunterladen und Ausführen nur einer einzigen Datei (
toybox-x86_64) stehen grundlegende Befehle wie echo, cp, mv und cat in einem einzigen Binary bereit
- Entspricht den Standards POSIX-2008 und LSB 4.1 und betont schnelle Ausführung, eine schlanke Struktur und Standardkonformität
- Das ursprüngliche Kernziel des Projekts war es, Android in eine vollständig self-hosting-fähige Umgebung zu verwandeln, sodass sich AOSP direkt auf Android selbst bauen lässt
- Google erkannte diese Philosophie an und integrierte Toybox ab Android Marshmallow im Jahr 2015 standardmäßig in AOSP
- BusyBox ist wegen der GPLv2-Lizenz nicht mit Android kompatibel, Toybox hingegen wurde mit einer zu Android kompatiblen BSD-Lizenz neu geschrieben
- Ziel ist es, Abhängigkeiten von GNU-Tools zu entfernen und eine transparentere und besser reproduzierbare Build-Umgebung bereitzustellen
- Toybox verfolgt das Ziel eines „mit mindestens vier Komponenten selbst erstellbaren Systems“
- POSIX-Befehlssatz, Compiler, C-Standardbibliothek und Kernel
- Mit dieser Konfiguration lässt sich ein reproduzierbares Basissystem erstellen, das sich anschließend durch Editor (
vi), Monitoring (top), Shell-History usw. zu einer praktisch nutzbaren Umgebung erweitern lässt
- Subkommandos lassen sich über den Befehl
toybox aufrufen, oder durch symbolische Links mit den jeweiligen Befehlsnamen wie normale Kommandos verwenden
- Folgt derselben Build-Struktur wie der Linux-Kernel (
make menuconfig; make; make install), wobei sich über die Datei .config auswählen lässt, welche Funktionen enthalten sein sollen
- Vollständige Unterstützung für Cross-Compilation; statische Binaries für Nicht-x86-Ziele wie ARM können gebaut werden
- Mit
scripts/mkroot.sh lässt sich ein minimales Linux-System auf Basis von Toybox erstellen
- Mit
make root wird ein Root-Dateisystem erzeugt und anschließend chroot ausgeführt
- Zusammen mit
qemu und einem Cross-Compiler lässt sich eine eigenständig bootfähige Mini-Linux-Umgebung aufbauen
- Integriertes Hilfesystem: Mit
toybox help <Befehl> lässt sich die Beschreibung jedes Kommandos anzeigen
1 Kommentare
Hat es jemand ausprobiert? Ist es nützlich?