rilascio del pacchetto con implementazione di un set standard di utility UNIX, presentato come un unico file eseguibile e ottimizzato per il minimo consumo di risorse di sistema con una dimensione complessiva inferiore a 1 MB. Il primo rilascio della nuova versione 1.31 è posizionato come instabile, la completa stabilizzazione sarà garantita nella versione 1.31.1, attesa tra circa un mese. Il codice del progetto è distribuito sotto la licenza GPLv2.
La natura modulare di BusyBox consente di formare un unico file eseguibile unificato, contenente un insieme arbitrario di utility implementate nel pacchetto (ogni utility è disponibile come collegamento simbolico a questo file). Dimensione, composizione e funzionalità della collezione di utility possono variare a seconda delle esigenze e delle capacità della piattaforma embedded per la quale si effettua la compilazione. Il pacchetto è autonomo, con una compilazione statica con uclibc per creare un sistema operativo sopra il kernel Linux è sufficiente creare alcuni file di dispositivo nella directory /dev e preparare i file di configurazione. Rispetto all'uscita precedente 1.30, il consumo di memoria RAM con la compilazione tipica di BusyBox 1.31 è diminuito di 86 byte (da 1008478 a 1008392 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.31 si evidenziano le seguenti modifiche:
- Aggiunte nuove comandi: ts (implementazione del client e server per il protocollo TSP (Time-Stamp Protocol)) e i2ctransfer (creazione e invio di messaggi I2C);
- In udhcp è stata aggiunta la supporto per le opzioni DHCP (informazioni sul fuso orario) e 101 (nome del fuso orario nella DB TZ) per IPv6;
- In udhcpd è stata aggiunta la supporto per legami statici dei nomi host ai client;
- Nelle shell dei comandi ash e hush sono implementati i letterali numerici «BASE#nnnn». È stata fornita un'implementazione compatibile con bash del comando ulimit, inclusa l'aggiunta delle opzioni «-i RLIMIT_SIGPENDING» e «-q RLIMIT_MSGQUEUE». È stata aggiunta la supporto per «wait -n». Sono state aggiunte variabili EPOCH compatibili con bash;
- Nella shell dei comandi hush è stata realizzata la variabile «$-«, che elenca le opzioni della shell attivate per impostazione predefinita;
- In bc dal upstream è stato trasferito il codice per il passaggio dei valori per riferimento, è stata aggiunta la supporto per le funzioni void e la possibilità di lavorare con valori ibase fino a 36;
- In brctl tutti i comandi sono stati tradotti per lavorare utilizzando il pseudo-FS \/sys;
- È stato unito il codice delle utilità fsync e sync;
- È stata migliorata l'implementazione di httpd. È stata migliorata l'elaborazione delle intestazioni HTTP e il funzionamento in modalità proxy. Sono stati inclusi SVG e JavaScript nell'elenco dei tipi MIME;
- In losetup è stata aggiunta l'opzione «-c» (ricontrollo forzato della dimensione del file associato al dispositivo loop), oltre a un'opzione per la scansione delle partizioni. In mount e losetup è stata assicurata la supporto operativa utilizzando \/dev\/loop-control;
- In ntpd il valore di SLEW_THRESHOLD è stato aumentato da 0.125 a 0.5;
- In sysctl è stata aggiunta la supporto per l'assegnazione di valori vuoti;
- In watch è stata aggiunta la supporto per valori frazionari nell'opzione «-n SEC»;
- È stata aggiunta la possibilità di avviare mdev come processo in background;
- Nell'utilità wget è stato implementato il flag «-o» per specificare il file per la registrazione del log. Sono state aggiunte notifiche per l'inizio e il completamento del download;
- In telnetd è stata aggiunta la supporto per il comando AYT IAC;
- In vi è stato aggiunto il comando ‘dG' (cancellazione del contenuto dalla riga attuale fino alla fine del file);
- Nel comando dd è stata aggiunta l'opzione ‘oflag=append’;
- Nell'utilità top è stato aggiunto il flag ‘-H’ per attivare la modalità di scansione dei singoli thread.
Inoltre, due settimane fa 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 rispetto a BusyBox, ma ha già implementato 188 comandi di base sui 220 programmati.
Tra le novità di Toybox 0.8.1 si possono notare:
- È stato raggiunto un livello di funzionalità sufficiente per assemblare Android in un ambiente basato sulle utilità Toybox.
- Nel pacchetto sono incluse nuove comandi mcookie e devmem, e sono state trasferite dalla branca di test le comandi riscritte tar, gunzip e zcat.
- È stata proposta una nuova implementazione di vi per i test.
- Al comando find è stata aggiunta la supporto per le opzioni «-wholename/-iwholename»,
«-printf» e «-context»; - Nel grep è stata aggiunta l'opzione «—exclude-dir»;
- In echo è stata introdotta la supporto per l'opzione «-E».
- In mount è stata aggiunta la supporto per «UUID».
- Al comando date è stato aggiunto il riconoscimento del fuso orario definito nella variabile d'ambiente TZ.
- In sed è stata aggiunta la supporto per intervalli relativi (+N).
- È stata migliorata la leggibilità dell'output di ps, top e iotop.
Fonte: opennet.ru
