Corso Linux Embedded & Yocto Project

Linux training

Il nostro corso ‘combo‘ più richiesto perchè in soli tre giorni (o cinque pomeriggi per la versione online), permette di imparare tutto quello che serve per incominciare a cross compilare il Kernel Linux per una scheda ARM e utilzzare Yocto Project per generare ricette e layer custom.

Corso base rivolto a principianti con un minimo di conoscenza di Linux, fornisce le informazioni necessarie per configurare e cross-compilare il Bootloader u-boot ed il Kernel.

Yocto Project Participant

Koan has been contributing to the Yocto Project since its creation and is a Yocto Project Participant

Fornisce inoltre le informazioni necessarie per configurare e utilizzare Yocto Project (e Openembedded)git e bitbake creando una distribuzione Linux embeddded da zero. Gestione delle ricette in overlay con layer custom.

Imparare a costruire e gestire sistemi Linux embedded con il Progetto Yocto e OpenEmbedded.
Se si desidera non sprecare tempo nell’esecuzione di attività noiose in termini di tempo durante il corso, questo corso intensivo è perfetto per voi.
Al fine di risparmiare tempo, alcune sezioni sono abbreviate o saltate, come ad esempio il download dei signoli pacchetti e la lunga compilazione iniziale, a seconda delle esigenze e degli interessi dei partecipanti.

Argomenti trattati

Il corso, rivolto agli sviluppatori che hanno la necessità di apprendere velocemente l’ambiente di sviluppo Linux.

  • Comprensione del Kernel Linux
  • Comprensione del Device Tree
  • Compilazione del Kernel
  • Sviluppo con il progetto Yocto Project
  • Pratica di laboratorio su schede ARM (BeagleBone Black)
  • Scrittura ed estensione delle ricette Yocto Project
  • Creazione di nuovi layer Yocto Project
  • Integrare la vostra scheda in un BSP
  • Creazione di immagini personalizzate Yocto Project
  • Il debug remoto delle applicazioni

Al termine di questo corso, sarete pronti per utilizzare il Yocto Project per sviluppare il vostro sistema Linux embedded e le applicazioni cross compilate.

Dettagli

  • Durata: 3 giorni consecutivi (dalle 9:00 alle 18:00)
  • Tipologia: ~50% presentazioni, ~50% esercizi pratici
  • Lingua slides e materiale fornito: Inglese
  • Lingua presentazione orale: Italiano o Inglese
  • Numero partecipanti: massimo 10 persone

Attrezzatura richiesta

Ogni partecipante deve disporre di un Laptop su cui verrà installata una Macchina Virtuale fornita dal docente all’inizio del corso. Tutto il materiale necessario viene fornito da Koan tranne il PC. Pertanto i partecipanti devono avere il proprio computer portatile con:

  • Laptop PC con almeno 4 GB di RAM e 40 GB di spazio libero su disco.
  • Virtual Box installato (scaricabile da qui).
  • Lavoreremo con Lubuntu Desktop 18.04 (64 bit). (Non supportiamo altre distribuzioni, perché non possiamo testare tutte le possibili versioni).
  • Connessione a Internet (diretta o tramite il proxy aziendale).
  • Per ragioni di sicurezza è necessario che ogni partecipante esegua il backup del proprio computer prima del corso.

Hardware utilizzatocinque pomeriggi

Gli esercizi pratici saranno svolti su una scheda con CPU Cortex ARM BeagleBone Black fornita in prestito durante il corso.

beagleBone Black training

Tutti gli esercizi effettuati saranno applicabili a qualsiasi altro tipo di scheda.

Prerequisiti

Per ottenere i migliori risultati da questo corso è consigliabile conoscere i seguenti argomenti:

  • Conoscenza di Linux di base
  • Conoscenza di base della shell da riga di comando
  • Conoscenza di programmazione C

