Cette Atari Jaguar de 1993 boote sous Linux avec 2 Mo de RAM

Wait 5 sec.

Une Atari Jaguar, la console de 1993 qu'Atari vendait comme la première machine 64 bits et que le marché a snobée, vient de booter sous Linux pour la première fois ! Derrière ce hack, un développeur connu sous le pseudo deCakehonolulu, qui a collé un vrai noyau sur le Motorola 68000 de la bécane.Le 68000 n'a pas deMMU, ce circuit qui gère la mémoire virtuelle et dont dépend le Linux que vous faites tourner sur votre PC. Sauf que le noyau embarque depuis toujours une branche pour les puces qui en sont privées, l'antiqueμClinux, et c'est elle qui fait tout le taf ici.La Jaguar offre seulement 2 Mo de RAM et jusqu'à 6 Mo de ROM sur la cartouche, du coup Cakehonolulu a coupé le noyau en deux : le code qui ne bouge pas, le .text et le .rodata, reste dans la ROM et s'exécute directement depuis là en XIP, pendant que les données qui changent atterrissent dans les 2 Mo de RAM. Bref, chaque octet compte.Après, ce n'était pas simple non plus parce que le 68000 ne sait pas lire une donnée qui serait mal alignée en mémoire. Alors que les processeurs modernes savent le faire sans broncher. Et comme le cross-compilateur d'Ubuntu générait quand même ce type de données mal alignées, alors qu'on lui précise bien que la cible c'était un 68000, ça faisait des plantages en cascade.L'astuce a donc été de recompiler tout le toolchain à la main, puis de bâtir un user space minimal avec BusyBox et uClibc, tout ça en binaire FLAT au lieu du classique format ELF.Et voilà, la Jaguar affiche maintenant fièrement ses 1,04 BogoMIPS. Soit une puissance de feu qui ferait chialer une calculatrice. Mais bon, elle boote et c'est le principal. Si vous avez encore une Jaguar dans un placard, vous pouvez parfaitement installer ça dessus, puisquele code est disponible sur GitHub.Voilà, c'est assez génial parce qu'en fait, ça montre bien que Linux est vachement résilient. On est en 2026 et pourtant, le support des 68000 est encore présent dans le noyau, et bien vivant même !Voilà, tant que ce bon vieux noyau gardera tous ses vieux pilotes, eh bien n'importe quelle console oubliée pourra toujours renaître avec un petit terminal dessus. Et ça, je trouve que ça clôt tous les débats sur la conservation et le poids du code legacy dans le kernel.Source