Développement Linux embarqué avec le projet Yocto
Qu’est-ce que le Yocto Project ?
Le projet Yocto est un projet collaboratif open source soutenu par la Linux Foundation, qui aide les développeurs à créer des systèmes personnalisés basés sur Linux, quelle que soit l’architecture matérielle. Un BSP Linux personnalisé peut également optimiser les performances de vos appareils embarqués et simplifier l’intégration matérielle.
Le projet Yocto fournit un ensemble flexible d’outils et un espace soutenu par une communauté où les développeurs embarqués du monde entier peuvent partager des technologies, des piles logicielles, des configurations de projet, des outils, des paquets et des bonnes pratiques. Ceux-ci peuvent être utilisés pour créer des images Linux adaptées aux appareils embarqués, ou partout où un système d’exploitation (OS) Linux personnalisé est nécessaire.
Le projet Yocto repose sur différents calques de scripts (Layer Model) pour configurer l’image finale. Ces différents calques peuvent être ajoutés ou supprimés selon les besoins. De nombreux calques sont disponibles en ligne, ce qui facilite le développement de cartes – en particulier les calques conçus par les fondateurs et fabricants des cartes.
Poky est une distribution de référence au sein du projet Yocto. Elle constitue un point de départ pour créer des distributions Linux personnalisées à l’aide des outils et métadonnées du projet Yocto. Poky contient un ensemble d’outils, de paquets de base et de métadonnées tels que BitBake, le moteur de construction, et OpenEmbedded-Core, le cœur des métadonnées du système de build.
Outre la génération d’images complètes du système dans le format souhaité, le projet Yocto permet également une certaine granularité – générer le bootloader, le noyau, le système de fichiers racine et la toolchain.
Le projet Yocto fournit un ensemble flexible d’outils et un espace soutenu par une communauté où les développeurs embarqués du monde entier peuvent partager des technologies, des piles logicielles, des configurations de projet, des outils, des paquets et des bonnes pratiques. Ceux-ci peuvent être utilisés pour créer des images Linux adaptées aux appareils embarqués, ou partout où un système d’exploitation (OS) Linux personnalisé est nécessaire.
Le projet Yocto repose sur différents calques de scripts (Layer Model) pour configurer l’image finale. Ces différents calques peuvent être ajoutés ou supprimés selon les besoins. De nombreux calques sont disponibles en ligne, ce qui facilite le développement de cartes – en particulier les calques conçus par les fondateurs et fabricants des cartes.
Poky est une distribution de référence au sein du projet Yocto. Elle constitue un point de départ pour créer des distributions Linux personnalisées à l’aide des outils et métadonnées du projet Yocto. Poky contient un ensemble d’outils, de paquets de base et de métadonnées tels que BitBake, le moteur de construction, et OpenEmbedded-Core, le cœur des métadonnées du système de build.
Outre la génération d’images complètes du système dans le format souhaité, le projet Yocto permet également une certaine granularité – générer le bootloader, le noyau, le système de fichiers racine et la toolchain.
Les principaux défis du projet Yocto pour Linux embarqué

Complexité du domaine
Développer dans un environnement Yocto implique que l’équipe de développeurs maîtrise déjà : l’environnement Linux, les distributions Linux embarquées bien connues et les composants système (séquence de démarrage, paquets logiciels, configuration du noyau, Device Tree, …) le développement lié au matériel (le développeur doit garantir la fonctionnalité de chaque brique matérielle avec le système embarqué, comme la mémoire non-volatile, les périphériques externes, les composants, …)

Courbe de montée en compétence sur le projet Yocto
Le système de build du projet Yocto est un ensemble très flexible et personnalisable, mais il présente une courbe d’apprentissage abrupte. Il existe de nombreuses façons d’accomplir des tâches similaires pour créer des systèmes Linux personnalisés, et il peut être difficile de choisir entre ces différentes approches tout en gardant une base de code propre et maintenable pour l’avenir. Avant de décider de former votre équipe aux outils du projet Yocto, préparez-vous à une montée en compétences d’au moins un an pour les systèmes Linux embarqués.

