Retro-Hardware: Linux läuft auch auf dem C64

Was ließe sich mit der Portierung des Compilers LLVM für die Prozessorreihe 65xx(öffnet im neuen Fenster) von MOS Technologies anstellen? Den Linux-Kernel auf dem Prozessor zu booten, ist sicher nicht die naheliegendste Idee – zumal das zunächst aussichtslos scheint. Schließlich fehlen den Chips, zu denen auch der MOS 6510 im C64 von Commodore zählt, grundlegende Funktionen wie eine Hardware-Speicherverwaltung (Memory Management Unit, MMU). Dass es dennoch funktioniert, zeigt Entwickler Onno Kortmann(öffnet im neuen Fenster) .
Da der Linux-Kernel die alten MOS-Prozessoren nicht unterstützt, verwendet Kortmann den Emulator Semu(öffnet im neuen Fenster) , um über diesen Linux zu booten. Den übersetzt er mit dem LLVM-MOS-Compiler für den C64. Semu ahmt die fehlende Hardware nach und führt RISC-V-Befehle aus – in diesem Fall die RISC-V-Portierung von Linux. Damit bleibt aber noch ein Problem: Der Hauptspeicher des C64 ist mit 64 KByte viel zu klein, das von Kortmann im oben verlinkten Github-Repository angebotene Linux-Abbild benötigt 16 MByte. Aber auch dafür gibt es eine Lösung: Module zur Speichererweiterung, sogenannte RAM Extensions(öffnet im neuen Fenster) .
Die Idee an sich ist nicht neu: 2012 zeigte Dmitry Grinberg(öffnet im neuen Fenster) , der als Entwickler unter anderem bei Vmware arbeitete, dass auch ein AVR-Mikrocontroller von Atmel (heute Microchip) den Linux-Kernel booten kann. Dazu spendierte er dem 8-Bit-Chip ein altes SDRAM-Modul, eine SD-Karte und schrieb einen eigenen ARM- Emulator .
Eine Woche zum Booten?
Während Grinberg echte Hardware verwendete, ließ Kortmann Linux bislang nur im C64- Emulator Vice(öffnet im neuen Fenster) starten. Der kann im sogenannten Warp Mode wesentlich schneller laufen als der MOS 6510 des echten Heimcomputers. Dennoch dauere es, so Kortmann, Stunden, bis der Bootvorgang abgeschlossen sei. Ein echter C64 würde deutlich länger brauchen, Kortmanns Schätzung von einer Woche könnte aber zu pessimistisch sein.
Grinberg war 2012 mit seinem AVR-Linux deutlich schneller: Der auf 24 MHz übertaktete Mikrocontroller brauchte nur zwei Stunden bis zur Anmeldeaufforderung. Interessant ist daher, ob sich das von Kortmann verwendete Linux-Image noch weiter abspecken lässt – womit sich die Dauer des Bootvorgangs deutlich verringern lässt .