Corso Linux Embedded & Yocto Project
Il nostro corso ‘combo‘ online più richiesto perchè in cinque pomeriggi (se online) o quattro giornate (se in presenza), 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.
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 singoli pacchetti e la lunga compilazione iniziale, a seconda delle esigenze e degli interessi dei partecipanti.
Pubblico di riferimento
Questo corso è ideale per:
- Ingegneri che desiderano utilizzare il sistema Linux e Yocto in nuovi progetti embedded.
- Sviluppatori che supportano i clienti nello sviluppo di sistemi embedded.
Il corso combina teoria con laboratori pratici per:
- Familiarizzare con l’architettura di un sistema Linux embedded.
- Insegnare come configurare e creare il kernel Linux e Device Tree.
- Mostrare come sfruttare i componenti open source per implementare le funzionalità del sistema.
- Familiarizzare con l’architettura di Yocto Project.
- Imparare come creare layers, configurare ricette e immagini.
- Mostrare come implementare le best practice di Yocto Project in un ambiente reale.
Alla fine del corso, sarai in grado di:
- Gestire un progetto utilizzando Linux embedded.
- Impostare, configurare e distribuire un sistema Linux embedded generato con Yocto Project.
- Gestire tutto, dalla creazione del sistema allo sviluppo dell’applicazione.
Prerequisiti
Conoscenza e pratica dei comandi UNIX o GNU/Linux: i partecipanti devono avere familiarità con la riga di comando di Linux. Chi non ha esperienza dovrebbe esercitarsi da solo, ad esempio, utilizzando il nostro documento disponibile gratuitamente: https://koansoftware.com/pub/docs/Introduction-to-Linux-A-Hands-on-Guide.pdf
Hardware utilizzato
Gli esercizi possono essere svolti solo dall’insegnante o dai partecipanti, a seconda del tipo di corso (online o in presenza).
Per motivi pratici, durante i corsi online non è necessario alcun dispositivo hardware particolare e verrà utilizzato un sistema virtuale QemuARM64, durante i corsi in presenza verrà fornita dall’insegnante una vera scheda NXP i-MX8, pertanto tutti gli esercizi saranno svolti dai partecipanti
Grazie alla portabilità di Linux e Yocto Project, tutti gli esercizi svolti saranno applicabili a qualsiasi altro tipo di scheda. Ad esempio:
- NXP – i.MX6, i.MX7, i.MX8, i.MX9
- ST Microelectronics – STM32MP1, STM32MP2
- Intel – x86-32, x86-64
Il contenuto del corso è ampiamente applicabile e pertinente indipendentemente dalla specifica piattaforma hardware utilizzata nei tuoi progetti.
Corso online
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 scheda NXP i.MX8 ARM e QemuARM64
- 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: 5 pomeriggi consecutivi (Lunedì-Venerdì dalle 14:00 alle 18:00)
- Tipologia: ~80% presentazioni, ~20% esercizi pratici
- Lingua slides e materiale fornito: Inglese
- Lingua presentazione orale: Italiano
- Numero partecipanti: massimo 12 persone
- Prezzo: 590,00 Euro + IVA
- Per registrarsi si prega di compilare il form
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 8 GB di RAM e 40 GB di spazio libero su disco.
- Virtual Box installato (scaricabile da qui).
- Lavoreremo con Lubuntu Desktop 22.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.
Corso in presenza
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 scheda NXP i.MX8 ARM
- 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: 4 giornate consecutive (dalle 9:00 alle 17:00)
- Tipologia: ~50% presentazioni, ~50% esercizi pratici
- Lingua slides e materiale fornito: Inglese
- Lingua presentazione orale: Italiano
- Numero partecipanti: massimo 12 persone
- Prezzo: 1790,00 Euro + IVA
- Per registrarsi si prega di compilare il form
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:
- Intel Core i5 o superiore (Intel i7 fortemente consigliato)
- RAM: minimo 8 GB (fortemente consigliati più di 19 GB)
- Spazio disponibile: 50 GB
- 1 porta Ethernet
- 2 porte USB (per la connessione a un adattatore seriale e USB-MicroSD)
- 1 adattatore microSD-USB IMPORTANTE
- Virtual Box installato (scaricabile da qui)
- Per motivi di sicurezza è necessario che ogni partecipante esegua il backup del proprio computer prima del corso.
Alloggio
L’alloggio e il trasporto da e per la sede del corso non sono inclusi nella quota di iscrizione.
I partecipanti devono organizzare autonomamente il proprio alloggio, viaggio e trasporto.
Altre note
- L’alloggio e il trasporto da e per la sede non sono inclusi nella quota.
- I partecipanti devono organizzare autonomamente il proprio alloggio, viaggio e trasporto.
- Il pranzo e le pause caffè sono inclusi nella quota del corso.
- I partecipanti dovranno organizzare autonomamente la propria colazione e cena poiché non sono incluse nell’offerta.
- Le tasse sulla quota saranno aggiuntive, se applicabili.
Struttura del corso Online
- __ Afternoon 1 – Linux embedded __
- Introduction to embedded linux
- Advantages of using linux
- Systems running linux
- Typical embedded hardware
- System architecture
- Linux filesystem
- Virtual filesystems procfs and sysfs
- Understanding the development process
- Busybox
- Bootloaders
- __ Afternoon 2 – Linux embedded __
- u-boot
- Booting the kernel using TFTP and NFS
- DEMO – Flash a Linux image on the microSD card
- DEMO – Booting the target board using TFTP and NFS
- Learn Linux kernel sources structure
- Cross compilation toolchains
- 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 for TI AM335x, NXP iMX6)
- __ Afternoon 3 – Yocto Project __
- Introduction
- Openembedded and Yocto Project history
- Overview of an embedded Linux system architecture
- Methods to build a root filesystem image
- Usefulness of build systems
- Organization of the project source tree
- Building a root filesystem image using the Yocto Project
- Organization of the build output
- Flashing and installing the system image
- Downloading the Poky reference build system
- Building a system image
- Flashing and booting the image on the BeagleBone
- Configuring the build system
- What layers are
- Where to find layers
- Creating a layer
- Customizing the package selection
- Development workflow with bitbake
- Writing a minimal recipe
- Learn how to use the PREFERRED_PROVIDER mechanism
- Writing a recipe for nInvaders
- Adding nInvaders to the final image
- __ Afternoon 4 – Yocto Project __
- Manage dependencies in the recipe
- Extending and overriding recipes
- Adding steps to the build process
- Learn about classes
- Analysis of examples
- Logging
- Debugging dependencies
- Extending an existing BSP
- Adding a new machine
- Linux and the linux-yocto recipe
- Adding a custom image type
- Extending a recipe to add configuration files
- Using ROOTFS_POSTPROCESS_COMMAND to modify the final rootfs
- Studying package dependencies
- Learn how to write a layer
- Add the layer to the build
- Move nInvaders to the new layer
- __ Afternoon 5 – – Yocto Project __
- Adding nInvaders to a custom image
- Writing an image recipe
- Adding users/groups
- Adding custom configuration
- Writing and using package groups recipes
- Writing a custom image recipe
- Understanding the purpose of an SDK for the application developer
- Building an SDK for the custom image
- Using the Yocto Project SDK
- devtool
- Using devtool
Struttura del corso In Presenza
- Slot #LE1
Architecture of Embedded Linux systems.
Linux filesystem and virtual filesystems procfs and sysfs
Init systems and scripts for SystemV and systemd
Busybox
Understand the boot sequence of an embedded Linux system, configure and use the U-Boot bootloader
Practical labs - Slot #LE2
Concepts for trusted boot, Trusted Firmware, FIT and TF/A
Understand cross-compilation toolchains
Linux kernel configuration and cross-compilation
Kernel modules commands and usage
Practical labs - Slot #LE3
Understand Device Tree and analyze its configuration for NXP i.MX8M
Details about major open-source licenses and their implications
Practical labs - Slot #LE4
Practical Labs working on Mezzanine expansion board mounting several i2c and SPI devices, with kernel and Device Tree - Slot #YP1
Principles and role of Yocto Project/OpenEmbedded as embedded Linux build system
Yocto and BitBake fundamentals
Creation and configuration of a custom layer
Practical labs - Slot #YP2
Incorporating recipes for several packages to the custom layer
Workflows for application development using the Yocto Project SDK
Practical labs - Slot #YP3
Develop custom images and distro tailored to specific requirements
Integrate support for custom embedded boards into a Board Support Package (BSP) layer
Usage of u-boot and linux kernel with Yocto Project
Develop additional components using devtool
Practical labs - Slot #YP4
Integration of Mezzanine expansion board components into Yocto BSP layer
Final recap
Prossimi corsi Linux embedded & Yocto Project
Date | Type | Location | Language | Book |
04/12/2024 - 11/12/2024 | Linux Embedded and Yocto Project training | italiano | Book |
- Date: 04/12/2024 - 11/12/2024
Topic: Linux Embedded and Yocto Project training
Location:
Language: italiano
Book a Seat
Prossimi Corsi
Date | Type | Location | Language | Book |
04/12/2024 - 11/12/2024 | Linux Embedded and Yocto Project training | italiano | Book |
- Date: 04/12/2024 - 11/12/2024
Topic: Linux Embedded and Yocto Project training
Location:
Language: italiano
Book a Seat