Buildroot ou Yocto pour bâtir un Linux embarqué ? Les deux, répond Pierre Ficheux de SmileOn le sait, la construction d’un système d’exploitation Linux embarqué est très éloignée de l'utilisation habituelle de Linux, basé sur des “distributions” fournies par des éditeurs commerciaux (Red Hat, SuSE, etc.) ou des... communautés (Debian, Ubuntu, etc.). Car l'utilisation d'une distribution générique incluant des milliers de composants binaires n'est souvent pas acceptable dans des systèmes embarqués avec des besoins forts en termes d'optimisation, de traçabilité et de sécurité. Une tendance qui ne fera que s'amplifier avec le développement attendu de l’Internet des objets. Il faut donc, pour ces domaines d’application, mettre en œuvre des outils nommés “build systems” (outils de construction) permettant de produire - à partir du code source des composants - un système Linux optimisé sur la base de spécifications strictes, tant au niveau de l'espace mémoire utilisé que de la sécurité de fonctionnement. Ecrit par Pierre Ficheux, directeur technique chez Smile, intégrateur de solutions open source, un livre blanc très détaillé d’une cinquantaine de pages apporte sur ce sujet un éclairage technique, pragmatique et indépendant d'un éditeur commercial. Il permet d'évaluer les deux grands outils actuels de construction d’un Linux embarqué, Buildroot et Yocto (avec en particulier des résultats de tests réels effectués sur la plate-forme matérielle Raspberry Pi). Pour Pierre Ficheux, le projet Yocto est aujourd'hui le plus fréquemment utilisé car porté par les leaders de l'industrie du matériel et du logiciel dont Intel, Mentor Graphics, TI, NXP/Freescale ou Wind River. Yocto est un outil modulaire fonctionnant en couches logicielles que l'on assemble en fonction des besoins en matière de cible matérielle, d'interfaces homme/machine ou d'applications métier. Attention toutefois, souligne Pierre Ficheux, il nécessite un investissement non négligeable pour sa prise en main : au minimum un mois pour un ingénieur expérimenté dans le domaine Linux industriel. Cependant son approche très modulaire et sa large utilisation du principe d'héritage en fait un outil puissant pour la maintenance d'une offre logicielle variée (plusieurs cartes et plusieurs projets). Le projet Buildroot, de son côté, a la même approche mais il est plus simple d'accès. Porté par une communauté plus modeste et non financée par des géants de l'industrie, il permet de mettre en place un firmware basé sur une distribution Linux allégée. Buildroot peut par exemple, toujours selon Pierre Ficheux, très bien convenir dans le cas d'un système simple pour lequel la gestion de paquets n'est pas nécessaire. Cependant il a tout de même quelques limitations quant à l'intégration de composants externes si l'on compare aux fonctionnalités de Yocto. Le livre blanc complet de Pierre Ficheux peut être téléchargé directement sur le site de Smile ici. |