Yocto Project avancé
Cette formation est destinée aux personnes ayant déjà une première expérience de l’utilisation de Yocto Project pour créer un système Linux embarqué et souhaitant approfondir leurs connaissances pour un usage plus avancé.
Si vous débutez dans la pratique de Yocto Project, vous préférerez notre formation Linux embarqué avec Yocto Project.
Objectifs
- Utiliser efficacement l’outil devtool pour créer et mettre à jour des recettes et créer des patches.
- Écrire des recettes contenant des éléments avancés (distro, classes, packageconfig, overrides).
- Supporter le matériel (configuration machine, bootloader, kernel, device tree et partitionnement).
Pré-requis
Une connaissance de Yocto pour une utilisation basique est nécessaire. On considère comme acquises les notions de layers, de recipes, de patches et l’utilisation de la commande bitbake.Public visé
Développeur/euse ou chef de projet devant concevoir ou maintenir un système embarqué.Programme de la formation
Rappels sur Yocto Project
Linux embarqué et build systems : concepts, comparatif avec Buildroot, fichiers de configuration.
Arborescence de travail recommandée : site.conf, emplacement des layers, des builds, des répertoires download et shared-state cache.
Rappel des commandes principales : bitbake, bitbake-layers, devtool, recipetool, runqemu, contenu d’un layer.
Travaux pratiques : production d’une image au contenu customisée à partir d’un layer personnel.
Utilisation de Devtool
Principes : recherche de recette, d’emplacement, de versions, d’extensions. Layer workspace.
Création de recette : création automatique, mise à jour de recette. Test, édition, validation ou abandon de recette.
Création de patches : utilisation de devtool pour créer un patch, plusieurs patches successifs.
Travaux pratiques : mise à jour de recette, création de recettes pour CMake et Makefile, création de patches sur Busybox et le kernel Linux.
Approfondissement des recettes
Variables : globales ou contextuelles, tableaux, conditions, overrides.
Classes : fichiers de classes, héritage, classes intéressantes.
Distro : rôle et choix de distro, utilisation des features, choix de la libC et du système d’init.
Exécution au démarrage : démarrage automatique avec SysVinit, avec Systemd. Projet Early-init.
Travaux pratiques : création de classe et héritage, création de distro, configuration des overrides d’une distro, configuration des options packageconfig de nano, démarrage automatique au boot.
Support du matériel et industrialisation
Machine : fichier de configuration, variables concernées, types d’image, fichiers WKS, partitions.
Bootloader et kernel : choix de version, configuration fragments et defconfig, principes du device tree.
Partitionnement : utilisation des fichiers WKS et WIC.
Obligations légales : licences, manifestes, Software Bill Of Materials, conformité Cyber Resilience Act.
Travaux pratiques : configuration d’une machine personnalisée, patch sur U-boot pour ajouter des variables personnalisées, config kernel et intégration dans fichier machine, device tree customisé.
Conclusion
Discussions libres sur l’ensemble des thèmes abordés.
Travaux pratiques : expérimentations suivant les demandes des participants.
Téléchargez le programme de la formation au format PDF.
Organisation pédagogique
Il est possible de participer à ce cours en mode présentiel en notre site d’Évry (91) ou à distance. Notre salle de formation est équipée pour la visioconférence interactive et chaque stagiaire peut intervenir à tout moment oralement ou en partage d’écran. Les machines de travaux pratiques sont pré-installées avec la distribution Ubuntu.
Les travaux pratiques ont lieu sur des PC Linux (plateformes accessibles à distance) avec l’émulateur logiciel QEmu. Des démonstrations sont présentées avec des cartes cibles à processeur ARM courantes (Raspberry Pi).
Intervenant : notre intervenant pour cette formation est Christophe BLAESS, auteur de plusieurs ouvrages sur le développement sous Linux et expert de Linux embarqué et temps réel.
Validation des acquis
La validation des acquis durant la session est estimée par auto-évaluation des stagiaires avant et après la session sur les thèmes abordés durant le cours.
Satisfaction
Un questionnaire d’évaluation est remis aux stagiaires à l’issue de la formation pour connaître leur taux
de satisfaction sur différents critères, ainsi que leurs remarques et suggestions d’amélioration.
Le pourcentage de satisfaction pour cette formation en 2024 était de 95,5%.
Qualiopi
Nous sommes certifiés Qualiopi, ce qui peut permettre la prise en charge de votre formation par votre Opérateur de Compétences.
La certification qualité a été délivrée au titre de la catégorie d’actions suivante : actions de formation.
Certificat numéro B04664 valide jusqu’au 23/06/2025.
Après la formation
Vous pourrez continuer à accéder au support de cours (disponible en PDF sur notre site web) et le cas échéant au dépôt Github des exemples.
Notre intervenant est disponible pour répondre par mail aux questions qui peuvent se poser suite à la formation.
Si vous souhaitez une assistance plus complète pour la mise en pratique de votre projet spécifique, nous pouvons vous proposer un contrat de support technique.
Support de la formation « Yocto Project avancé »
Notre support de cours est disponible gratuitement sous license Creative Common CC-by-SA.
Découvrez le déroulement typique des journées de formation.
Dates, devis, inscriptions
- Durée de la session : trois jours (21 heures)
- Tarif : 1890€HT / participant. Notre tarif est dégressif en cas d’inscription de plusieurs stagiaires de la même entreprise à la même session.
- Délai d’inscription minimal: 2 jours ouvrés.
Si vous voulez inscrire plusieurs participants ou si vous souhaitez une session personnalisée intra-entreprise, merci de nous contacter pour obtenir un devis correspondant à votre demande.
Pour vous inscrire à une prochaine session, remplissez le formulaire ci-dessous et nous vous enverrons un projet de convention de formation sous 24 heures. Votre inscription sera définitivement confirmée lorsque nous recevrons la convention contre-signée.