Eris Linux, une distribution industrielle pour l’embarqué

Publié par cpb
Août 25 2026

Eris Linux est une distribution Linux industrielle prévue spécifiquement pour les systèmes embarqués. Elle est simple à utiliser et à mettre en œuvre sur un parc de machines, et simplifie la conformité aux exigences du Cyber Resilience Act.

Je souhaite dans cet article vous présenter les principes détaillés d’Eris Linux. Dans les prochains articles, nous verrons comment l’installer sur une carte embarquée du commerce (Raspberry Pi 5), comment y installer des applications de démonstration, comment développer et déployer son propre code « métier » applicatif et comment le déboguer.

Soyons transparents : je suis l’initiateur et l’un des principaux développeurs d’Eris Linux. Il s’agit d’un projet professionnel, qui peut être utilisé totalement gratuitement sur des petites séries de cartes embarquées disponibles « sur étagère » comme les Raspberry Pi par exemple. Le portage sur une carte personnalisée ou le déploiement de code sur de grosses séries de cartes sont en revanche proposés via un support commercial.

Je souhaite tout d’abord rendre hommage à mon ami Pierre Ficheux, qui nous a quittés il y a quelques mois et qui était partie prenante dans Eris. La plupart des lecteurs de ce blog ont très probablement déjà lu ses articles ou ses livres, déjà suivi ses cours, entendu ses nombreuses conférences ou l’ont peut-être croisé lors de ses interventions en entreprise. Interlocuteur chaleureux, libriste passionné et rigoureux, c’était l’un des plus grands experts de Linux embarqué. Il suivait avec attention le développement d’Eris Linux et s’apprêtait à participer à la constitution d’une société dédiée à ce projet. Il aurait dû être le premier relecteur de ces articles consacré à Eris, je les écris en pensant à lui.

C’est au cours d’un déjeuner, au printemps 2024, que nous avons posé ensemble le constat à l’origine du projet : pour une entreprise non spécialisée, développer puis maintenir un système Linux embarqué conforme aux standards actuels de qualité et de sécurité est devenu extrêmement complexe.

Complexité de l’embarqué

L’embarqué est un domaine particulier où les équipements sont généralement de puissance réduite (CPU, RAM, Flash) ce qui nécessite une optimisation de la gestion des ressources. Leur fonctionnement peut se faire dans un environnement difficile, tant au niveau matériel qu’au niveau des interactions avec des utilisateurs peu précautionneux voire franchement hostiles. L’alimentation électrique des équipements est souvent non maîtrisée et sujette à des coupures abruptes dont le système doit s’accommoder tout en garantissant un redémarrage correct à tout moment. Enfin, les systèmes étant souvent largement déployés hors de tout contrôle, ils sont facilement attaquables pour une exploitation malintentionnée, ou simplement pour satisfaire la curiosité de concurrents peu scrupuleux.

Pour ces raisons, on n’utilise généralement pas de distribution classique (du type Debian, RedHat, Ubuntu, CentOS, etc.) mais on construit un système sur mesure, n’embarquant que le strict nécessaire, et configuré pour offrir la meilleure résilience possible. En termes de sécurité, le chiffrement des données sensibles est le comportement à adopter par défaut. La configuration fine du système est indispensable pour assurer la résilience aux conditions de fonctionnement difficiles et limiter au mieux le périmètre d’attaque.

Pour construire les systèmes embarqués, deux solutions principales cohabitent : Buildroot et Yocto Project. Buildroot est particulièrement adapté aux projets relativement simples ou nécessitant une prise en main rapide. Yocto Project est souvent retenu pour les produits industriels comportant plusieurs variantes matérielles ou logicielles et devant être maintenus sur une longue durée.

Pour une entreprise dont l’informatique n’est pas le cœur de métier, encore moins Linux, surtout pour ses aspects embarqués, la création d’un système avec Yocto et sa maintenance sur le long terme sont une véritable épreuve, nécessitant un investissement lourd en formation de personnel ou en sous-traitance de son projet. J’anime des sessions de formation sur Yocto Project depuis une dizaine d’années et je peux témoigner de l’intérêt mais également de la difficulté pour les développeurs à assimiler et intégrer les subtilités de cet environnement.

