Alcuni prodotti richiedono tempi di avvio molto rapidi. Se si sta sviluppando un prodotto di questo tipo, si consiglia di leggere i suggerimenti che seguono per ridurre i tempi di avvio.

I suggerimenti contenuti in questo post del blog descrivono delle tipiche azioni di ottimizzazione che possono essere eseguite sul System on Modules di Variscite per ridurre i tempi di avvio.

 

Ottimizzazione U-Boot

  • Rimuovere la schermata iniziale di U-Boot sui SOM che la supportano.
    È possibile disabilitare la schermata iniziale utilizzando la riga di comando U-Boot, come in questo esempio.
    Per eliminare completamente il supporto della schermata iniziale su U-Boot, è possibile anche disabilitare CONFIG_VIDEO nel codice sorgente di U-Boot.
  • Impostare CONFIG_BOOTDELAY su 0 in U-Boot per risparmiare il secondo di ritardo prima dell’avvio automatico.
  • Se l’applicazione richiede un avvio estremamente veloce, valutare l’impostazione della modalità Falcon per un’ulteriore riduzione dei tempi, saltando completamente U-Boot e caricando il kernel da SPL.
    Nota: assicurarsi di non saltare stringhe importanti di codice del board file U-Boot. Se necessario, spostare tali stringhe da U-Boot a SPL.
    Si legga questa guida per saperne di più su come far sì che la modalità Falcon sia supportata.
  • Aggiungere «quiet» alla riga di comando del kernel: in tal modo, si interromperanno le stampe durante l’avvio, facendo risparmiare tempo.

 

Ottimizzazione Linux

  • Rimuovere i driver non necessari dalla configurazione predefinita del kernel per ottenere un’immagine del kernel più leggera e pulita, più veloce da caricare.
  • Rimuovere o disabilitare i nodi non necessari dell’albero dei dispositivi.
  • Integrare come moduli i driver necessari che possono essere caricati alla fine dell’avvio.

 

Ottimizzazione Rootfs

  • Rimuovere dal file di sistema i pacchetti non necessari che vengono eseguiti all’avvio. Usando Yocto, si consiglia di iniziare con core-image-minimal o core-image-base come immagine minimale a cui aggiungere solo i pacchetti di cui si ha bisogno.
  • Se è opportuno per l’applicazione, si può valutare l’esecuzione del file di sistema da disco RAM: a volte si usa questa opzione per file di sistema di sola lettura di piccole dimensioni.