
In meinem letzten Beitrag habe ich geschrieben, dass es etwas schöner wäre, wenn man auf den SSH-Tunnel verzichten und QEMU als root ausführen könnte, damit sich dieses an einen Port < 1024 binden kann (eben besagten Port 139 oder 445 für SMB/CIFS).
Meine erste Idee war nun, die Kommandozeilenversion von QEMU, die Q - [kju:] für Mac OS mitbringt, zu verwenden:
sudo /Applications/Q.app/Contents/MacOS/i386-softmmu.app/Contents/MacOS/i386-softmmu -hda linux-image.qcow2
Leider führt dieser Aufruf zu einem Abbruch des Programms mit der Meldung „OpenGL: No pixel format — exiting”.
Da das Fink-Projekt keine Pakete für QEMU anbietet, wollte ich nun mein Glück mit den MacPorts versuchen. Ein sudo port install qemu brach jedoch mit folgender Fehlermeldung ab:
---> Fetching qemu
---> Verifying checksum(s) for qemu
---> Extracting qemu
---> Applying patches to qemu
---> Configuring qemu
[...]
Command output: WARNING: "gcc" looks like gcc 4.x
Looking for gcc 3.x
gcc 3.x not found!
QEMU is known to have problems when compiled with gcc 4.x
It is recommended that you use gcc 3.x to build QEMU
To use this compiler anyway, configure with --disable-gcc-check
Error: Status 1 encountered during processing.
Da sudo port install gcc33 auch nicht erfolgreich war, versuchte ich jetzt mein Glück mit einer Anpassung des Portfiles, um dieses um die angegebene Option „--disable-gcc-check” zu ergänzen. Leider führte dies aber auch nicht zu einem Erfolg und QEMU ließ sich mit dieser Option ebenfalls nicht einmal kompilieren.
Also kam ich auf die Idee, es noch einmal mit den QEMU-Quellen und -Patches von Q - [kju:] aus deren SVN-Repository zu versuchen.
Damit habe ich es nun geschafft aus deren Revision 123 ein lauffähiges QEMU 0.9.1 für Mac OS X zu bauen. Dazu verwende ich ein eigenes Build-Skript, welches die Quellen und Patches aus dem SVN auscheckt, den QEMU patcht, konfiguriert und kompiliert sowie installiert und als Binärdistribution (s.u.) in ein Archiv verpackt.
Den QEMU kann ich nun folgendermaßen als priviligierten Daemon im Hintergrund ausführen:
sudo /opt/timo/qemu/bin/qemu -m 256 -hda /Users/timo/qemu/linux-image.qcow2 -hdb /dev/disk1 -hdd /dev/disk2 -nographic -daemonize -redir tcp:2222::22 -redir tcp:139::139 -redir tcp:445::445 -redir udp:445::445
Später kann ich dann die SMB-Freigaben wie gehabt unter Mac OS X einbinden:
mkdir /Volumes/Daten /Volumes/Musik
mount -o noowners -t smbfs "//WORKGROUP;timo@localhost/daten" /Volumes/Daten
mount -o noowners -t smbfs "//WORKGROUP;timo@localhost/musik" /Volumes/Musik
Download

QEMU 0.9.1 für Mac OS X 10.5.4 „Leopard” auf Intel-CPUs (841 KiB)
Mac OS X, Software, Topstory
Mac, Mac OS X, QEMU