KataOS : Google aussi veut pousser Rust vers l’embarqué

KataOS Sparrow Google Antmicro

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 emmè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 crate (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 (framework d’intégration de racines de confiance matérielles). Pour le moment, on est sur une plate-forme plus standard : Arm64, via QEMU.

L’ensemble des briques publiées à 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 (framework de développement sur microkernels). 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 consisterait à lui substituer un framework Rust natif comme embassy. Il est aussi question, dans la même logique de réduction d’empreinte, de remplacer les templates C par du code Rust.

Photo d’illustration : carte de développement Antmicro sur base Qualcomm Snapdragon 845