article: Running OSX Mavericks under KVM with QEMM


Recommended Posts

  • Replies 128
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

Posted Images

Anything to share about getting Mavericks running? The only thing keeping me from trying a version 6 beta is that I have a Mountain Lion image running in VirtualBox that acts as a iTunes Home Sharing server and a SpamSeive machine. I’m thinking the AFP updates coming in 6b8 may push me over the edge though.

Link to comment
  • 1 month later...
  • 2 months later...

Also is there another way to extract the serial number from OSX? The only method I've seen online is if you have a Linux vm running on OSX.

 

There is a binary file referenced on the article at http://blog.ostanin.org/2014/02/11/playing-with-mac-os-x-on-kvm/

 

Have anyone had any luck on beta 12 ?  just about to get started but I am a KVM newbie so not sure how to even begin (I have a mac so have the ISO, etc - just new to all this kvm stuff)

Link to comment

Peter, thanks for all your help as well. I had a 10.8 install running on VirtualBox on unRAID 5 and this is so much better. Any suggestions on minimum requirements? Right now I am using my VM as an iTunes server and to run SpamSieve. I'm using the settings specified in the walk through of 2 cores and 4gb ram. It doesn't seem to be slowing the rest of the system down, but I wonder if I can get away with half that.

 

And I know this is a real shot in the dark, but anything like 9p networking for OS X on a VM, or a way to more persistently mount network drives?

Link to comment

 

I'm using the settings specified in the walk through of 2 cores and 4gb ram. It doesn't seem to be slowing the rest of the system down, but I wonder if I can get away with half that.

 

I haven't tried running it on anything less than that.  If you try it out let me know how it runs. So far 2 cores and 4 gb ram is running like a champ. It hasn't given me any problems with any of the programs I've tested.

Link to comment

Man, this guys should be pined on the forum.  It makes things super easy to install. Only item where was not clear was needed to create the storage drive first on the command line (left comment so hope the guide can be updated) . outside that, follow things and all works great.

 

Have been running all kinds of heavy load and different software with no issues whatsoever.  All security upgrades worked great.  Installed xcode, a lot of ruby gems and scripts , also little snitch - which was wondering how would work.  did ivi, iflicks2 media program fine.  Did itunes authentication.  copied a lot of files to from other drives . 

 

No crash - no slowness - zero off behavior after a full day. Extremely impressed and see as a very workable system for those of us that want to keep an osx server for itunes library serving or media transcoding

 

There are only three things would like to nail before committing fully -

 

  1. Can the screen be changed to something larger ? keep reading some of the other drivers could be an issue so holding up but will test

 

  2. How can a second drive be added ?  Seem like doable.  WIll need to check some on this

 

  3. Can the current drive used with Yosemite be expanded ? I set for 200G but can see wit some transcoding and so on will need to move to a larger disk at some point.

 

Pretty excited how rock solid this virtualization is. regards, gus 

Link to comment

1. Try adding this to the bootloader config in /Extra/org.chameleon.boot.plist:

 

<key>Graphics Mode</key>

<string>1440x900x32</string>

 

2. Not sure but I'm sure it could be done. Maybe something similar to adding the ISO imagine drive?

 

3. I did attempt this early on but without success. I added the extra space to the qcow2 file but I couldn't get the Mac VM to extend the partition. To be far, I didn't try very hard.

Link to comment

The graphic entry did the trick.  Works great so far.

 

On point 3 and expansion of the drive, found a link at http://blog.definedcode.com/qemu-osx-update that mentioens it is possible this way -

 

You can resize the image itself with:

 

qemu-img resize filename +5G

 

However this will break the partition table (GPT), to fix this we can mount the GParted .iso into the guest, boot into this and then it will automatically fix this for us and you can boot back into OS X and extend it manually. You can attach GParted by appending this to the qemu command:

 

-device ide-drive,bus=ide.6,drive=GParted -drive id=GParted,if=none,snapshot=on,file=./GParted.iso

 

Will look to test later this week.

Link to comment

@archedraft, your guide is an awesome write up  :D

 

Only minor comments:

 

1.) I struggled with the Kernel part, maybe a slightly different wording would make it clearer what to copy, e.g.

#Add KERNEL
1.) Mount Yosemite ISO (double click the Yosemite.iso)
2.) Copy the Kernel folder from /System/Installation/Packages/Essentials.pkg (by using Pacifist) into /System/Library

 

2.) By using the org.chameleon.boot.plist from the Mac_Files packages (step 14) the VM not boot. I'm afraid that the file is not proper formatted.

 

