Résumé :
Développer un noyau de système d'exploitation à partir de zéro prend généralement plusieurs années à une équipe d'ingénieurs expérimentés. Cependant, Gregory Kurtzer, co-fondateur de CentOS et initiateur du projet Rocky Linux, a récemment démontré un résultat assez particulier : il a utilisé des agents d'intelligence artificielle pour créer un nouveau noyau de système d'exploitation Ginux en seulement 11 jours. Ce noyau n'utilise aucun code du noyau Linux, mais il peut déjà démarrer Rocky Linux 10. Bien qu'il s'agisse encore d'un prototype de recherche, ce projet montre une nouvelle possibilité pour l'IA de participer au développement de logiciels sous-jacents complexes.

Kurtzer a annoncé le projet Ginux pour la première fois la semaine dernière via la plateforme sociale X. Le code correspondant a également été téléchargé sur GitHub et a adopté la licence open source Apache 2.0. Le nom Ginux combine les trois éléments de Linux, GPT et Greg. L'introduction du projet plaisantait même en disant que pour éviter que l'auteur ne se vante trop de lui-même, la lettre G devrait être interprétée comme GPT.
Ginux n'est pas un fork de Linux et ne copie pas non plus les composants du noyau à partir du code Linux existant. Ses fonctions de gestion de la mémoire, de planification des processus, de système de fichiers et de réseau sont toutes écrites à partir de zéro et principalement développées à l'aide du langage Rust. Ce qu'il partage réellement avec Linux, c'est l'Application Binary Interface (ABI). C'est-à-dire que Ginux simule l'interface système fournie par Linux avec le logiciel, de sorte que les programmes initialement écrits pour Linux puissent s'exécuter sans modifier le code.
Le développeur du projet décrit cette conception comme suit : Linux n'est pas seulement une implémentation du noyau, mais peut également être considéré comme une "personnalité" ou un environnement de compatibilité présenté par le noyau au logiciel d'application. Actuellement, Ginux n'implémente que le mode de compatibilité Linux, et la possibilité d'ajouter le mode de compatibilité BSD n'est pas exclue à l'avenir.
Cependant, Ginux est encore loin d'être totalement compatible avec Linux. Selon la documentation du projet, en prenant l'interface x86-64 de Linux 6.12 comme référence, seuls 82 de ses 375 appels système ont été entièrement implémentés, 245 autres ne peuvent fonctionner que partiellement et les 48 restants sont intentionnellement définis pour être indisponibles. Cela signifie que même s'il peut déjà exécuter certains logiciels Linux existants, il ne peut pas encore être considéré comme un remplacement Linux à usage général et mature.
Ginux introduit également un ensemble de mécanismes d'isolation appelés « Domaines ». Le logiciel s'exécute dans un environnement isolé et chaque domaine dispose de processus, d'espace mémoire et de systèmes de fichiers indépendants. Le projet espère que ce mécanisme fournira des limites d'isolement plus solides que les conteneurs traditionnels. Cependant, Ginux peut toujours utiliser des images de conteneurs OCI standard pour créer des systèmes de fichiers pour chaque domaine. C'est ainsi qu'il a pu charger Rocky Linux 10 et avancer le démarrage du système vers la cible multi-utilisateur systemd.
L'aspect le plus intéressant de cette évolution est le rôle de l'intelligence artificielle. Kurtzer appelle son approche « ingénierie agentique dirigée par l'homme » dans un rapport technique. Il est chargé de déterminer l'architecture globale, de formuler les phases de développement et les critères d'acceptation, tandis que l'agent d'intelligence artificielle est responsable de la plupart des travaux d'exécution ultérieurs, notamment l'écriture du code, le démarrage du noyau, l'exécution des tests et la modification du code après la découverte de problèmes.
L'ensemble du processus est complété par une tâche OpenAI Codex exécutée en continu, et le modèle utilisé est GPT-5.6 Sol. En 11 jours, AI a généré un total d’environ 139 000 lignes de code et de contenu de test, et a réalisé plus de 1 000 soumissions de code. Au cours du processus de développement, la distribution réelle Rocky Linux a également joué un rôle important : elle a révélé certains problèmes que les scénarios de test construits artificiellement n'ont pas réussi à détecter lors de son démarrage et de son exécution.
Cependant, Kurtzer n'a pas intégré Ginux dans un système d'exploitation prêt pour la production. À l'heure actuelle, le projet est toujours entièrement exécuté sur la machine virtuelle QEMU. Il ne prend pas encore en charge le démarrage direct sur le matériel physique et ne prend pas en charge les périphériques de stockage GPU et NVMe. De plus, Ginux n'a pas encore fait l'objet d'audits de sécurité indépendants et sa sécurité ne peut pas être entièrement vérifiée.
Kurtzer estime que l'intelligence artificielle a désormais la capacité d'écrire des logiciels système complexes, mais la véritable partie difficile n'a pas disparu. La compatibilité logicielle, la sécurité et les capacités de maintenance à long terme restent des obstacles majeurs qui déterminent la réussite réelle d'un système d'exploitation. En d’autres termes, l’IA peut raccourcir considérablement le processus de développement de codes à partir de zéro, mais elle ne peut pas garantir automatiquement que ces codes sont suffisamment fiables, ni remplacer une vérification technique à long terme.
Dans le même temps, la communauté de développement du noyau Linux tente également progressivement d'introduire des outils d'IA. Le mois dernier, le fondateur de Linux, Linus Torvalds, a utilisé Claude Code pour écrire un ensemble de correctifs expérimentaux de cache de pages, mais les évaluateurs ont découvert plus tard qu'il existait des conditions de concurrence, le code correspondant est donc toujours en cours de révision. À peu près à la même époque, les responsables du noyau Linux ont également accepté de ne plus exiger des contributeurs qu'ils divulguent si leur code était assisté par l'IA.
L'importance de Ginux n'est peut-être pas qu'il puisse remplacer immédiatement Linux, mais qu'il démontre un nouveau modèle d'ingénierie logicielle : les humains sont responsables des objectifs, de l'architecture et des décisions clés, et les agents d'IA sont responsables d'une grande quantité de travaux spécifiques de mise en œuvre et de tests. Des systèmes complexes qui prenaient autrefois des années à prendre forme peuvent désormais disposer d’un prototype fonctionnel en une fraction du temps. Cependant, le chemin d'ingénierie est encore long pour passer d'un prototype à un système d'exploitation véritablement fiable, capable de s'adapter à une large gamme de matériels et d'être maintenu sur le long terme.
Commentaires