Struttura del corso

  1. Introduttiva
    1. Ottenere Buildroot
    2. Requisiti di sistema per la compilazione
    3. Terminologia tra compilatori: build, host, target, sysroot
    4. Scegliere il target corretto
    5. Costruire un sistema embedded minimale e avviarlo
    6. Contenuto dell'immagine del filesystem risultante
    7. Compilazioni parallele
    8. Ricostruzioni complete e parziali
  2. Obiettivi di progettazione di Buildroot
  3. Scelte da fare
    1. Libreria C: glibc o uClibc o musl?
    2. Sistema di init: busybox vs sysVinit vs systemd
    3. Gestione dei nodi del dispositivo in /dev
    4. Selezione di altri pacchetti
  4. Informazioni sulle istruzioni di compilazione
    1. Sintassi dei file Kconfig (Confog.in)
    2. Caratteristiche di GNU Make utilizzato da Buidroot Makefiles
    3. Guida di stile per i file Config.in e *.mk
    4. Come aggiungere un semplice pacchetto basato su Autotools
    5. La differenza tra directory di staging e directory di destinazione
    6. La necessità di pacchetti host
    7. Come esprimere le dipendenze e le funzionalità facoltative
    8. Supporto per linguaggi diversi da C e sistemi di compilazione diversi da Autotools
    9. Debug dei makefile
    10. Ricompilazione di un singolo pacchetto
  5. Analisi dei risultati della compilazione
    1. Perché ha richiesto così tanto tempo per la costruzione?
    2. Perché ha occupato così tanto spazio su disco?
    3. Perché è stato creato questo pacchetto?
  6. Organizzazione degli alberi dei pacchetti esterni
  7. Flusso di lavoro per gli sviluppatori di applicazioni
    1. Come utilizzare una directory di origine locale
    2. Override delle istruzioni di compilazione
    3. Debug dell'applicazione
    4. Velocizzare le ricostruzioni
    5. Visualizzazione dei log di compilazione
  8. Gestione dei problemi comuni di compilazione incrociata
    1. Come scrivere il proprio software in modo che sia facile da usare per i cross-compilatori
  9. Flusso di lavoro per gli sviluppatori del kernel
    1. Come si avvia il kernel su un sistema embedded
    2. Modifica delle opzioni di configurazione e aggiunta di patch
    3. Meccanismi di caricamento dei moduli
  10. Realizzazione di un prodotto finito
    1. Esecuzione di demoni all'avvio
    2. Fornitura di file di configurazione personalizzati
    3. Meccanismi di aggiornamento del firmware disponibili
    4. Aggiornamento a una nuova versione Buildroot
    5. Conformità alle licenze open source

Requisiti

  • Il partecipante deve aver compilato un kernel almeno una volta per un sistema desktop tradizionale (non embedded) Linux.
  • Sa di quali componenti è composto lo spazio utente Linux su un sistema desktop.
  • Sa come generare e utilizzare le patch.
  • Deve essere in grado di spiegare cos'è GNU Make, Autotools, quali altri sistemi di compilazione esistono.
  • Idealmente, mantiene almeno un pacchetto Linux, sia come autore originale, sia in qualsiasi distribuzione desktop tradizionale Linux.
  • Non è richiesta una precedente esperienza con lo sviluppo embedded e non sostituisce la conoscenza dei desktop tradizionali Linux specificata sopra.
 7 ore

Numero di Partecipanti


Prezzo per Partecipante

Corsi in Arrivo

Categorie relative