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:

  1. Creazione: ./scripts/env new nome_progetto
  2. Modifiche: Modifico le impostazioni con make menuconfig o aggiungo file in files/.
  3. Verifica: Controllo cosa è cambiato con ./scripts/env diff.
  4. Salvataggio: Se tutto funziona, salvo con ./scripts/env save "Messaggio di commit".

Nota: Il comando save non 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.