Na przestrzeni minionych lat w Internecie pojawiało się mnóstwo interesujących modyfikacji z cyklu „fajne, ale po co?”. Odpowiedzi na tak postawione pytanie każdorazowo brzmią podobnie: „dla zabawy”, „z ciekawości”, „bo tak”. W tym kontekście wartym nagłośnienia wydaje się projekt pewnego miłośnika systemów Linux, który postanowił uruchomić to otwartoźródłowe oprogramowanie na stareńkim komputerze Commodore 64. Linux na Commodore 64 faktycznie działa, choć wymaga *odrobiny* cierpliwości.
Linux uruchomiony na Commodore 64
Commodore 64 to kultowy już komputer domowy z lat 80. XX wieku. W Stanach Zjednoczonych zadebiutował w 1982 roku, a w Polsce zagościł dopiero w 1988 roku. Wyposażono go w procesor MOS Technology 6510 o taktowaniu 0,985 MHz (PAL), 64 kB pamięci RAM oraz 20 kB pamięci ROM. To były czasy… Domyślnie wykorzystywał system operacyjny Commodore BASIC 2.0, a później graficzny GEOS. Czy sprzęt o takich parametrach może poradzić sobie z Linuksem? Wygląda na to, że tak. W pewnym sensie.
Programista Onno Kortmann użył Semu, lekkiego emulatora RISCV32 i skompilował go krzyżowo z llvm-mos. Umożliwił tym samym uruchomienie kodu Linuksa na procesorze MOS Technologies 6502. Podkreślam: zostało to zrobione za pomocą emulatora, a nie na prawdziwym sprzęcie, choć kwestią czasu wydaje się odpalenie Linuksa na rzeczywistym C64.
Używając emulatora VICE Commodore, Kortmann włączył „tryb warp”, dzięki któremu pierwsze komunikaty startowe pojawiły się już w ciągu kilku minut. Na prawdziwej Commodore 64 zajęłoby to znacznie więcej czasu… Poniższy zrzut ekranu pojawił się po kilku godzinach w trybie Warp, co oznacza, że na prawdziwym C64 pełne uruchomienie Linuksa zajmie tydzień… lub dłużej.
Dalsze optymalizacje są podobno możliwe
Kortmann twierdzi, że wiele da się jeszcze ulepszyć i możliwe jest nawet 10-krotne przyspieszenie działania OS-u. Biorąc jednak pod uwagę ograniczenia C64, nawet tak duża optymalizacja nie sprawi, że po rozruchu Linux na Commodore 64 będzie działał tak, jak powinien.
Z punktu praktycznego dokonanie internauty nie ma większego znaczenia, ale… udowodnił on, że ten karkołomny zabieg jest wykonalny.
Źródło: GitHub @onnokort, linux.slashdot.org