But that's it .... my Mac OS X Yosemite is just running fine.

 

A question though: is anyone able to boot the VM without having to press the ENTER key? Changing the boot menu wasn't successful:

  <os>
    <type arch='x86_64' machine='pc-q35-2.1'>hvm</type>
    <kernel>/mnt/cache/.VMs/macosx/chameleon_svn2510_boot</kernel>
    <boot dev='hd'/>
    <bootmenu enable='no'/>
  </os>

 

Any idea?

Link to comment

I'm having some trouble getting this to work. I can get the gray apple screen but nothing else (black screen when using -v). Any suggestions on where to look?

 

<domain type='kvm' xmlns:qemu='http://libvirt.org/schemas/domain/qemu/1.0'>
  <name>OSX-10.9</name>
  <uuid>0ba39646-7ba1-4d41-9602-e2969a3fc27f</uuid>
  <metadata>
    <type>None</type>
  </metadata>
  <memory unit='KiB'>4194304</memory>
  <currentMemory unit='KiB'>4194304</currentMemory>
  <vcpu placement='static'>2</vcpu>
  <resource>
    <partition>/machine</partition>
  </resource>
  <os>
    <type arch='x86_64' machine='pc-q35-2.1'>hvm</type>
    <kernel>/mnt/cache/.virtual_machines/extras/chameleon_svn2510_boot</kernel>
    <boot dev='cdrom'/>
    <bootmenu enable='yes'/>
  </os>
  <features>
    <acpi/>
  </features>
  <cpu mode='custom' match='exact'>
    <model fallback='allow'>core2duo</model>
  </cpu>
  <clock offset='utc'/>
  <on_poweroff>destroy</on_poweroff>
  <on_reboot>restart</on_reboot>
  <on_crash>destroy</on_crash>
  <devices>
    <emulator>/usr/bin/qemu-system-x86_64</emulator>
    <disk type='file' device='disk'>
      <driver name='qemu' type='qcow2'/>
      <source file='/mnt/disk/vm2/OSX.qcow2'/>
      <target dev='hda' bus='ide'/>
      <address type='drive' controller='0' bus='0' target='0' unit='0'/>
    </disk>
    <controller type='usb' index='0'>
      <address type='pci' domain='0x0000' bus='0x02' slot='0x01' function='0x0'/>
    </controller>
    <controller type='ide' index='0'/>
    <controller type='sata' index='0'>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x1f' function='0x2'/>
    </controller>
    <controller type='pci' index='0' model='pcie-root'/>
    <controller type='pci' index='1' model='dmi-to-pci-bridge'>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x1e' function='0x0'/>
    </controller>
    <controller type='pci' index='2' model='pci-bridge'>
      <address type='pci' domain='0x0000' bus='0x01' slot='0x01' function='0x0'/>
    </controller>
    <interface type='bridge'>
      <mac address='52:54:00:00:20:20'/>
      <source bridge='br0'/>
      <model type='e1000-82545em'/>
      <address type='pci' domain='0x0000' bus='0x02' slot='0x03' function='0x0'/>
    </interface>
    <input type='mouse' bus='ps2'/>
    <input type='keyboard' bus='ps2'/>
    <graphics type='vnc' port='-1' autoport='yes' websocket='-1' listen='0.0.0.0'>
      <listen type='address' address='0.0.0.0'/>
    </graphics>
    <video>
      <model type='vga' vram='9216' heads='1'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x0'/>
    </video>
    <memballoon model='virtio'>
      <address type='pci' domain='0x0000' bus='0x02' slot='0x02' function='0x0'/>
    </memballoon>
  </devices>
  <seclabel type='none' model='none'/>
  <qemu:commandline>
    <qemu:arg value='-device'/>
    <qemu:arg value='usb-kbd'/>
    <qemu:arg value='-device'/>
    <qemu:arg value='usb-mouse'/>
    <qemu:arg value='-device'/>
    <qemu:arg value='isa-applesmc,osk=$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$'/>
    <qemu:arg value='-smbios'/>
    <qemu:arg value='type=2'/>
    <qemu:arg value='-device'/>
    <qemu:arg value='ide-drive,bus=ide.1,drive=MacDVD'/>
    <qemu:arg value='-drive'/>
    <qemu:arg value='id=MacDVD,if=none,snapshot=on,file=/mnt/disk/vm2/OSX.10.9.iso'/>
  </qemu:commandline>
</domain>

 

Hardware:

MOBO: ASRock - 970 Extreme3 R2.0

CPU: AMD FX-6300 Six-Core @ 3.5 GHz

Link to comment
  • 4 weeks later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.