Comprendre les modifications nécessaires demande de la recherche
Au-delà du simple stade du tutoriel pour créer une distribution Linux personnalisée avec le projet Yocto, comprendre quelles modifications doivent être apportées pour un design spécifique peut nécessiter une quantité importante de recherche et d’investigation. Le Yocto Mega Manual issu du projet collaboratif open-source est une aide précieuse, mais seule l’expérience et l’expertise des développeurs embarqués permettent de réduire le temps de développement de votre projet.
Éléments clés à considérer pour vos développements Yocto Linux
Configuration de la machine
Voici les contraintes matérielles à définir pour une machine Yocto :
- Quel fournisseur de MPU est utilisé ? Quelle famille de référence ?
- Quels sont les périphériques connectés à votre unité de protection mémoire (MPU) ?
- Comment la mémoire est-elle configurée ?
- Exigences cybersécurité : Secure boot, éléments de confiance, chiffrement, …
Distribution Linux embarquée
Ces éléments définissent la politique de configuration du build :
- Version du noyau Linux
- Partitions et type de système de fichiers
- Gestion des services (systemd, …)
Configuration de l’image du noyau Linux
Contenu de l’image finale qui sera flashée sur les appareils embarqués et IoT :
- Build de l’application finale
- Toutes les dépendances nécessaires
- En général, au moins 3 images Linux embarquées sont définies pour un même projet : développement, test et production
SUCCESS STORY
W. H. Leary Co. fait évoluer un système industriel automatisé avec Yocto
W. H. Leary devait migrer son système d’exploitation et son noyau en raison de l’obsolescence du processeur et de l’OS utilisés. La plateforme Monet – qui automatise le système de fabrication d’emballages de classe mondiale de l’entreprise – est une composante essentielle de son offre, et une attention particulière devait être portée à la facilité d’utilisation et à la durabilité du système de build. Après une phase d’ateliers de conseil approfondis, W. H. Leary a choisi le concept d’architecture et l’équipe de développement de Witekio pour réaliser :
- La réinvention d’un système de traitement temps réel, depuis les couches basses
- Le développement du BSP Yocto, la migration de l’OS, et le support de la localisation linguistique
- L’intégration d’une interface graphique pour une expérience utilisateur fluide
- L’optimisation du système Linux embarqué et la documentation
Witekio peut accompagner vos développements Yocto Linux
Dix ans d’expérience. Des centaines de produits développés. Une collaboration étroite avec la communauté open-source. Membre de la Linux Foundation. Notre connaissance approfondie de Yocto Linux est inégalée. C’est pourquoi Witekio est régulièrement choisi pour accompagner la mise sur le marché de produits Linux embarqués.
Nous concevons des solutions basées sur Yocto parfaitement adaptées aux besoins spécifiques de votre projet Linux embarqué. Qu’il s’agisse d’optimiser les performances, d’assurer la conformité logicielle ou de simplifier les cycles de développement, notre expertise garantit les meilleurs résultats pour votre projet. Collaborez avec Witekio pour faire passer vos dispositifs embarqués et IoT sous Yocto au niveau supérieur.
Nous concevons des solutions basées sur Yocto parfaitement adaptées aux besoins spécifiques de votre projet Linux embarqué. Qu’il s’agisse d’optimiser les performances, d’assurer la conformité logicielle ou de simplifier les cycles de développement, notre expertise garantit les meilleurs résultats pour votre projet. Collaborez avec Witekio pour faire passer vos dispositifs embarqués et IoT sous Yocto au niveau supérieur.
Notre expertise en logiciel embarqué

Votre partenaire de confiance en logiciel embarqué, applications et connectivité
4 Pays
4 Pays
Certifies ISO 27001
Certifies ISO 27001