Outre la complexité inhérente aux composants de l’environnement Yocto Project (syntaxe des recettes de BitBake, compatibilité et dépendances des layers, ressources nécessaires et temps de compilation…) s’ajoutent les modifications régulières dues à l’aspect vivant et évolutif de Yocto (un exemple récent est l’abandon de la maintenance de la branche principale du dépôt Poky).

L’emploi de Yocto Project nécessite une veille technologique et une adaptation qu’il ne faut pas négliger d’autant que la maintenance d’un projet embarqué sur le long terme (trop souvent oubliée jusqu’ici) devient indispensable pour répondre aux exigences du Cyber Resilience Act.

Cyber Resilience Act

Le CRA, ou Cyber Resilience Act, est un règlement européen établissant des exigences de cybersécurité pour les produits comportant des éléments numériques commercialisés dans l’Union européenne. Il impose notamment aux fabricants de prendre en compte la sécurité dès la conception du produit et de prévenir les autorités via la plateforme européenne de signalement en cas de découverte d’une vulnérabilité activement exploitée dans un produit commercialisé (une alerte initiale générale au plus tard 24h après la découverte et une notification complète dans les 72h). Les utilisateurs affectés doivent également être informés de la vulnérabilité ainsi que des mesures correctives ou de réduction des risques qu’ils peuvent appliquer.

Il oblige également à corriger les vulnérabilités découvertes sans retard et à fournir gratuitement des mises à jour de sécurité pendant toute la période de support raisonnablement attendue pour le produit (typiquement 5 ans). Le respect de ces exigences devient une condition nécessaire à l’apposition du marquage « CE » sur les produits concernés.

Les principales dispositions du CRA s’appliqueront intégralement à partir du 11 décembre 2027, même si l’obligation de signalement des vulnérabilités rentre en vigueur dès le 11 septembre 2026.

Pour un système embarqué industriel, cela nécessite donc de disposer d’un mécanisme de mise à jour du logiciel (à distance ou non selon les conditions de fonctionnement de l’équipement), et d’assurer une veille régulière des vulnérabilités découvertes sur les composants logiciels embarqués ainsi que des patches correctifs disponibles.

Les entreprises disposant en interne de compétences spécialisées, par exemple d’un expert Yocto ou Linux embarqué, pourront probablement consacrer les ressources nécessaires au suivi des vulnérabilités ainsi qu’à la production et au déploiement des correctifs. En revanche pour les PME, qui constituent l’essentiel de mes clients en prestations d’ingénierie, la mise en conformité risque d’être très difficile : manque de personnel qualifié, de temps disponible pour le suivi et absence fréquente de mécanismes permettant de mettre à jour de manière fiable le système et les applications déjà déployés.

C’est pour ces raisons, la complexité de l’environnement embarqué et les obligations croissantes liées au CRA, qu’a été prise la décision de créer une distribution Linux spécifique pour l’embarqué industriel, facile à utiliser, robuste et résiliente.

Principe d’Eris Linux

Le principe général d’Eris Linux repose sur une base de logiciels système livrés pré-compilés et maintenus sur une base régulière, et sur laquelle le code applicatif (le code « métier ») s’exécute dans des containers sécurisés et isolés de la base système.

J’aime comparer Eris à un porte-container : la base système sous le pont principal est minimale et extrêmement robuste, on y trouve un bootloader, le noyau Linux avec la description du matériel, quelques utilitaires et des bibliothèques système. Au-dessus du pont principal on trouve les containers et le système de mise à jour et de communication avec le Device Manager qui permet la supervision et l’administration distante du parc de matériel.

L’utilisateur d’Eris Linux n’a jamais besoin de construire l’image système, et n’a jamais besoin de se soucier d’autre chose que du contenu de son code métier qu’il développe et déploie dans un container. Une API (Application Programming Interface) lui permet d’accéder depuis un container aux ressources de la carte électronique sous-jacente (capteurs, composants spécifiques, etc.)

