Créer un système Linux embarqué avec Yocto Project
Environnement Linux embarqué
Concepts, composant, 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
Syntaxe des recettes .bb, création d’une recette d’image, utilisateurs et passwords
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 système à processeur ARM 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 patches
Patch sur un fichier de donnée d’une recette, patch 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 patches 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, etc.)
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
Conclusion
Discussions libres sur l'ensemble des thèmes abordés
Travaux pratiques
Expérimentations libres suivant les demandes des participants