Software Berater Logo Software Berater #neuland seit 1993

Retro Mac OS 9.2 mit QEMU

Wir schreiben das Jahr 1992. Ganz Deutschland ist von PCs mit DOS und Windows besetzt. Ganz Deutschland? Nein. Eine kleine Gruppe von Apple Macintosh hört nicht auf, eine attraktivere Alternative zu sein. Gute Zeiten, an die man mithilfe von QEMU anknüpfen kann.

Mac OS 9.2.2 running on QEMU

Ich fühle mich gerade so “retro”. Die Fantas haben ihre größten Hits neu aufgenommen, im Kopfhörer läuft “Die Da”, als wäre 1992 nie vorbei. An der Wand hängt das Mainboard meines alten PowerMac 7200 und ich frage mich: Kann ich auf meinem AMD Ryzen mit Manjaro Linux auch ein Mac OS 9 virtualisieren? Die Antwort heisst: Ja, ein bisschen zumindest.

Vorbereitung

Zuerst ist die QEMU Software wichtig. Hier brauchen wir auch die PPC-Unterstützung, auf Arch/Manjaro installiert man die so:

pacman -S qemu-desktop qemu-system-ppc

Wir brauchen ein Installationsmedium, ein ISO-Abbild der Mac OS 9.2 Original-CD. Der Download heisst macos-922-uni.iso, ist 423MB gross und ich finde sie zB hier.1 Lade die Datei herunter und speichere sie in einem Pfad deiner Wahl. Wechsle dann mit dem Terminal in dieses Verzeichnis.

Achtung: Diese .iso Datei muss zunächst entpackt werden, sie ist nicht direkt bootfähig.2

7z x macos-922-uni.iso

Die entstehende Datei macos-922-uni/macos-922-uni.iso ist bei mir dann 607MB gross. Wenn du beim Start die Fehlermeldung “No valid state has been set by load or init-program” erhältst, dann findet die virtuelle Maschine kein Startmedium.

Zudem benötigen wir ein Festplattenimage, das wir später zur Installation verwenden. 10 Gigabyte reichen vorerst vollkommen aus.

qemu-img create -f qcow2 macos-922-disk.img 10G

Installation von Mac OS 9 unter QEMU

Jetzt geht es an die Installation. Wir starten den Emulator und booten zunächst von der CD.

$ qemu-system-ppc \
  -machine mac99 \
  -m 512M \
  -cdrom macos-922-uni/macos-922-uni.iso \
  -hda macos-922-disk.img \
  -boot d \
  -g 1024x768x32 \
  -device usb-mouse \
  -device usb-kbd \
  -rtc base=localtime

Mit etwas Glück startet der virtuelle PowerPC und bietet diese Ansicht:

Mac OS 9 started under QEMU with no initialized hard drive

Uns fällt auf: Es ist keine Festplatte zu sehen. Diese muss zunächst initialisiert werden: Öffne den Ordner “Utilities” und dort “Drive Setup”.

  1. Wähle den ersten Eintrag <not initialized> aus der Liste
  2. Klicke auf “Initialize…”
  3. Wähle “Custom Setup…”
  4. Wähle oben als Partitioning Scheme “1 Partition” aus
  5. Klicke auf “OK”
  6. Klicke auf “Initialize”

Nach kurzer Zeit sollte die Festplatte mit dem Namen “untitled” in der Liste und auf dem Schreibtisch rechts oben erscheinen. Wer mag, kann die Platte im Finder historisch korrekt in “Macintosh HD” umbenennen, aber jeder Name ist gut.

Schließe jetzt die Fenster (File->Quit oder Taste Windows-Q) und beginne mit der Installation. Klicke dazu auf “Mac OS Install” auf der CD “Mac OS 9.2.2”. Nach der Auswahl des Zielmediums (die neue Festplatte), den Lizenzbestimmungen und der Auswahl der Optionen (keine nötig, kann jeder spielen wie man mag) geht es auch schon los.

Mac OS 9 installing under QEMU

Nach Abschluss der Installation müssen wir die VM erstmal herunterfahren, dazu verwendet man das Menü “Special->Shut Down”.3

Der Start des Mac OS 9

Ab jetzt verwende ich eine etwas andere Kommandozeile: Statt -boot d (starten von CD) verwende ich -boot c (starten von Festplatte). Alles andere kann gleich bleiben.

$ qemu-system-ppc \
  -machine mac99 \
  -m 512M \
  -cdrom macos-922-uni/macos-922-uni.iso \
  -hda macos-922-disk.img \
  -boot c \
  -g 1024x768x32 \
  -device usb-mouse \
  -device usb-kbd \
  -rtc base=localtime

