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 !
# Emulation d'un CPU 32-bits sur MCU 8-bits
Posté par Frédéric COIFFIER . Évalué à 10.
Comme tu le dis, les pré-requis pour Linux est un CPU 32-bits avec MMU.
Il émule donc un CPU 32-bits et une MMU sur le micro-contrôleur 8-bits !
[^] # Re: Emulation d'un CPU 32-bits sur MCU 8-bits
Posté par martoni (site web personnel, Mastodon) . Évalué à 2.
Visiblement oui, mais le résultat reste un Linux qui tourne sur un microcontrôleur 8bits.
J'aime beaucoup le temps de boot de 4h !
J'ai plus qu'une balle
[^] # Re: Emulation d'un CPU 32-bits sur MCU 8-bits
Posté par aiolos . Évalué à 3.
Le temps de boot c'est 2h pour le bash et 4h de plus pour ubuntu « exec init and login »… et encore plus pour X, dit-il :-D
[^] # Re: Emulation d'un CPU 32-bits sur MCU 8-bits
Posté par David Delassus (site web personnel) . Évalué à 1.
Faut savoir être patient dans la vie, ça laisse le temps d'aller se faire un long café.
https://link-society.com - https://kubirds.com - https://github.com/link-society/flowg
[^] # Re: Emulation d'un CPU 32-bits sur MCU 8-bits
Posté par Francois Revol (site web personnel) . Évalué à 1.
Sinon sur du 8/16 bits il y avait à une époque ELKS (Embedded Linux Kernel Subset). Et uCLinux mais probablement pour du 32bit.
[^] # Re: Emulation d'un CPU 32-bits sur MCU 8-bits
Posté par Ph Husson (site web personnel) . Évalué à 2.
À ma connaissance (mais j'ai peut-être rien compris) uClinux ne consistait ""que"" en un Linux sans MMU, ce qui a depuis été mergé dans mainline.
[^] # Re: Emulation d'un CPU 32-bits sur MCU 8-bits
Posté par Francois Revol (site web personnel) . Évalué à 8.
Ça me rassure, du coup mon portage de Haiku sur Amiga/Atari prendra moins de 4h pour booter :D
[^] # Re: Emulation d'un CPU 32-bits sur MCU 8-bits
Posté par 🚲 Tanguy Ortolo (site web personnel) . Évalué à 3.
Et il émule la mémoire sur la Flash SD ?
Argh.
[^] # Re: Emulation d'un CPU 32-bits sur MCU 8-bits
Posté par KiKouN . Évalué à 2.
Par contre, il semble y accèder via la GPIO, il doit donc avoir du code pour gérer l'accès à la mémoire.
# Unix sur 8 bits
Posté par neriki (site web personnel) . Évalué à 10.
Puisque nous sommes sur un journal bookmark, alors ajoutons des liens vers des Unix pour ordinateur 8 bits:
- Lunix : Un Unix pour Commodore 64
- Uzix : Un Unix pour MSX
[^] # Re: Unix sur 8 bits
Posté par purplepsycho . Évalué à 7.
Et Fuzix d'Alan Cox: http://linuxfr.org/news/fuzix-os-parce-que-les-petites-choses-sont-belles
[^] # Re: Unix sur 8 bits
Posté par Francois Revol (site web personnel) . Évalué à 1.
Eh, je n'avais pas vu ces mentions avant de répondre à Pulko ;-)
# OS libres simples et légers
Posté par pulkomandy (site web personnel, Mastodon) . Évalué à 5.
Il vaut mieux faire simple, parfois :). Quand on a pas de MMU, on peut utiliser:
Et là je me limite aux choses qui ont une interface utilisateur (terminal ou graphique). Il y en a encore plein d'autres qui n'ont pas ça (mais des services web, par exemple). Nut/OS, ChibiOS, et certainement de nombreux autres.
[^] # Re: OS libres simples et légers
Posté par Francois Revol (site web personnel) . Évalué à 2.
Voir aussi :
- LunixNG même si c'est plus trop maintenu, (et quelqu'un a repris le portage partiel sur ORIC que j'avais entamé),
- FUSIX, dont on m'a parlé il y a peu, pas eu le temps de tester.
[^] # Re: OS libres simples et légers
Posté par jice (site web personnel) . Évalué à 3. Dernière modification le 20 septembre 2016 à 18:44.
Et encore OS9 pour MO5 ou TO9+ (6809 aussi, voire tunés avec un 6309 Hitachi) à voir là : http://forum.system-cfg.com/search.php?st=0&sk=t&sd=d&keywords=os9
Avoir un OS multitâche préemptif et multi-utilisateur pour notre vieux MO5 ça m'en bouche un coin ;)
[^] # Re: OS libres simples et légers
Posté par pulkomandy (site web personnel, Mastodon) . Évalué à 1.
Je ne l'avais pas listé car à ma connaissance, il n'est pas libre. Est-ce que ça a changé récemment?
[^] # Re: OS libres simples et légers
Posté par jice (site web personnel) . Évalué à 1.
Ha non c'est vrai je ne crois pas qu'il soit libre :/
[^] # Re: OS libres simples et légers
Posté par pushmepullme . Évalué à 2.
Puisqu'on parle d'exploits, rappelons qu'il existe Punix, un Unix pour pour calculettes TI92 et consorts à base de 68000.
Nous en parlions dans cet excellent journal :
https://linuxfr.org/news/punix-le-bapteme-du-feu
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.