Struttura del corso

    Introduttiva Ottenimento di Buildroot Requisiti di sistema per la compilazione Terminologia cross-compilatore: build, host, target, sysroot Scegliere il target corretto Costruire un sistema embedded minimale e avviarlo Contenuto dell'immagine del file system risultante Compilazioni parallele Ricostruzioni complete e parziali
Obiettivi di progettazione di Buildroot
  • Scelte da fare Libreria C: glibc o uClibc o musl?
  • Sistema di inizializzazione: busybox vs sysVinit vs systemd
  • Gestione dei nodi del dispositivo in /dev
  • Selezione di altri pacchetti
  • Informazioni sulle istruzioni di compilazione Sintassi dei file Kconfig (Confog.in)
  • Caratteristiche di GNU Make usato dai Makefile di Buidroot
  • Guida di stile per i file Config.in e *.mk
  • Come aggiungere un semplice pacchetto basato su Autotools
  • Differenza tra directory di gestione temporanea e directory di destinazione
  • La necessità di pacchetti host
  • Come esprimere le dipendenze e le funzionalità facoltative
  • Supporto per linguaggi diversi dal C e sistemi di compilazione diversi da Autotools
  • Debug dei makefile
  • Ricompilazione di un singolo pacchetto
  • Analisi dei risultati della compilazione Perché ci è voluto così tanto tempo per costruirlo?
  • Perché ha occupato così tanto spazio su disco?
  • Perché è stato creato questo pacchetto?
  • Organizzazione di strutture ad albero dei pacchetti esterni
  • Flusso di lavoro per gli sviluppatori di applicazioni Come utilizzare una directory di origine locale
  • Sovrascrivere le istruzioni di compilazione
  • Debug dell'applicazione
  • Velocizzare le ricostruzioni
  • Visualizzazione dei log di compilazione
  • Gestione dei problemi comuni di compilazione incrociata Come scrivere il proprio software in modo che sia amichevole per i compilatori incrociati
  • Flusso di lavoro per gli sviluppatori del kernel Come si avvia il kernel su un sistema embedded
  • Modifica delle opzioni di configurazione e aggiunta di patch
  • Meccanismi di caricamento dei moduli
  • Realizzazione di un prodotto finito Esecuzione di demoni all'avvio
  • Fornitura di file di configurazione personalizzati
  • Meccanismi di aggiornamento del firmware disponibili
  • Aggiornamento a una nuova versione Buildroot
  • 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 Linux tradizionale.
    • Non è richiesta una precedente esperienza con lo sviluppo embedded e non sostituisce la conoscenza dei desktop tradizionali Linux specificata in precedenza.
      7 ore
     

    Numero di Partecipanti


    Data Inizio

    Data Fine


    Le date sono soggette a disponibilità e si svolgono tra le 09:30 e le 16:30.
    I corsi di formazione pubblici richiedono più di 5 partecipanti.

    Recensioni (4)

    Corsi relativi

    Embedded Linux Systems Architecture

      35 ore

    The Yocto Project - An Overview - hands-on

      28 ore

    Categorie relative