- Utilitaire open source léger de type binaire multicall qui regroupe un ensemble de commandes Linux dans un seul exécutable, développé comme alternative à BusyBox
- Il suffit de télécharger puis d’exécuter un unique fichier binaire (
toybox-x86_64) pour disposer, dans un seul binaire, de commandes de base comme echo, cp, mv, cat, etc.
- Conforme aux standards POSIX-2008 et LSB 4.1, avec un accent mis sur la rapidité d’exécution, une structure simple et le respect des standards
- L’objectif central initial du projet était de faire d’Android un environnement entièrement self-hosting, afin de pouvoir compiler l’AOSP directement depuis Android lui-même
- Google a reconnu cette philosophie et a intégré Toybox à l’AOSP à partir d’Android Marshmallow en 2015 comme composant par défaut
- BusyBox utilise une licence GPLv2 incompatible avec Android, tandis que Toybox a été réécrit sous licence BSD compatible avec Android
- Le projet vise à supprimer la dépendance aux outils GNU et à offrir un environnement de build plus transparent et reproductible
- Toybox vise un « système capable de se reconstruire lui-même avec au moins quatre composants »
- Ensemble de commandes POSIX, compilateur, bibliothèque standard C et noyau
- Cette composition permet de créer un système de base reproductible, puis d’étendre l’environnement pour un usage réel en ajoutant ensuite un éditeur (vi), des outils de supervision (top), l’historique du shell, etc.
- Il est possible d’appeler des sous-commandes via la commande
toybox ou de créer des liens symboliques avec le nom de chaque commande pour les utiliser comme des commandes classiques
- Le projet reprend la même structure de build que le noyau Linux (
make menuconfig; make; make install), avec sélection des fonctionnalités à inclure via le fichier .config
- Prise en charge complète de la cross-compilation, avec possibilité de générer des binaires statiques pour des cibles non x86 comme ARM
- En utilisant
scripts/mkroot.sh, il est possible de construire un système Linux minimal basé sur Toybox
make root crée le système de fichiers racine, puis lance chroot
- En combinant
qemu et un compilateur croisé, on peut mettre en place un mini environnement Linux capable de démarrer par lui-même
- Système d’aide intégré :
toybox help <commande> permet d’afficher l’explication de chaque commande
1 commentaires
Ceux qui l’ont essayé, est-ce que c’est utile ?