
Początkujący w dziedzinie mikrokontrolerów pytają czasem na forach, czy uda im się uruchomić Linuxa na 8-bitowym mikrokontrolerze, co zwykle wywołuje salwy śmiechu. Mówi się, że absolutnie minimalne wymagania sprzętowe dla Linuxa to 32-bitowy procesor z jednostką zarządzania pamięcią (MMU) i co najmniej megabajtem pamięci RAM na jądro systemu.
Rosyjski programista Dmitrij Grinberg postawił sobie za cel obalenie tych twierdzeń i udało mu się to - uruchomił Linuxa z jądrem 2.6.34 na mikrokontrolerze ATmega 1284p. Oczywiście zintegrowana weń pamięć (16 kB SRAM i 128 kB Flash) jest zbyt mała, dlatego Grinberg wykorzystał "antyczną", 30-stykową kość RAM SIMM, podłączając ją bezpośrednio do mikrokontrolera. Za pamięć masową służy karta SD o pojemności 1 GB (dla Ubuntu Jaunty wystarczyłaby nawet 512-megabajtowa).
To prawda, że Linux potrzebuje 32-bitowego procesora z MMU, lecz Grinberg udowodnił, że nie musi to być wcale fizyczny procesor. Zrobił rzecz zakrawającą o szaleństwo - napisał emulator procesora ARM działający na mikrokontrolerze ATmega. Emulowany procesor to ARMv5TE, taktowany zegarem 6,5 kHz.
Trudno jednak znaleźć praktyczne zastosowanie dla tego pomysłu, bo system działa przeraźliwie wolno. Samo uruchamianie od włączenia do pojawienia się znaku zachęty Basha trwa dwie godziny, a załadowanie systemu Ubuntu kolejne cztery.
Źródła:
http://hackaday.com/2012/03/28/building-the-worst-linux-pc-ever/
http://dmitry.co/index.php?p=./04.Thoughts/07.%20Linux%20on%208bit
Cool? Ranking DIY