Struttura del corso *in presenza*

  • __ Giorno 1 – Mattina __
  • Introduction to embedded linux
  • Virtual machine setup
  • Advantages of using linux
  • Systems running linux
  • Typical embedded hardware
  • System architecture
  • Linux commands
  • Linux filesystem
  • Virtual filesystems
  • Understanding the development process
  • Using the Unix command line
  • Using the vi text editor
  • Discovering procfs and sysfs
  • Using TFTP and NFS connect the board to develompent PC
  • __ Giorno 1 – Pomeriggio __
  • Configuring
  • Busybox
  • Autotools concepts
  • Bootloaders
  • u-boot
  • Booting the kernel using TFTP and NFS
  • Configuring TFTP server on the host machine
  • Configuring NFS server on the host machine
  • Flash a Linux image on a SDCard
  • Booting the target board using TFTP and NFS
  • __ Giorno 2 – Mattina __
  • Learn Linux kernel sources structure
  • Details about the API provided to kernel drivers
  • Cross compilator toolchains
  • Cross-compiling the kernel for the target
  • Linux kernel introduction
  • Linux versioning
  • Generating patches with diff
  • Understanding the kernel development process
  • Extracting a generic linux kernel
  • Applying patches to the kernel with patch
  • Configuring the kernel
  • __ Giorno 2 – Pomeriggio __
  • Linux kernel configuration
  • Kernel boot parameters
  • Native and cross-compilation generated files
  • CPU pin muxing
  • Device Tree (examples from TI AM335x, NXP iMX6)
  • The init process
  • Cross compile a customized kernel
  • Run a modified Linux image on your target board
  • __ Giorno 3 – Mattina __
  • General concepts of a build system
  • Origin of Yocto Project
  • Yocto Project overview
  • Yocto Project meta layers
  • Yocto Project recipes
  • How to setup the Yocto Project build system
  • Configuring the build system
  • Customizing the package selection
  • Organization of the project source tree
  • Building a root filesystem image using the Yocto Project
  • Setup the Poky reference build system
  • Building a system image
  • Creating a custom meta layer with Yocto Project
  • Creating an example recipe with Yocto Project
  • __ Giorno 3 – Pomeriggio __
  • Writing a minimal recipe
  • Adding dependencies
  • Development workflow with bitbake
  • Meta layers customization
  • Create a custom recipe for a new package nInvaders
  • Adding nInvaders to the final image
  • Flash a new Linux image on a SDCard
  • Play around with generated image on your board

Struttura del corso *online*

  • __ Afternoon 1 __
  • Introduction to embedded linux
  • Advantages of using linux
  • Systems running linux
  • Typical embedded hardware
  • Linux commands
  • DEMO – Using the vi text editor
  • Using the Unix command line
  • System architecture
  • Linux filesystem
  • Virtual filesystems
  • Understanding the development process
  • DEMO – Discovering procfs and sysfs
  • Busybox
  • Bootloaders
  • __ Afternoon 2__
  • u-boot
  • Booting the kernel using TFTP and NFS
  • Configuring TFTP server and NFS server
  • DEMO – Flash a Linux image on the microSD card
  • DEMO – Booting the target board using TFTP and NFS
  • Learn Linux kernel sources structure
  • Linux kernel introduction
  • Linux versioning
  • Generating patches with diff
  • Applying patches to a generic kernel with patch
  • Cross compilation toolchains
  • __ Afternoon 3__
  • Cross-compiling the kernel for the target board
  • Linux kernel configuration
  • Kernel boot parameters
  • Native and cross-compilation generated files
  • DEMO – Cross compile a customized kernel
  • DEMO – Run a modified Linux image on your target board
  • CPU pin muxing
  • Device Tree (examples from TI AM335x, NXP iMX6)
  • The init process
  • — Yocto Project —
  • General concepts of a build system
  • Openembedded and Yocto Project
  • Yocto Project overview
  • Meta layers and recipes
  • Metadata (Recipes)
  • Machine (BSP) Configuration
  • __ Afternoon 4__
  • Machine, Distro and Image features
  • Bitbake syntax and options
  • Configuring the build system
  • Customizing the package selection
  • Building a root filesystem image using the Yocto Project
  • Setup the Poky reference build system
  • Building a system image
  • Debugging and Devshell
  • Creating a custom meta layer with Yocto Project
  • Creating an example recipe with Yocto Project
  • __ Afternoon 5 __
  • Writing a minimal recipe
  • Adding dependencies
  • Development workflow with bitbake
  • Meta layers customization
  • BSP development workflow
  • Create a custom recipe for a new package nInvaders
  • Adding nInvaders to the final image
  • Use devtool to manage recipes and layers

Prossimi corsi Linux embedded & Yocto Project

No Events
No Events

Prossimi Corsi

No Events
No Events