Grazie per aver inviato la tua richiesta! Uno dei nostri team membri ti contatterà a breve.
Grazie per aver inviato il tuo prenotazione! Uno dei nostri team membri ti contatterà a breve.
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