Il PC Linux più lento del mondo si avvia in quattro ore

Come far funzionare Ubuntu usando un processore a 8 bit a 24 MHz: un saldatore, tanta pazienza e quattro ore per l'avvio. Da veri geek!

Avatar di Tom's Hardware

a cura di Tom's Hardware

Tutti cercano di eseguire programmi e sistemi operativi il più velocemente possibile, ma Dmitry Grinberg ha scelto una strada completamente diversa e si è chiesto se fosse possibile far girare Linux con una configurazione assolutamente inadeguata, lontanissima da quella normalmente considerata come minima (un processore a 32 bit con almeno 1 MB di memoria RAM).

Clicca per ingrandire

Con un po' di pazienza, un saldatore e tanto sviluppo di codice, Grinberg è arrivato a eseguire Ubuntu su un ATmega1284p, ossia un microcontroller a 8 bit che lavora a 24 MHz. E senza neanche usare una motherboard, alla fine: il processore è saldato a mano direttamente su una basetta millefori insieme ad alcuni altri componenti, tra cui una vecchia SIMM da 16 MB per PC 80286 che serve a dare a Ubuntu la memoria necessaria (il Megabyte di RAM è stata la specifica minima davvero impossibile da superare). Ubuntu in sé è memorizzato su una schedina di memoria SD Card da 1 GB, anch'essa collegata alla basetta millefori.

Clicca per ingrandire

Ubuntu gira su un processore a 8 bit grazie al dettaglio più interessante del progetto: Grinberg ha appositamente scritto un emulatore di ARMv5 (un processore a 32 bit compatibile con la distribuzione Linux) per ATmega1284p, quindi Ubuntu crede di girare su una CPU ARM mentre in realtà l'hardware sottostante è molto, molto più limitato.

Il tutto funziona - o, come scrive Grinberg, "per certi versi si può usare" - a patto che si abbia una buona dose di pazienza: per avviare la shell testuale di Ubuntu ci vogliono circa due ore, per caricare tutto il sistema operativo (senza interfaccia grafica) altre quattro, per completare un comando da shell mediamente un minuto. Molto, troppo lento? Certo, ma per Grinberg c'è la soddisfazione di aver creato il PC Linux funzionante con il minor numero di componenti.