Formation Linux embarqué avancé avec Yocto

Devenez expert·e Yocto : personnalisez vos images, optimisez vos recettes et gérez le matériel embarqué avec Devtool et les meilleures pratiques.

Formation Linux embarqué avancé avec Yocto

Cette formation Yocto avancé vous permettra d’approfondir vos compétences dans la conception et la maintenance de systèmes embarqués en exploitant pleinement Yocto Project.

Pendant trois jours de formation, vous apprendrez :
- à utiliser Devtool pour créer et mettre à jour des recettes,
- à écrire des recettes avancées intégrant des classes, des distros et des overrides, et
- à gérer le support matériel, du bootloader au partitionnement des systèmes.

À travers différents travaux pratiques, vous consoliderez vos connaissances et maîtriserez les outils indispensables pour vos développements embarqués !


Vous débutez avec le développement de systèmes embarqués ?

Jetez alors un œil à notre formation à Linux embarqué et Yocto

Les objectifs

  • Utiliser efficacement Devtool pour gérer des recettes et créer des patches
  • Écrire des recettes avancées (distro, classes, packageconfig, overrides)
  • Gérer le support matériel (configuration machine, bootloader, kernel, device tree et partitionnement)

Pré-requis

  • Connaissance de Yocto en usage basique (notions de layers, recipes, patches et bitbake).
  • Expérience en développement embarqué et en système Linux
  • Ordinateur portable à apporter

Le programme de la formation Linux embarqué avancé avec Yocto

Jour 1 : Rappels sur Yocto Project et utilisation de Devtool

  • 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
      • shared-state cache
    • Rappel des commandes principales
      • bitbake
      • bitbake-layers
      • devtool
      • recipetool
      • runqemu
      • contenu d’un layer
  • 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 ou plusieurs patches successifs

Mises en pratique :
- production d’une image au contenu customisée à partir d’un layer personnel
- mise à jour et création de recettes pour CMake et Makefile
- création de patches sur Busybox et le kernel Linux

Jour 2 : Approfondissement des recettes

  • Variables
    • 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 et avec Systemd
    • Projet Early-init

Mises en pratique :
- 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

Jour 3 : 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
  • Conclusion
    • Discussions libres sur l’ensemble des thèmes abordés

Mises en pratique :
- configuration d’une machine personnalisée
- création d’un patch sur U-boot pour ajouter des variables personnalisées
- configuration d’un kernel et intégration dans fichier machine
- Personnalisation d’un device tree
- expérimentations suivant les demandes des participants

Télécharger le programme

Le(s) formateur(s)

Christophe BLAESS

Christophe BLAESS

Ingénieur Linux industriel depuis plus de 20 ans, Christophe est intéressé par les aspects bas niveau de Linux (embarqué, temps réel, drivers, etc.) et est attaché aux logiciels libres en général.

Il est l'auteur de plusieurs livres sur Linux (Développement système sous Linux, Écriture de scripts shell sous Linux, Solutions temps réel sous Linux…). Christophe aime partager ses connaissances avec ses pairs et est aussi le créateur de nombreux projets libres sur Github.

Au-delà de ses activités d'ingénierie (développement, mise au point de systèmes embarqués, conseil et assistance technique) et de formation, Christophe organise régulièrement différentes manifestations sur Linux embarqué (Paris embedded meetup et Live embedded event notamment).

Voir son profil détaillé

FAQ

Nos formations sont éligibles à plusieurs dispositifs de financement, selon votre situation. Human Coders est certifié Qualiopi, ce qui permet la prise en charge par des organismes comme Pôle emploi, votre OPCO ou encore le CPF (Compte Personnel de Formation) pour certaines formations.

Pour en savoir plus, veuillez consulter notre page : Comment financer votre formation ?

Oui, la formation peut être proposée en présentiel ou en distanciel. Pour les inter-entreprises, les modalités (présentiel ou à distance) sont fonction de la session.

Nous pouvons organiser des sessions à d'autres dates ou dans d'autres villes (Bordeaux, Lille, Lyon, Marseille, Montpellier, Nantes, Nice, Paris, Strasbourg, Toulouse...)

Les formations se déroulent toujours en petit groupe de 3 à 6 stagiaires. Nous souhaitons que les formateurs et formatrices puissent passer un maximum de temps avec chacun·e.

Voici une journée type :

  • 9h : vous êtes accueillis par votre formateur·rice autour d'un petit déjeuner (croissants, pains au chocolat, jus de fruit, thé ou café...)
  • 9h30 : la formation commence
  • 12h30 : pause de midi. Le·a formateur·rice mangera avec vous. C'est l'occasion d'avoir des discussions plus informelles.
  • 14h : reprise de la formation
  • 18h : fin de la journée

8 raisons de participer à une formation Human Coders

  • Satisfaction client élevée : Un taux de statisfaction de 4,6/5 depuis 2012 (sur 1646 sessions réalisées). 99% des participants se disent satisfaits de nos formations
  • Approche pédagogique unique : Des formations en petit groupe, des formateurs passionnés et expérimentés, de véritables workshops... (Plus d'infos sur notre manifeste)
  • Catalogue de formations complet : 170 formations au catalogue, de quoi vous accompagner sur tout vos projets
  • Écosystème dynamique : Nous accompagnons les dev depuis 13 ans avec des initiatives comme Human Coders News, les Human Talks, le podcast ou encore notre serveur Discord
  • Financement facilité : Organisme certifié Qualiopi, indispensable pour que vous puissiez obtenir des aides au financement via votre OPCO
  • Références clients prestigieuses : De nombreux clients qui nous font confiance depuis des années
  • Accompagnement sur mesure : Nous vous proposons un accompagnement personnalisé par nos consultants pour vous aider dans vos projets au-delà de la formation
  • Valorisation professionnelle : Remise d'un diplôme, d'une attestation et d'une certification, suivant les formations effectuées, que vous pourrez afficher sur vos CV et réseaux sociaux

* Nombre de personnes ayant répondu au questionnaire de satisfaction sur cette formation depuis 2012