Contattataci

Struttura del corso

1. Introduzione a Coreboot

  • Che cos’è Coreboot?
  • Confronto tra BIOS, UEFI e Coreboot
  • Architettura e principi di progettazione di Coreboot
  • Vantaggi e limiti dei firmware open source
  • Piattaforme supportate e compatibilità hardware

2. Primi passi con Coreboot

  • Configurazione dell'ambiente di sviluppo.
  • Installazione degli strumenti e delle dipendenze necessarie.
  • Analisi del repository del codice sorgente di Coreboot.
  • Spiegazione del processo di compilazione.
  • Presentazione della documentazione e delle risorse fornite dalla comunità.

3. Approfondimento sulla struttura del codice sorgente di Coreboot

  • Organizzazione dei file e struttura delle directory del progetto.
  • I principali file di configurazione.
  • L’implementazione specifica per ogni scheda madre.
  • Gestione della compatibilità con schede madri, chipset, processori e SoC.
  • Configurazione mediante Kconfig e menuconfig.

4. Configurazione e compilazione di Coreboot

  • Scelta della piattaforma target.
  • Impostazione delle opzioni di configurazione del firmware.
  • Selezione e configurazione dei payload da utilizzare.
  • Generazione dell'immagine di Coreboot.
  • Verifica della correttezza dei file prodotti in fase di compilazione.
  • Best practice per una corretta configurazione del firmware.

5. Test di Coreboot con QEMU

  • Introduzione all'emulazione del firmware.
  • Esecuzione di Coreboot all’interno di QEMU.
  • Verifica del corretto svolgimento del processo di avvio.
  • Risoluzione dei problemi emersi durante l'avvio.
  • Test sicuro delle modifiche apportate alla configurazione.

6. Componenti del firmware e processo di avvio

  • Fasi principali dell'inizializzazione effettuata da Coreboot.
  • La fase ROM nel dettaglio.
  • La gestione della memoria RAM durante l'avvio.
  • Assegnazione delle risorse hardware disponibili.
  • Meccanismi di caricamento dei payloads.
  • Panoramica generale del flusso di avvio.
  • Il file system CBFS (Coreboot File System) e la sua utilità.

7. Payloads e bootloader per Coreboot

  • Cos’è un payload?
  • L’utilizzo di SeaBIOS come payload.
  • Il ruolo di U-Boot nella gestione del boot.
  • Panoramica generale su Tianocore/EDK II.
  • Selezione del payload più adatto alle proprie esigenze.
  • Avvio dei sistemi operativi mediante Coreboot.

8. Applicazioni pratiche di Coreboot

  • L’utilizzo di Coreboot in contesti legati a ChromeOS.
  • Applicazioni nei sistemi embedded.
  • Casi d'uso per server e workstation.
  • I benefici derivanti dal punto di vista della sicurezza.
  • Considerazioni riguardanti le prestazioni del sistema.
  • Strategie consigliate per aggiornare il firmware.

9. Risoluzione di problemi e tecniche di debug

  • Analisi dei log generati da Coreboot.
  • Utilizzo della console seriale per il debugging.
  • Riconoscimento ed eliminazione degli errori più comuni nella compilazione.
  • Identificazione e gestione dei problemi di compatibilità hardware.
  • Tecniche per recuperare sistemi in cui l'aggiornamento del firmware è fallito.
  • Gli strumenti più utili e le tecniche pratiche per risolvere i problemi.

10. Laboratorio pratico e sintesi finale

  • Creazione dell’immagine di Coreboot tramite la compilazione.
  • Verifica della correttezza del firmware tramite QEMU.
  • Modifica manuale di una configurazione base per test pratici.
  • Analisi approfondita dei log generati durante l’avvio.
  • Riepilogo dei concetti più importanti appresi.
  • Sessione di domande e risposte tra partecipanti ed istruttore.
  • Suggerimenti per proseguire l'apprendimento autonomamente ed ulteriori risorse utili.

Requisiti

  • Conoscenze di base riguardo al firmware informatico

Destinatari del corso

  • Sviluppatori software
  • Programmatori informatici
 7 ore

Numero di Partecipanti


Prezzo per partecipante

Corsi in Arrivo

Categorie relative