L’image système est produite et maintenue par nos soins en respectant les exigences de cybersécurité et de gestion des vulnérabilités du CRA. Eris Linux réduit ainsi fortement le périmètre logiciel que l’utilisateur doit maintenir directement : celui-ci reste principalement responsable de son code applicatif, des composants intégrés dans ses conteneurs et de la sécurité du produit final.

Cette image système et ses mises à jour régulières sont disponibles gratuitement pour les cartes électroniques « sur étagère » les plus courantes. Par exemple dans le prochain article, nous verrons comment installer Eris sur un Raspberry Pi 5. Le portage d’Eris Linux sur une carte spécifique, et sa maintenance régulière sont disponibles sur la base d’un support commercial.

Eris Linux repose essentiellement sur des composants Open Source. L’utilisateur ne souhaitant plus faire appel à nos services peut à tout moment prendre en charge seul la mise à jour de son image, sans bénéficier toutefois des avantages de notre Device Manager.

Code applicatif

Pour le développement du code métier, l’utilisateur s’appuie sur le mécanisme de containers offert par le système Docker.

Contrairement au développement pour des systèmes embarqués classiques, il n’est pas nécessaire d’installer de SDK (Software Development Kit) ni même une chaîne de cross-compilation pour produire du code pour Eris Linux. Le mécanisme BuildX de Docker prend en charge la compilation du code métier et la production d’un container directement compatible avec la carte cible.

Le container ainsi produit est ensuite envoyé sur notre serveur après chiffrement (nous n’avons jamais accès au code embarqué dans les containers de nos clients). L’utilisateur peut ensuite décider de déployer ce container sur toutes ses cartes embarquées ou sur une partie d’entre elles (en gérant des groupes d’équipements). Les containers chiffrés ne seront déchiffrés qu’une fois arrivés sur les cartes embarquées. Le mécanisme de mise à jour et de déploiement des containers sera présenté dans un prochain article de cette série consacrée à Eris Linux.

Le Device Manager d’Eris est la plateforme utilisée pour recevoir des informations en provenance des équipements déployés (status, temps de fonctionnement, charge du système, état des containers, etc.) et pour déployer les containers. Ce Device Manager est typiquement accessible par Internet, mais pour les systèmes n’ayant pas de contact avec Internet, il est possible d’installer un Device Manager dédié sur un réseau fermé, voire de faire les déploiements et mises à jour manuellement (via une clé USB par exemple).

Conclusion

Pour une PME souhaitant concevoir, déployer et maintenir un système Linux embarqué en répondant aux exigences du CRA, Eris Linux offre de multiples avantages :

  • Pas besoin d’utiliser Yocto Project, pas besoin de construire l’image système de Linux, il suffit d’installer une image précompilée disponible gratuitement (pour les cartes disponibles sur étagère) ou développée spécifiquement par nos soins pour supporter une carte personnalisée.
  • L’image de base du système est mise à jour régulièrement, en appliquant les correctifs disponibles dès qu’une vulnérabilité exploitable est découverte, contribuant à la mise en conformité du produit avec le CRA.
  • Le développement du code métier se fait dans un environnement minimal, isolé du système, en disposant des ressources grâce à une API spécifiquement prévue pour Eris Linux.
  • La programmation applicative est simplifiée grâce à Docker BuildX qui évite toute la complexité liée à l’utilisation d’une chaîne de cross-compilation.

Eris Linux permet à une PME de concentrer ses ressources sur la valeur fonctionnelle de son produit, tout en s’appuyant sur un socle Linux embarqué maintenu, actualisable et administrable à l’échelle d’un parc.

Pour en savoir plus sur Eris Linux ou sur le portage sur votre carte spécifique, n’hésitez pas à me contacter. Vous pouvez tester facilement et gratuitement Eris sur une carte du commerce en créant un compte sur www.eris-linux.net et en suivant les instructions de l’onglet « Documentation », ou en suivant les opérations décrites dans le prochain article de ce blog.

Nous sommes actuellement à la recherche d’entreprises partenaires qui pourront profiter de conditions commerciales avantageuses en échange de leur retour d’expérience nous permettant de faire progresser Eris Linux.

Précédent :