Lavorare con il firmware OpenWrt spesso richiede di gestire diverse configurazioni (target, pacchetti, impostazioni del kernel) contemporaneamente. Invece di sovrascrivere continuamente il file .config e la cartella files/, il comando ./scripts/env integrato nell'SDK/Buildroot ci permette di isolare i nostri "ambienti" di lavoro.
Che cos'è ./scripts/env?
È uno strumento di gestione che agisce come un sistema di controllo versione semplificato per la tua configurazione OpenWrt. Ti permette di passare rapidamente da una configurazione "di test" a una "di produzione" senza dover rifare tutto da zero.
Comandi principali
| Comando | Descrizione |
|---|---|
./scripts/env list |
Elenca tutti gli ambienti creati. |
./scripts/env new <nome> |
Crea un nuovo ambiente di lavoro. |
./scripts/env switch <nome> |
Passa a un ambiente esistente. |
./scripts/env save [msg] |
Salva lo stato attuale nell'ambiente. |
./scripts/env diff |
Mostra le differenze rispetto all'ultimo salvataggio. |
./scripts/env revert |
Annulla le modifiche non salvate. |
./scripts/env clear |
Elimina gli ambienti e torna alla configurazione base. |
Flusso di lavoro consigliato
Per mantenere il workspace ordinato, ecco il flusso che solitamente seguo:
- Creazione:
./scripts/env new nome_progetto - Modifiche: Modifico le impostazioni con
make menuconfigo aggiungo file infiles/. - Verifica: Controllo cosa è cambiato con
./scripts/env diff. - Salvataggio: Se tutto funziona, salvo con
./scripts/env save "Messaggio di commit".
Nota: Il comando
savenon compila il codice; serve solo a "congelare" la configurazione dello stato attuale dell'ambiente.
Perché usarlo?
- Velocità: Non devi più fare backup manuali del file
.config. - Sicurezza: Puoi sperimentare modifiche drastiche e tornare indietro in un secondo.
- Pulizia: Il Buildroot rimane sempre organizzato.