Linux embarqué

Yocto, développer son propre système embarqué sous Linux

Objectifs de la formation

  • Connaître le rôle des différents éléments de Yocto Project
  • Savoir générer une image Linux embarqué standard pour une carte cible
  • Savoir ajouter des packages et personnaliser le contenu d'une image Linux
  • Savoir utiliser le SDK de Yocto pour développer du code applicatif personnalisé


Programme de la formation

Créer un système Linux embarqué

  • Environnement Linux embarqué : concepts, composants, outils de génération, Buildroot et Yocto Project.
  • Production d’une image standard : environnement de travail, Poky, configuration, layers spécifiques, outil BitBake…
  • Composition d’un système Linux embarqué : matériel, bootloader, noyau Linux, processus init, scripts de démarrage.

Travaux pratiques

Installation de Poky et meta-raspberrypi, production d’une image standard.

Personnalisation du système embarqué

  • Découverte et analyse du système : connexion, systèmes de fichiers, arborescence standard, boot.
  • Personnalisation de l’image : fichier .bb, syntaxe des recettes, création d’une recette d’image, users et mots de passe.
  • Ajout de packages : packages standards de Poky, fournis par OpenEmbedded, configuration de BusyBox.

Travaux pratiques

Production d’une image complète et personnalisée pour Raspberry Pi 4 avec des packages fournis par Poky et meta-openembedded.

Configuration avancée du système

  • Extension de recettes : fichiers .bbappend, surcharge de fichiers de recettes, configuration réseau statique.
  • Création et application de patchs : sur un fichier de donnée d’une recette, sur un fichier source à compiler.
  • Noyau Linux et Device Tree : configuration du noyau, création de patch sur le noyau, sur le Device Tree.

Travaux pratiques

Extensions et patchs pour base-files, init-ifupdown, nano, BusyBox, kernel…

Développement du code métier

  • Installation du SDK : production, extraction et installation du SDK de Yocto.
  • Compilation du code applicatif : examen de la toolchain, scripts d’initialisation, cross-compilation de code personnel.
  • Débogage et mise au point : débogage distant avec gdbserver, outils de mise au point (gprof, valgrind, gcov...).
  • Intégration du code métier dans l’image : recettes, lancement au démarrage.

Travaux pratiques

Écriture, débogage et intégration d’un code métier dans l’image.

Please login to get access to the quiz
BSP UBoot et Linux embarqué (Prev Lesson)
(Next Lesson) Systèmes embarqués, programmation assembleur ARM
Back to Linux embarqué
Public

Architecte ou ingénieur devant porter Linux sur un nouveau matériel ou étendre un système embarqué.

Pré-requis

Avoir des notions de programmation. Connaissance de Linux (niveau utilisateur).