Avec la version 7.0 de son système d’exploitation Linux industriel ELinOS, l’éditeur franco-allemand Sysgo se met au goût du jour en introduisant dans sa distribution une fonctionnalité de gestion de conteneurs, en l’occurrence ici Docker, de plus en plus fréquemment utilisée par les développeurs d’applications embarquées.... Désormais ces derniers peuvent avec ELinOS intégrer un nombre illimité d'images Docker, qui peuvent être téléchargées sur le Net. Ce qui leur permet de fournir rapidement à la cible une variété de services supplémentaires.
Rappelons que Docker est un logiciel libre (sous licence Apache 2.0) qui permet de manipuler des conteneurs qui isolent des processus logiciels les uns des autres afin de créer une sorte de virtualisation de haut niveau. Docker offre en fait la possibilité de packager une application ou un ensemble de services dans des conteneurs qui sont des instances d’une application contenant toutes les bibliothèques et composants nécessaires à son fonctionnement. On peut voir ces conteneurs comme des machines virtuelles qui fonctionnent indépendamment du système d’exploitation sur lequel une application ou un service spécifique est exécuté. Un conteneur Docker est généré à partir d’une image qui est le résultat de l’application ou du service packagé et qui peut contenir un système d’exploitation complet ou des applications préinstallées. Si bien qu’à partir d’une seule image, le conteneur se met à fonctionner.
ELinOS 7.0 s’appuie sur le noyau Linux 4.19 avec un "support à long terme" (LTS) dont le cycle de vie a été récemment prolongé par la fondation Linux jusqu'en décembre 2024. Les versions du noyau Linux LTS (Long Term Support) sont accompagnées par Sysgo de la prise en charge des applications embarquées de longue durée via la proposition ELinOS Security Services, grâce à laquelle les utilisateurs reçoivent régulièrement des rapports sur les failles de sécurité récemment découvertes.
Au-delà, l'intégration d'ELinOS en tant qu'invité sur le système d'exploitation temps réel au sein de l’hyperviseur PikeOS de la société a été simplifiée via la prise en charge de “pools” personnalisés dans PikeOS. ELinOS s'exécute nativement sur un système cible, mais également en tant qu'instance sous PikeOS, ce qui permet à un logiciel à temps critique d’être exécuté en parallèle à ELinOS sans effet sur les applications pour la sécurité. Dans ce cadre, l'interaction entre PikeOS et ELinOS a été améliorée, la distribution contenant l'environnement de compilation croisée précompilé pour démarrer directement avec le développement système. Un système de “build” avec des packages précompilés autorise des délais plus courts dans les phases de développement critiques, et les scripts permettent la mise en œuvre de scénarios de “build” et de test en un seul clic.
Parallèlement, l’environnement de développement graphique Codeo a été mis à jour avec la prise en charge d'ELinOS 7.0 ainsi que du compilateur open source gcc version 8.3 et de l’outil binutils version 2.31. La bibliothèque standard glibc est également disponible dans sa version 2.28. Parmi les autres fonctionnalités nouvelles d'ELinOS 7.0, on notera le passage au langage Python 3, la prise en charge de la fonction PAM (Pluggable Authentication Modules) dans tous les outils de connexion et la prise en charge native des systèmes de développement 64 bits sous Windows et Linux.
Enfin, le support des plates-formes matérielles a également été étendu dans la version 7.0 d’ELInOS, au-delà des BSP pour les plates-formes x86, x86-64, Power e500, e500mc et e5500, Arm v7hf et v8 (64 bits), avec les cartes Raspberry Pi 3B+ 64 bits et des BSP pour la plate-forme d'évaluation et de développement i.MX 8 QXP MEK de NXP.