Formation Yocto – Open Embedded
Ref :Les prochaines dates par ville
[+]Formation à distance
Du : 18 novembre 2024 Au : 20 novembre 2024 Du : 16 décembre 2024 Au : 18 décembre 2024
[+]Asnières-sur-Seine
Pré-requis
UNIX/Linux user experience (shell)
Basic C language knowledge
Understanding English
Matériel :
Practical work on QEMU/ARM emulator
The training is based on Yocto 3.1 (Dunfell)
The Linux environment is Ubuntu 18.04 (VirtualBox)
The training materials are provided as an .ova (Open Virtual Archive) file. It is therefore necessary to install VirtualBox on the target machine used by the trainee. In order to save time it is advisable to pre-install VirtualBox before the date of the training. Full installation (in order to have an optimized screen resolution) requires installing the extension pack, see: https://www.virtualbox.org/wiki/Downloads.
Supported operating systems are:
Windows (XP or higher)
Linux
Mac OS X 10.5 or higher
The following table shows the PC requirements (type of CPU, RAM, free space on the hard disk).
CPU : i5 or better
RAM: 4Gb or more
Disk : 30 Gb or more
Public concerné
Embedded Linux developers
Embedded Linux projects managers
Objectifs
Understanding Embedded Linux principles (0.5 day)
Understanding Yocto / OpenEmbedded principles (2.5 days)
Writing sample recipes based on OSS standards
Autotools
CMake
Linux drivers
Device Tree
Customizing existing Yocto recipes
Using Yocto tools (SDK, Devtool, ptest, testimage, etc.)
Building a Yocto “IoT” device !
Programme détaillé
Cette formation permet de bien maîtriser la problématique de la génération d'images avant de voir comment Yocto y répond.
Embedded Linux section
- GNU/Linux reminders
- GPL/LGPL licenses
- Introducing the cross-compilation
- Cross-compiling the Linux kernel
- BusyBox
- Using a “build system”
- Pros and cons
- Main tools (Buildroot, Yocto/OpenEmbedded, etc.)
Yocto section
- History (OpenEmbedded → Yocto)
- Main concepts : BitBake, metadata, layers, inheritance, etc.
- Creating the core-image-minimal distribution for QEMU/ARM
- Generated directories (deploy and work)
- Tuning and optimisation with local.conf and bblayers.conf
- Creating a test layer *
- Creating a recipe using a simple “Makefile” *
- Using Autotools / CMake classes *
- Package management (OPKG) *
- Static and dynamic dependencies *
- Layer priority, extending recipes (.bbappend) *
- Applying patches *
- Using configuration fragments *
- Device tree integration *
- Kernel recipes and modules (using the “module” class) *
- Custom images and the “packagegroup” class *
- Testing a custom image with NFS-Root *
- Creating a custom “distro” *
- Building and using the cross-toolchain (SDK/eSDK)
- Remote debugging with gdb/gdbserver *
- Using “Devtool” *
- Using external sources *
- Using CI (“ptest” and “testimage”) *
Modalités pédagogiques
Tous nos stages reposent sur une alternance entre transfert de savoir-faire et d’attitudes, avec des exercices concrets, des tests avec les participants et des analyses de situations. Cette méthode permet une appropriation rapide des sujets par les stagiaires.
Notre formateur s’appuie sur les connaissances préexistantes du stagiaire. Il combine diverses modalités pédagogiques : des exposés théoriques, des temps d’échanges, des études de cas, permettant à l’apprenant d’être acteur de la séance de formation.
Lors des formations en groupe, l’accent est mis sur l’interactivité, intégrant ainsi la possibilité de progresser en équipe et de réussir ensemble.
Le scénario de nos cours est adapté afin de faire directement référence aux attentes des stagiaires. Les exemples et exercices sont, dans la mesure du possible, au plus près des missions réalisées par vos collaborateurs.
En effet, notre processus de personnalisation d’accès à la formation nous conduit à choisir et combiner différentes méthodes classiques qui ont fait preuve de leur efficacité, en fonction des objectifs à atteindre et du public reçu en formation.