From OSx86
Jump to: navigation, search

QEMU is a Virtual Machine system a bit like VirtualBox or VMware except if VT-X is not supported by your CPU, there is a good chance QEMU can still run OS X! It may be theoretically possible to have a download and boot script that runs OS X on a broad array of x86_64 computers. But for now that's another story.

You may also find the lengthy descriptions for Vmware interesting.


[edit] Progress table for running on OS X entirely in software

Below is messy, I thought a table might be a good idea perhaps with fields like: OS X Version Boot Image / file source comments OS X Image / file source What works: Network? Automatic Updates? Soundcard? Install Arguments (e.g: cdrom iso filename) Post-install Arguments (network etc) Notes

Please allow the table to become as simple and instructional as possible.

OS X Version Boot Image / file source comments OS X Image / file source What works: Network? Automatic Updates? Automatic Updates? Soundcard? QEMU Install Arguments (e.g: cdrom iso filename) Post-install Arguments (network etc) Notes

[edit] qemu 0.7

(Taken from Emulation Progress)

Here may be (?) a sample command to use (on Windows, and on others just loose the '.exe'):

qemu-system-x86_64.exe -L . -m 124 -hda d:\darwinhd.img -cdrom \
d:\darwinx86-801.iso -enable-audio -localtime -boot d

And at the bootloader, you have to pass those option:


[edit] qemu 0.9

(Taken from Emulation Progress)

Using a deadmoo image(10.4.1) (qemu for windows 0.9.0), boot is successful with boot parameters

platform=X86PC "Graphics Mode"="800x600x16" -v

(other graphics modes may be used). Jas install images do not work as yet.

[edit] qemu 0.9.1

qemu boots and installs properly with something like this:

qemu-img create -f qcow2 Leopard.qcow2 10G
qemu-system-x86_64 -usbdevice keyboard -usbdevice mouse -m 1024 \
-hda Leopard.qcow2 -cdrom ToH_x86_9A581_RC2.iso

First, hit F12 to tell the qemu BIOS to boot off the CD. Immediately thereafter, hit F8 in the Darwin loader. You can type '-v', but don't have to. Then continue ... and don't move the mouse too hastily.

Unfortunately, the resulting hard disk won't be recognized by qemu's BIOS - you don't even get to the F8 prompt. Besides this, it's slow. Installation takes 2 hours on a Core2Duo 2.2 GHz. Both, the '-smp 2' and the '-kernel-kqemu' options passed to qemu result in Leopard boot failures.

QEMU running 10.4.8 Tiger

Qemu can also run an installation of 10.4.8 made with VMware:

qemu-img convert -f raw Tiger-flat.vmdk -O qcow2 Tiger.qcow2
qemu-system-x86_64 -usbdevice keyboard -usbdevice mouse -m 1024 \
-hda '/media/Archiv/Mac OS X/Tiger.qcow2'

[edit] qemu 0.10.0

qemu 0.10.0 can do everything 0.9.1 could do. Additionally, it fixes enough bugs to be useable. Leopard installs and runs, with all the quirks you see on real hardware, though. Leopard (and likely Tiger) requires the -legacy option at the F8 prompt or in com.apple.boot.plist.

  • Graphics: "std" is fine, "cirrus" ist almost good and "vmware" doesn't get beyond the text console.
  • Ethernet: Of the many available NICs, the RTL8139 appears to be the only one visible to the network control panel. Downloads are shaky, but improve a lot if you run a "ping google.com" (or some other host) at the same time.
  • Audio: Not tested.
  • Misc: Make sure the machine doesn't go to sleep, there's no mechanism to wake it.
qemu-system-x86_64 -usbdevice keyboard -usbdevice mouse -vga std \
 -net nic,model=rtl8139 -net user -m 1024 -hda "My Disk Image.qcow2"

[edit] qemu 0.14.1

I had my host system running Debian Linux testing with Linux kernel and qemu-kvm 0.14.1. I had latest Intel xorg video driver installed on my host for my new i5 2400. I tried 10.6.6i snow leopard by Hazard on my qemu which is very good without any lag and network/audio are both enabled.

My host system is

  • Intel i5 2400 with embedded HD 2000 video
  • Gigabyte H61M D2P B3
  • Crucial Ballistix 8G DDR3 1333
  • Hitachi 1T 7k1000c with AHCI enabled.

The qemu parameters:

  • Graphics: "std" is fine, I add one more -sdl to the parameter of qemu but I don't know if there is any difference.
  • Ethernet: with the default AppleRTL8139Ethernet.kext at /System/Library/Extensions/IONetworkingFamily.kext/Contents/PlugIns. I use the bridge mode of qemu so my OSX86 looks like one of host in my local network, which gets the DHCP from my wireless router. I think the general user mode of qemu should be workable too. The important qemu parameters for the network is -net nic,model=rtl8139 -no-kvm-irqchip. If you don't use bridge mode, you should add -net user too. The -no-kvm-irqchip is a tricky parameter too and it won't worked if no such parameter.
  • Audio: use parameter "-soundhw all" in qemu-kvm the you get the noisy youtube.

My final qemu invocation command is

 $ kvm -name apple -m 2048 -cpu core2duo -enable-kvm -sdl -vga std -soundhw all \
   -net nic,model=rtl8139,macaddr=00:03:93:0a:0b:0c -no-kvm-irqchip -net tap,ifname=mac,script=no \
   -cdrom /home/cyril/Downloads/10.6.6i.iso  -boot d /home/cyril/vm/mac/hazard.img

where tap device is created by tunctl and be added into bridge with brctl

There are 2 tricks to run the 10.6.6i with RTL8130 up on qemu,

1. When booting the iso and doing first installation, kernel will panic at ElliotForceLegacyRTC so I have to delete the kext in both CD and new-installed volume hence do the following:

 # mount -o loop -t hfsplus 10.6.6i.iso /mnt
 # rm -rf /mnt/System/Library/Extensions/ElliottForceLegacyRTC.kext
 # umount /mnt
 # boot the CD and install it to volume then reboot and use the terminal of Utilities in CD.
 # find the volume name created in the previous installation at /Volumes/vol_name
 # rm -rf /Volumes/vol_name/System/Library/Extensions/ElliottForceLegacyRTC.kext
 # reboot and enjoy

2. When booting the kernel in hard drive, give the "-v -f -F" in the bootloader.

This page was last modified on 22 May 2012, at 01:18.
This page has been accessed 56,874 times.
Powered by MediaWiki © 2022 OSx86 Project  |   InsanelyMac  |   Forum  |   OSx86 Wiki   |   Privacy policy   |   About OSx86   |   Disclaimers