- Utilitário open source leve do tipo multicall binary que integra um conjunto de comandos do Linux em um único executável, desenvolvido como alternativa ao BusyBox
- Basta baixar e executar um único arquivo executável (
toybox-x86_64) para ter comandos básicos como echo, cp, mv e cat fornecidos em um único binário
- Está em conformidade com os padrões POSIX-2008 e LSB 4.1, com destaque para alta velocidade de execução, estrutura enxuta e aderência aos padrões
- O objetivo central original do projeto era transformar o Android em um ambiente self-hosting completo, projetado para permitir compilar o AOSP no próprio Android
- O Google reconheceu essa filosofia e, em 2015, integrou o Toybox ao AOSP a partir do Android Marshmallow como componente padrão
- O BusyBox usa licença GPLv2 e é incompatível com o Android, enquanto o ToyBox foi reescrito sob licença BSD compatível com Android
- A meta é eliminar a dependência de ferramentas GNU e oferecer um ambiente de build mais transparente e reproduzível
- O Toybox tem como meta um “sistema capaz de se autocompilar com no mínimo quatro componentes”
- conjunto de comandos POSIX, compilador, biblioteca padrão C e kernel
- Com essa composição, é possível criar um sistema base reproduzível e depois expandi-lo para um ambiente utilizável na prática com editor (vi), monitoramento (top), histórico de shell etc.
- É possível chamar subcomandos pelo comando
toybox ou criar links simbólicos com o nome de cada comando para usá-los como comandos comuns
- Segue a mesma estrutura de build do kernel Linux (
make menuconfig; make; make install), permitindo selecionar os recursos incluídos com base no arquivo .config
- Suporte completo a ambientes de cross-compilation, com possibilidade de gerar binários estáticos para alvos não x86, como ARM
- Com
scripts/mkroot.sh, é possível montar um sistema Linux mínimo baseado em Toybox
- Crie o sistema de arquivos raiz com
make root e depois execute chroot
- Com
qemu e um cross-compiler, dá para montar um miniambiente Linux com boot próprio
- Sistema de ajuda embutido: use
toybox help <comando> para ver a descrição de cada comando
1 comentários
Quem já usou, é útil?