SheepShaver - klassische Apple Computer unter Linux emulieren

Di, 3. August 2021, Lioh Möller

Klassische Betriebssysteme erfreuen sich heutzutage wieder grosser Beliebtheit, so auch ältere Versionen von Mac OS, insbesondere Version 9. Zur damaligen Zeit basierten Rechner des Herstellers auf der PowerPC (PPC) Architektur. Mithilfe des Emulators SheepShaver kommt auch unter Linux wieder Retrocharme auf.

Die Installation erweist sich allerdings als nicht ganz trivial, weshalb diese im Folgenden detailliert beschrieben wird. Wir gehen von einem aktuellen Debian GNU/Linux als Basissbetriebssystem aus, die Schritte sollten sich allerdings auch unter anderen Distributionen in ähnlicher Form reproduzieren lassen.

Zunächst müssen die benötigten Abhängigkeiten zur Übersetzung des Quelltextes installiert werden:

sudo apt update
sudo apt install build-essential git automake 
sudo apt install libsdl2-dev
sudo apt install libgtk2.0-dev

Daraufhin kann das Git-Repository des Projektes gecloned werden:

cd ~/Downloads
git clone https://github.com/kanjitalk755/macemu.git

Zur Übersetzung des Quelltextes der Applikation können folgende Befehle ausgeführt werden:

cd macemu-master/SheepShaver
make links
cd src/Unix
./autogen.sh
make

Dies Erzeugt ein Binary SheepShaver im gleichen Verzeichnis welches mit Root Rechte nach /usr/local/bin kopiert werden kann und als ausführbar markiert werden muss:

sudo cp SheepShaver /usr/local/bin
sudo chmod +x /usr/local/bin/SheepShaver

Um SheepShaver als regulärer Anwender nutzen zu können muss eine sysctl Variable angepasst  werden.

sudo bash -c 'cat <<EOF > /etc/sysctl.d/99sheepshaver.conf
# --
# Needed for SheepShaver Mac Classic emulator
# --
vm.mmap_min_addr=0
EOF'
sudo sysctl -p /etc/sysctl.d/99sheepshaver.conf

Hinweis: Diese Änderung hat einen Einfluss auf die Sicherheit des Systems. Bei Bedarf lässt sich der Wert auch nur vor dem Start der Anwendung setzen und nach dem Beenden wieder auf den Originalwert zurücksetzen.

Um das emulierte Betriebssystem mit Netzwerkfunktionalität auszustatten, kann das im Quellcode enthaltene Kernelmodul sheep_net compiliert und eingebunden werden:

cd ~/Downloads/macemu-master/SheepShaver/src/Unix/Linux/NetDriver
make
sudo cp sheep_net.ko /lib/modules/$(uname -r)/kernel/drivers/net
sudo depmod -a
sudo modprobe sheep_net
sudo bash -c 'cat <<EOF > /etc/modules-load.d/sheep-net.conf
# --
# Needed for SheepShaver Mac Classic emulator
# --
sheep_net
EOF'

Hinweis: Nach einer Aktualisierung des Kernels muss das Modul erneut compiliert und eingebunden werden.

Damit ist die eigentliche Installation von SheepShaver bereits abgeschlossen und es kann mit der Bereitstellung des Gastbetriebssystems begonnen werden.

Für die Nutzung von Mac OS 9 wird ein ROM benötigt. Am besten geeignet ist das sogenannte New World ROM.

Das Archiv wird an eine geeignete Stelle entpackt, zum Beispiel in den Ordner ~/bin/SheepShaver:

unzip ~/Downloads/newworld86.rom.zip -d ~/bin/SheepShaver/

Nach dem Start von SheepShaver in der Kommandozeile öffnet sich eine grafische Oberfläche in die folgenden Einstellungen durchgeführt werden sollten:

Graphics/Sound -> Window Refresh Rate: 60Hz
Graphics/Sound -> Width: 1024 / Height 768
Serial/Network -> Ethernet Interface: slirp (zur Nutzung des zuvor Compilierten sheep_net Kernelmoduls
Memory/Misc -> Mac OS RAM Size: 256
Memory/Misc -> ROM File: hier wird der Pfad zum zuvor heruntergeladenen ROM-File im Ordner ~/bin/SheepShaver angegeben.

Zusätzlich muss eine leere Festplattendatei im Bereich Volumes über den Punkt Create angelegt werden. Es empfiehlt sich, diese ebenfalls im Ordner ~/bin/SheepShaver zu erstellen und einen passenden Namen zu vergeben (zum Beispiel OS9). Als Grösse sind 1024 MB zum Einstieg ausreichend.

Zur Installation des Betriebssystems wird eine entsprechende ISO Datei, welche beispielsweise auf WinWorld heruntergeladen werden kann. SheepShaver unterstützt dabei Mac OS bis zur Version 9.0.4.

Achtung: Mac OS erlaubt nur eine Installation von der ISO-Datei, sofern diese nicht als beschreibbar markiert ist. Erreichen lässt sich dies durch chmod -rw /Pfad/zur/ISO. Sofern SheepShaver mit Root-Rechten ausgeführt wird, ist dies nicht möglich, daher ist anzuraten die Applikation immer als normaler Nutzer auszuführen.

Die ISO Datei kann ebenfalls im Bereich Volumes über den Punkt Add hinzugefügt werden.

Über einen Klick auf Start beginnt die Reise in die Welt des Retro Mac OS. Das System booted zunächst von der CD. Nach Abschluss der Installation kann das ISO Image über den Punkt Volumes -> Remove wieder entfernt werden.

Beim ersten Start von Mac OS erscheint ein Assistent, welcher abgebrochen werden sollte, da dieser unter SheepShaver nicht lauffähig ist. Alle Einstellungen wie das Tastaturlayout lassen sich allerdings über das entsprechende Control Panel auslösen.

Zum Abschluss lässt sich mit folgendem Befehl noch ein Starter anlegen um in Zukunft die Anwendung bequemer aufrufen zu können:

sudo convert ~/Downloads/macemu-master/SheepShaver/src/Windows/SheepShaver.ico /usr/share/pixmaps/SheepShaver.png
bash -c 'cat <<EOF > ~/.local/share/applications/SheepShaver.desktop
[Desktop Entry]
Version=1.0
Type=Application
Name=SheepShaver
Icon=SheepShaver.png
Exec=SheepShaver
Comment=An emulator for classic Apple computer systems
Categories=System;
Terminal=false
EOF'

Mac OS 9 ist ein Betriebssystem aus vergangenen Zeiten, dessen Look & Feel auch heute noch ansprechend wirkt.

Allerdings sind gängige Anwendungen wie ein moderner Internetbrowser mit aktueller SSL/TLS Unterstützung nicht verfügbar. Der Browser Classilia ist zwar noch lauffähig, wird allerdings aktuell nicht weiterentwickelt.

Standardmässig ist das Linux-Hostsystem in der Emulation aber über den Dateimanager erreichbar, sodass einfach Applikationen oder Dateien ausgetauscht werden können. Eine Vielzahl interessanter Applikationen steht auch weiterhin für das in die Jahre gekommene Betriebssystem zur Verfügung.