1 Punkte von GN⁺ 2023-08-28 | 1 Kommentare | Auf WhatsApp teilen
  • Artikel über den erfolgreichen Betrieb von Linux auf dem Commodore C64, einem klassischen Heimcomputer aus den 1980er-Jahren
  • Das Linux-Betriebssystem läuft auf dem Commodore C64 sehr langsam, und wegen des begrenzten 64-KiB-Speichers des Computers ist eine RAM Expansion Unit (REU) erforderlich
  • Das System verwendet eine Memory Management Unit (MMU), um virtuellen Speicher zu emulieren
  • Der Autor hat das Setup noch nicht auf echter Hardware getestet und ermutigt Leser, ihre Erfahrungen zu teilen
  • Zum Erstellen des Systems müssen der Befehl make und das Werkzeug mos-c64-clang verwendet werden
  • Die Kernel-Konfiguration unterscheidet sich wegen der großen Abschnittsausrichtung vom ursprünglichen semu-Kernel. Eine besser geeignete Kernel-Konfiguration ist im Unterordner config zu finden
  • Um alle für den VICE-Emulator benötigten REU-Images zusammenzubauen, wird das Skript mk_linux_reu.py verwendet
  • Zum Ausführen des Systems wird eine .d64-Datei erstellt, die die kompilierte semu-Executable enthält. Diese Datei wird anschließend in den VICE-Emulator geladen
  • Der Autor plant, auf GitHub ein Archiv mit allen benötigten vorkompilierten Binärdateien hinzuzufügen
  • Der Autor erwähnt außerdem die Möglichkeit, den kompilierten 6502-Code zu optimieren, um die Leistung zu verbessern, und eine Checkpoint-VM zu implementieren, um den langen Bootvorgang zu vermeiden
  • Der Artikel endet mit einer Würdigung der Arbeit an semu, einem minimalistischen RISC-V32-Emulator, und den llvm-mos-Werkzeugen, die dieses Projekt möglich gemacht haben

1 Kommentare

 
GN⁺ 2023-08-28
Hacker-News-Kommentare
  • Onno Kortman hat Linux erfolgreich auf einem Commodore 64 ausgeführt, indem er einen minimalen RISC-V-Emulator namens semu und llvm-mos, einen LLVM-Port für den MOS-6502-Prozessor, verwendet hat.
  • Der Prozess ist sehr zeitaufwendig, und das Erzeugen eines Screenshots im "Warp-Modus" dauert mehrere Stunden. Ein echter C64 sollte Linux innerhalb einer Woche booten können.
  • Das Projekt benötigt die seltene Hardware 16MB REU. Für den C64 verfügbare REUs gab es damals mit 256kB und 512kB.
  • Das Projekt wird mit dem Ausführen von Doom3 auf einem 386er verglichen, aber ein 386er ist eine PCI-Karte für moderne PCs. Dieser Vergleich deutet darauf hin, dass es technisch möglich ist, repräsentiert aber nicht die Fähigkeiten der ursprünglichen Hardware.
  • Nachdem die ursprünglichen SuperCPU-Schaltpläne verloren gegangen sind, gibt es einen Aufruf nach Open-Source-Schaltplänen für eine "Super CPU". SuperCPU und ihr DMA-Controller werden derzeit mit leistungsstarken FPGAs emuliert.
  • Einige Nutzer experimentieren mit neueren C-64-Accessoires wie "Kung Fu Flash", das "Super Snapshot" emulieren kann, aber keine REU.
  • Es gibt eine Diskussion darüber, was die älteste Hardware ist, die modernes Linux booten kann und dabei im Alltag nutzbar bleibt.
  • Das Projekt wird als Demonstration der Turing-Äquivalenz betrachtet und zeigt, dass jeder Turing-vollständige Computer mit genügend Zeit alles ausführen kann, was ein anderer Turing-vollständiger Computer kann.
  • Es wird gefragt, ob sich dieses Projekt von Lunix unterscheidet, einem kleinen Multitasking-Betriebssystem für den Commodore 64.
  • Einige Nutzer schlagen alternative Wege vor, Linux auf dem C64 auszuführen, etwa mehrere Disketten als RAM zu verwenden und sie bei Bedarf zu wechseln.
  • Es wurde klargestellt, dass der C64 Linux nicht direkt ausführt, sondern eine RISC-V-Umgebung emuliert.
  • Das Projekt brachte andere dazu, über ähnliche Vorhaben nachzudenken, etwa RISC-V auf einem Game Boy auszuführen oder ein Unix-artiges System auf einem TRS-80 Model 4 zu installieren.