Corso Linux Embedded & Yocto Project

Linux training

Il nostro corso ‘combo‘ più richiesto perchè in soli tre giorni 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 14.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 utilizzato

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

  • __ 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

Prossimi corsi Linux embedded & Yocto Project

Date Type Location Language Book
28/10/2019 - 30/10/2019 Embedded Linux Conference Europe 2019 50 Quai Charles de Gaulle, Lyon, Francia English Private
06/11/2019 - 08/11/2019 Linux Embedded Training 5 Piazzale Marabini, Imola, BO, 40026 Italiano Private
12/11/2019 - 14/11/2019 Linux Embedded Training 5 Piazzale Marabini, Imola, BO, 40026 Italiano Private

Prossimi Corsi

Date Type Location Language Book
28/10/2019 - 30/10/2019 Embedded Linux Conference Europe 2019 50 Quai Charles de Gaulle, Lyon, Francia English Private
06/11/2019 - 08/11/2019 Linux Embedded Training 5 Piazzale Marabini, Imola, BO, 40026 Italiano Private
12/11/2019 - 14/11/2019 Linux Embedded Training 5 Piazzale Marabini, Imola, BO, 40026 Italiano Private
19/11/2019 - 22/11/2019 Linux Embedded and Yocto Project training Piazza Varsavia 14, Bergamo, BG, 24128 English Private