Google ouvre la communication à propos de KataOS, son véhicule open source pour acheminer Rust vers le monde de l’embarqué.
Pousser Rust vers les systèmes embarqués ? En la matière, les initiatives ne manquent pas. Google amène l’une d’entre elles… et vient d’accentuer la communication à son propos. Sous deux marques : Sparrow et KataOS. La première pour le projet ; la seconde pour son cœur fonctionnel.
On n’est pas parti de zéro. Le groupe américain s’est en l’occurrence appuyé, en association avec un spécialiste de l’embarqué, sur un Caisse (unité de compilation) adossé à seL4. Le projet, dormant, n’était plus compatible avec les dernières versions du micronoyau. Il a donc été mis à jour… et enrichi avec, notamment, un serveur de gestion dynamique de la mémoire. Il en résulte KataOS, écrit quasi intégralement en Rust.
Sparrow doit constituer une implémentation de référence. Elle ciblera à terme l’architecture RISC-V, en exploitant OpenTitan (cadre d’intégration de racines de confiance matérielle). Pour le moment, on est sur une plate-forme plus standard : Arm64, passant par QEMU.
L’ensemble des briques publié à l’heure actuelle le sont sous licence Apache 2.0. Le code actuellement disponible n’inclut pas, entre autres, la capacité d’exécution d’applications tierces hors de CAmkES (cadre de développement sur micro-noyaux). Ce dernier a une empreinte mémoire telle que l’objectif initial – que KataOS tienne sur 4 Mo de RAM – n’est pas encore atteint. L’une des pistes consistait à lui substituer un cadre Rouille natif comme ambassade. Il est aussi question, dans la même logique de réduction d’empreinte, de remplacer les modèles C par du code Rouille.
Photo d’illustration : carte de développement Antmicro sur base Qualcomm Snapdragon 845