- Utilidad de código abierto desarrollada como alternativa a BusyBox, una herramienta ligera de binario multicall que integra el conjunto de comandos de Linux en un solo ejecutable
- Basta con descargar y ejecutar un único archivo ejecutable (
toybox-x86_64) para obtener comandos básicos como echo, cp, mv y cat en un solo binario
- Cumple con los estándares POSIX-2008 y LSB 4.1, y destaca por su rápida velocidad de ejecución, estructura sencilla y cumplimiento de estándares
- El objetivo central original del proyecto era convertir Android en un entorno self-hosting completo, diseñado para que AOSP pudiera compilarse desde el propio Android
- Google reconoció esta filosofía e integró Toybox en AOSP desde Android Marshmallow en 2015 como componente predeterminado
- BusyBox usa licencia GPLv2 y es incompatible con Android, pero Toybox fue reescrito con una licencia BSD compatible con Android
- Busca eliminar la dependencia de las herramientas GNU y ofrecer un entorno de compilación más transparente y reproducible
- Toybox apunta a un “sistema capaz de autocompilarse con un mínimo de cuatro componentes”
- Conjunto de comandos POSIX, compilador, biblioteca estándar de C y kernel
- Con esta configuración se puede crear un sistema base reproducible y luego ampliarlo a un entorno usable agregando editor (
vi), monitoreo (top), historial de shell, etc.
- Se pueden invocar subcomandos mediante el comando
toybox, o crear enlaces simbólicos con el nombre de cada comando para usarlos como comandos normales
- Sigue la misma estructura de compilación que el kernel de Linux (
make menuconfig; make; make install) y permite elegir qué funciones incluir con base en el archivo .config
- Soporta completamente entornos de compilación cruzada, por lo que puede construir binarios estáticos para destinos no x86 como ARM
- Con
scripts/mkroot.sh es posible construir un sistema Linux mínimo basado en Toybox
- Crear el sistema de archivos raíz con
make root y luego ejecutar chroot
- Si se usa junto con
qemu y un compilador cruzado, permite armar un mini entorno Linux con arranque propio
- Sistema de ayuda integrado: con
toybox help <comando> se puede consultar la descripción de cada comando
1 comentarios
Quienes lo han usado, ¿les ha resultado útil?