rilascio del pacchetto con l'implementazione di un insieme di utility standard UNIX, raggruppate in un unico file eseguibile e ottimizzate per un minimo consumo di risorse di sistema, con una dimensione totale inferiore a 1 MB. La prima versione della nuova serie 1.32 è considerata instabile; la completa stabilizzazione sarà fornita nella versione 1.32.1, prevista per circa un mese. Il codice del progetto è rilasciato sotto la licenza GPLv2.
La natura modulare di BusyBox consente di creare un unico file eseguibile unificato, contenente un insieme arbitrario di utility implementate nel pacchetto (ogni utility è disponibile come un collegamento simbolico a questo file). La dimensione, la composizione e la funzionalità della collezione di utility possono variare in base alle esigenze e alle capacità della piattaforma embedded per la quale viene effettuata la compilazione. Il pacchetto è autonomo; con una compilazione statica con uclibc, per creare un sistema operativo funzionante sopra il kernel Linux è sufficiente creare alcuni file di dispositivo nella directory /dev e preparare i file di configurazione. Rispetto alla precedente versione 1.31, il consumo di memoria RAM della compilazione tipica di BusyBox 1.32 è aumentato di 3590 byte (da 1011750 a 1015340 byte).
BusyBox è lo strumento principale nella lotta contro la violazione della GPL nei firmware. Le organizzazioni Software Freedom Conservancy (SFC) e Software Freedom Law Center (SFLC) hanno, per conto degli sviluppatori di BusyBox, sia attraverso , sia tramite extragiudiziali, hanno ripetutamente esercitato un'influenza positiva su aziende che non forniscono accesso al codice sorgente dei programmi GPL. Allo stesso tempo, il creatore di BusyBox si oppone fermamente Nella versione BusyBox 1.31 vengono evidenziate le seguenti modifiche:
Nella versione BusyBox 1.32 sono evidenziate le seguenti modifiche:
- È stato aggiunto un nuovo comando per l'esecuzione di script da un file specificato Mimfile (somiglia a un'utilità ridotta di make);
- Nell'utilità find è stata aggiunta l'opzione «-empty» per il controllo dei file vuoti;
- Nell'utilità wget è stato esteso il limite sul numero di reindirizzamenti e implementato il supporto per il controllo dei certificati TLS in caso di errore con ENABLE_FEATURE_WGET_OPENSSL;
- In grep è stato introdotto il supporto corretto per l'elenco dei modelli (pattern_list) ed è stata aggiunta l'opzione «-R» (elaborazione ricorsiva del contenuto della cartella);
- Risolti problemi evidenziati durante la compilazione con Clang 9 e rimossi avvisi del compilatore;
- Proposta una grande serie di correzioni nelle shell ash e hush, mirate a migliorare la compatibilità con altre shell. In ash e hush è stata aggiunta la possibilità di completamento automatico delle comandi integrate con il tasto Tab. In ash sono state stabilizzate nuove comandi integrate.
- Nell'utilità fdisk è stata aggiunta la supporto per le partizioni HFS e HFS+;
- In init è stato migliorato il trattamento della condizione di race durante la ricezione dei segnali;
- Nell'utility di monitoraggio visivo dei parametri di sistema aggiunto il formato di output «%NT» (tempo allineato con zeri);
- In taskset è stata aggiunta la possibilità di elaborare e visualizzare l'elenco delle CPU (opzione «-c»);
- In tar è stato modificato il comportamento dell'opzione «-a», che invece di attivare la compressione «lzma» è ora associata all'autodeterminazione in base all'estensione del file;
- In udhcpc6 è stato aggiunto il supporto per la modalità «» per DHCPv6 (il server fornisce solo i parametri di rete, senza assegnazione dell'indirizzo);
- In nslookup è garantita l'elaborazione delle risposte senza RECORD RR ed è stato aggiunto il supporto per i RECORD SRV;
- In brctl sono stati aggiunti nuovi comandi «showmacs» e «showstp»;
- In dhcpc è stato aggiunto il supporto per il parametro «relay server»;
- In syslogd è stata aggiunta un'impostazione per visualizzare il tempo con precisione ai millisecondi;
- In httpd, durante l'esecuzione in modalità NOMMU, è stata consentita l'impostazione di una directory home diversa ed è stata garantita l'applicazione dell'opzione ‘-h’ all'avvio del processo in background;
- In xargs è stata migliorata l'elaborazione degli argomenti racchiusi tra virgolette ed è stato garantito un comportamento corretto per l'opzione «-n»;
- Correttezza delle carenze nelle utility grep, top, dc, gzip, awk, bc, ntpd, pidof, stat, telnet, tftp, whois, unzip, chgrp, httpd, vi, route.
Inoltre, nel mese scorso il rilascio , l'equivalente di BusyBox, sviluppato da un ex maintainer di BusyBox e sotto la licenza BSD. L'obiettivo principale di Toybox è fornire ai produttori la possibilità di utilizzare un set minimalista di utility standard senza rilasciare i codici sorgente dei componenti modificati. Finora, Toybox di BusyBox, ma già implementate 272 comandi di base (204 completamente e 68 parzialmente) dei 343 pianificati.
Tra le novità di Toybox 0.8.3 si possono notare:
- Aggiunte nuove comandi rtcwake, blkdiscard, getopt e readelf;
- In «make root» è stata garantita la possibilità di creare un ambiente di avvio operativo solo basato sul kernel Linux e sugli strumenti Toybox, che può essere caricato utilizzando uno script init personalizzato;
- Aggiunto il supporto iniziale per moduli con implementazioni separate di utility non incluse nel pacchetto principale di ToyBox;
- L'interprete a comandi toysh è stato completato per l'80% (mancano ancora il supporto per le funzioni, la storia, la gestione del terminale, i job, $((math)), i modelli);
- Aggiunto il supporto per ulteriori opzioni in varie utility, tra cui patch, cal, cp, mv, lsattr, chattr, ls, id, netcat e setsid.
Fonte: opennet.ru