Dieses Mal sollte Mac OS 9.2 eine größere Zahl von Erweiterungen laden. Beim ersten Mal erscheint der “Mac OS Setup Assistant” und fragt Grundeinstellungen ab. Das Installationsmedium bietet leider keine deutsche Fassung und kennt keine deutschen Landeseinstellungen - gut, belassen wir es bei Englisch. Achtung, auch das Tastaturlayout ist englisches QWERTY. Da Mac OS 9.2 “Personal File Sharing” beinhaltet, müssen wir zum Start einen Benutzernamen und einen Rechnernamen angeben - die Werte sind aber ohne weitere Bedeutung. Nach 10 Schritten ist man fertig und klickt auf “Go Ahead”, zum Ende der Einstellungen dann auf “Quit”. Damit ist die Installation abgeschlossen.

Dateiaustausch

Wie bekommt man jetzt Daten in den Uralt-Mac oder wieder heraus? Meine Antwort ist: Ein AFP-Server (Apple File Protocol). Das Paket netatalk ist in heutigen Distributionen aber viel zu neu, als dass Mac OS 9 noch damit verbinden könnte. Hilfreich ist dieser Fork: https://github.com/rdmark/Netatalk-2.x

$ ./bootstrap
$ .configure --enable-systemd

Wichtig ist dann die (letzte) Zeile in der Datei /usr/local/etc/netatalk/afpd.conf:

- -transall -uamlist uams_guest.so,uams_clrtxt.so,uams_dhx2.so

Such dir ein Verzeichnis aus, in das du Dateien zum Austausch hereinlegen willst.

Mit systemctl enable afpd.service und systemctl start afpd.service startet man den Dienst (auch automatisch nach Neustart).

Im Mac OS 9 Finder kann man jetzt über den Network Chooser die IP-Adresse des Hosts angeben - und sollte sich mit Benutzername und (Host-) Passwort verbinden können.

Was geht, was geht nicht?

Mein moderner AMD Ryzen 9 emuliert einen PowerPC G3 mit einer Geschwindigkeit von 900MHz. Wow. Das allein finde ich ziemlich beachtlich. Was kann man jetzt praktisch damit anfangen, außer, sich über den nostalgischen Retro-Look zu freuen?

  • 😍 Über den Kontrollstreifen unten links kann man die Bildschirmauflösung komfortabel setzen, die Änderung wird sofort gültig.
  • 😍 Das Netzwerk Device wird erkannt, der Mac bekommt eine IP-Konfiguration. Wer Ping & Co sucht: Auf der CD befindet sich unter “CD Extras->WhatRoute Folder” das WhatRoute Programm, mit dem man IPv4 Ping und Traceroutes durchführen kann.
  • 😢 Es gibt keinen Ton. Zwar gibt es einen QEMU Patch, der Support für die Apple SCREAMER Hardware hinzufügt, dieser ist aber noch nicht in mainline QEMU angekommen.
  • 😢 Heutiges Internet ist quasi unbrauchbar, weil wir alles verschlüsseln, der alten Software aber die passenden Verfahren fehlen. Jeder Aufruf von Google & Co mit Netscape Navigator (mitgeliefert) oder dem Microsoft Internet Explorer 5 für Mac (mitgeliefert) scheitert daran, dass die alten Browser keine moderne SSL-Verbindung beherrschen.

Ich würde ja gerne alte Mac-Spiele spielen: PegLeg oder Apeiron, Barrack oder “The Incredible Machine”. Wer alte Spiele sucht, findet vieles zB im Macintosh Repository. Wenn du also einen Tipp für mich hast, wie ich mein Setup vervollständige, bin ich für jeden Hinweis in den Kommentaren dankbar!

  1. Zu dem Zeitpunkt hätte ich wahrscheinlich ein 56k-Modem verwendet (und selbst das wäre toll gewesen) Der Download von 422MB hätte damit fast 17 Stunden benötigt. Heute geht das an meiner Gigabit-Verbindung durchaus etwas schneller.

  2. Wer macht sowas? Eine ISO-Datei “auf eine CD brennen” und diese dann als ISO verteilen? Doppelt ver-ISO’t? Hat mich eine Weile Zeit gekostet, um herauszufinden, warum mein Mac nicht starten wollte.

  3. ACPI gab es noch nicht. Wenn man den Emulator einfach stoppt, ist das, als wenn man früher den Rechner einfach ausgeschaltet hätte. Nicht gut…