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.