Journal [Bookmark] Faire tourner Linux sur un micro-contrôleur 8-bit

Posté par  (site web personnel) . Licence CC By‑SA.
Étiquettes :
32
20
sept.
2016

Ah! Hackernews! On y voit passer de petites perles quand même.

Comme par exemple, ce matin, je tombe sur cet article qui explique la démarche complète pour faire tourner une Ubuntu Jaunty (on est sur de la vieille version) sur un micro-contrôleur 8-bit, rien que ça !

Pour une petite traduction en mode TL;DR, il explique les prérequis pour pouvoir exécuter un noyau linux et booter une distribution :

  • CPU 32 bits, avec support du MMU (Memory Managment Unit, utilisé pour la pagination de la mémoire)
  • 1 MB de RAM pour charger au moins le kernel

En utilisant :

  • un micro-contrôleur ATmega1284p (6-7€)
  • une vieille barrette de RAM SIMM, utilisé à l'époque des processeurs 80286 (16Mo pour 5-6€)
  • une carte SD de 1GB (on trouve 16Go pour ~10€)
  • un peu de code pour émuler l'ARM sur le micro-contrôleur, afin de fournir le support du MMU

Il arrive à un résultat, certes lent, mais très impressionnant ! 2h pour booter un bash (init=/bin/bash) et plus de 4h pour booter la distribution complète (exec init; login).

Là ou je trouve ce projet super intéressant, c'est qu'en plus d'être open source/open hardware, l'architecture est suffisamment simple pour pouvoir montrer le fonctionnement basique d'une carte mère.

Un DIY qui me semble peu chèr, que je vais très certainement essayer dans mon coin !

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.