Page 1 of 6

Status of OSX on OSX

Posted: 21. May 2014, 11:03
by socratis
Important Note
Please DO NOT use this thread to ask specific questions about X or Y not working. This thread SHOULD be about basic installation for bare minimum functionality. If you have a specific question/issue/problem, start a new thread.


Here is what works and what doesn't work with different OSX guests on different VBox versions.

Setup
Basic template for "Mac OS X $version (64 bit)", should be sufficient for a start. For unsupported guests you could use the generic 64-bit option, or for 10.10 (until it is supported) the 10.9 (64-bit) template. After that you can make modifications till things don't break. See Modifications later.

Booting
(10.x# stands for CPUs > 1)

VirtualBox 5.x - Supported guests
Version		10.6	10.6#	10.7	10.7#	10.8	10.8#
5.0.16		Yes	No	Yes	No	Yes	Yes

Version		10.9	10.9#	10.10	10.10#	10.11	10.11#
5.0.16		Yes	Yes	Yes	Yes	Yes	Yes
VirtualBox 5.x - Unsupported guests
Version		10.4	10.4#	10.5	10.5#
5.0.16		No	No	No	No

VirtualBox 4.x - Supported guests
Version		10.6	10.6#	10.7	10.7#	10.8	10.8#	10.9	10.9#
4.1.32,4.2.24	No	No	No	No	No	No	No	No
4.3.0-4.3.6	Yes	No	Yes	No	Yes	Slow	Yes	Yes
4.3.8*		No	No	Yes	No	Yes	Slow	Slow	Yes
4.3.10-4.3.18	Yes	No	Yes	No	Yes	Slow	Yes	Yes
4.3.20       	Yes	No	Yes	No	Yes	Slow	Slow	Slow
VirtualBox 4.x - Unsupported guests
Version		10.4	10.5	10.5#	10.10	10.10#
4.1.32,4.2.24	Yes	No	No	No	No
4.3.0-4.3.6	Yes	Yes	Yes	Slow	Slow
4.3.8*		No	No	No	Slow	Slow
4.3.10-4.3.18	No	No	No	Slow	Slow
When Slow is mentioned, it means that in my system there is a lot of lagging, even moving the mouse or typing at the Terminal. This is only during the Installation phase. Deleting or renaming "/System/Library/Extensions/AppleIntelCPUPowerManagement.kext" later, usually fixes a lot of issues.

Known issues
  • 4.3.8 works only if you issue the command (see ticket #12736):
    VBoxManage setextradata "<VM_Name>" VBoxInternal/CPUM/MSRs/MsrCoreThreadCount/First 0x00000035
  • 10.4, 10.5 are not officially supported.
  • The number one trouble maker is the "/System/Library/Extensions/AppleIntelCPUPowerManagement.kext" extension. You should delete or rename it. Many guests have all sorts of weird issues (high CPU, Kernel Panics, etc.) or don't boot at all. Updates to the "latest and greatest" OSX may overwrite this. Doing so will allow you to increase the number of CPUs in some of the guests.
  • You'd better disable audio in the VM settings. If it is detected, it is prone to kernel panics on the guest (10.6) and performance issues.
  • ClamAV is known to cause high CPU usage. A workaround:
    sudo /bin/launchctl unload -w /System/Library/LaunchDaemons/org.clamav.clamd.plist
  • For 10.5, in order to update to 10.5.8:
    • Create a clone of 10.5 basic install (let's call them original and mirror).
    • Mount the HD of the original as a secondary HD on your mirror.
    • Run the 10.5.8 update on your mirror, but install it on your original.
    • Delete or rename "/System/Library/Extensions/AppleIntelCPUPowerManagement.kext" from the original HD.
Host(s) info
  • Mac model: MacBookPro 8,3 - 2.3 GHz Intel Core i7.
  • Cores: 4 physical, 8 virtual.
  • RAM: 16 GB.
  • Graphics: AMD Radeon HD 6750M, 1 GB VRAM.
  • Mac model: iMac 11,3 - 2.93 GHz Intel Core i7.
  • Cores: 4 physical, 8 virtual.
  • RAM: 16 GB.
  • Graphics: AMD Radeon HD 5750, 1 GB VRAM.
Modifications
My typical modifications are as follows (all of them are optional):
  • Decrease memory in 10.5, 10.6 to 1024 MB. Doesn't need more than that.
  • Remove Floppy. Change the boot order to CDROM, HD.
  • Increase CPUs to 2, if you can (see Booting section earlier).
  • Increase VRAM to 128 MB, enable 3D acceleration.
  • Network, add 4 adapters (HostOnly, Internal, Bridged, NAT).
  • Enable Bidirectional Shared_Clipboard and Drag'n'Drop.
  • Change the resolution to 1280x1024 (see the manual, Ch. 3.12.1 for more options):
    VBoxManage setextradata "<VM_Name>" VBoxInternal2/EfiGopMode 3
  • Give your guest a valid serial number (copy it from "About this Mac" dialog box):
    VBoxManage setextradata "<VM_Name>" VBoxInternal/Devices/efi/0/Config/DmiSystemSerial <YourSerialNumber>
Updates
This post will be updated as more information becomes available. Please do submit your experiences. Personally, I will try with the latest 4.2.x and 4.1.x VirtualBox series.
  1. 2014.05.21: rpmurray: OS X 10.4 (Intel) works as a guest up through VB 4.3.6.
  2. 2014.05.21: Added information about 4.1.32, 4.2.24, 4.3.0, 4.3.2, consolidated table, added rpmurray's host configuration.
  3. 2014.10.20: Added information about 4.3.16, 4.3.18. Broke the table into Supported and Unsupported guests. Added information about OSX 10.10 (Yosemite).
  4. 2016.04.06: Finally, added information about 5.0.16. Will try to update previous 5.x versions. Supported guests was getting too wide, so it broke in two.
Background: I tried to make a fresh installation of a 10.5 guest on a 10.6.8 host with VB 4.3.12. It failed. I went back several VB versions to see what works and what doesn't. This post is the result of this exercise.

Re: Status of OSX on OSX

Posted: 21. May 2014, 12:27
by loukingjr
Seeing that you are not a moderator. How is it you assume others can't post questions to this thread or any other non-locked thread? Just curious.

Re: Status of OSX on OSX

Posted: 21. May 2014, 12:43
by loukingjr
I would point out this post is no doubt a good starting point, however your results may vary depending on the age of your Mac, whether it's a MacBook, a MacBook Pro (with or without a Retina display), a MacBook Air, an iMac or a Mac Pro.

Re: Status of OSX on OSX

Posted: 21. May 2014, 14:44
by rpmurray
To add some data points to what socratis provided:

OS X 10.4 (Intel) works as a guest up through VB 4.3.6 on my iMac "Core i7" 2.93 27-Inch (Mid-2010), but fails on VB versions 4.3.8 and above with a kernel panic. I can also confirm the issue with OS X 10.5.

I haven't had much time to test various scenarios yet, but since this started happening right after the devs added the new code in VB 4.3.8 that matches the host CPU against a DB of known CPUs to tweak the MSRs, I suspect that that's where the problem lies.

Also, any attempt to use the OS X (32-bit) option to install a guest just brings up a blank black screen when you start the guest.

Re: Status of OSX on OSX

Posted: 21. May 2014, 14:54
by loukingjr
I think the reality is, it's always going to be a hit and miss proposition to run OSX guests, even on Apple hardware. When Apple started taking out CD/DVD drives from their line, I threw out all my install disks. So basically I can't test anything other than 10.9 or 10.8.

Re: Status of OSX on OSX

Posted: 21. May 2014, 16:10
by socratis
rpmurray wrote:OS X 10.4 (Intel) works as a guest up through VB 4.3.6
The question is: Does it boot and install?

I have 10.5 installed since 4.3.0 (I think, or maybe .2), and it still runs fine in 4.3.12. Yet, I cannot install it in 4.3.12. That's why I primarily started this thread; to see how far back I should go in order to install a specific OSX version. So, if someone comes and says "I have VB X.y.z and I can't install OSX i.h" I could point this out. Not to be a look-at-me-I'm-posting karma-whore ;), others can fill up this job.

I updated the original post to reflect your input. Thanks...

Re: Status of OSX on OSX

Posted: 22. May 2014, 04:46
by rpmurray
socratis wrote:
rpmurray wrote:OS X 10.4 (Intel) works as a guest up through VB 4.3.6
The question is: Does it boot and install?
Yes, I just tested it again and using VB 4.3.6 I'm able to boot and install OS X 10.4.10 and update it to 10.4.11 using software update. With one CPU it's idling at about 10% CPU usage on the host. I've tried it with multiple CPUs up to 4. When the guest is idle it's about 10% more CPU usage on the host per guest CPU. It's pretty snappy regardless of the number of CPUs. With 10.5 and above as guests they usually grab 100% of a CPU even when idle.

Installing VB 4.3.12 and attempting to boot this same disk using the same settings gives me a black screen and a kernel panic.

Host info
  • Mac model: iMac 11,3 - 2.93 GHz Intel Core i7.
  • Cores: 4 physical, 8 virtual.
  • RAM: 16 GB.
  • Graphics: ATI Radeon HD 5750, 1 GB VRAM.

Re: Status of OSX on OSX

Posted: 22. May 2014, 20:01
by socratis
Thanks rpmurray, I've updated/consolidated the table with your info as well.

Re: Status of OSX on OSX

Posted: 23. May 2014, 04:56
by rpmurray
Since you're testing against VB 4.1.32 and 4.2.24 I thought I'd try OS X 10.4 with them also. Here's the results when the host OS is OS X 10.9.3.

In VB 4.1.32 when installing OS X 10.4 as a guest, if you have the OS version setting set for 32-bit the VM will abort immediately when you try to run it. If you choose 64-bit it boots and lets you install the OS.
In VB 4.2.24 when installing OS X 10.4 as a guest, if you have the OS version setting set for 64-bit it will kernel panic after starting. If you choose 32-bit it boots and lets you install the OS.

Your known issues mentioned AppleIntelCPUPowerManagement.kext. While I was using VB 4.3.6 I ran the OS X 10.4 VM and removed that kext from the Extensions folder. After updating to VB 4.3.12 and running the OS X 10.4 VM it now does not panic and boots. So apparently the root cause of the problem is the AppleIntelCPUPowerManagement kext. This happens to be the same kext that verifies the CPUID when you attempt an installation of OS X so I'm wondering if removing that from the OS Installer disk would allow the installation to work in 4.3.12, or if the installer would fail because it's missing. The only reason I don't want to test this is because so far I've been working to install OS X guests as a plain vanilla install, with no hacks or modifications to the installer disk, although I do modify VB.

Another nugget of information. Removing the AppleIntelCPUPowerManagement kext from a working OS X 10.4 VM causes the host CPU usage of the guest to climb to over 100% when running, even when it's idle. Whereas with the kext the CPU usage is around 10% when idle.

Just for grins I removed the AppleIntelCPUPowerManagement kext from a working OS X 10.5 VM and had the the CPU usage on the host fall from over 100% when idle to between 30 and 40% when the guest is idle.

On my host's main Snow Leopard partition when I was running VB 4.0.16 I could install OS X as a guest using the 32-bit template, after updating to 4.0.18 you needed to select 64-bit or it would panic. The only reason I updated at the time was that there was a fix in 4.0.18 that got networking working in my Win 7 VM whereas under 4.0.16 it was unable to connect using Bridged (but NAT would work).

All this OS X 10.4 guest information is probably useless to you but I find it interesting trying to get the older OS X versions working as guests. I'll be working on 10.5 and 10.6 over the weekend to see what kind of errors I get with them in the VB 4.3.x releases. Since this started happening with VB 4.3.8 I suspect that it has something to do with the work the devs have been doing to improve the emulation of the MSRs. I'm hoping that I can convince them to either include a setting (through VBoxManage) that would allow us to turn it off (and use the old behavior) on a individual VM basis, or track down the particular MSRs that trigger the panic and do a fix.

Re: Status of OSX on OSX

Posted: 26. May 2014, 21:42
by rpmurray
Over the weekend I tried installing OS X 10.4, 10.5 and 10.6 in VirtualBox 4.1.32, 4.2.24, 4.3.6, 4.3.8 and 4.3.12. Here are the results:
VirtualBox	10.4		10.5		10.6
4.1.32 (32-bit)	Aborts		Aborts		Aborts
4.1.32 (64-bit)	Install		Install		Install

4.2.24 (32-bit)	Install		Install		Install
4.2.24 (64-bit)	Kernel Panic	Kernel Panic	Kernel Panic

4.3.6  (32-bit)	Black Screen	Black Screen	Black Screen
4.3.6  (64-bit)	Install		Install		Install

4.3.8  (32-bit)	Black Screen	Black Screen	Black Screen
4.3.8  (64-bit)	Kernel Panic	Kernel Panic	Install

4.3.12 (32-bit)	Black Screen	Black Screen	Black Screen
4.3.12 (64-bit)	Kernel Panic	Kernel Panic	Install
Install means you get past the verbose mode text when starting the VM with the OS X installer and get to the GUI screen where you can start the installation.
Aborts means that the VM aborts immediately when started and shows Abort in the VirtualBox Manager.
Black Screen means the VM starts but all you get is an empty black screen, no error messages or other verbose mode text indicating startup.
Kernel Panic means that the VM starts, the verbose mode text displays progress and ends with a kernel panic.

Depending on the version of VirtualBox you install with, the 32-bit mode may show as "Mac OS X Server", "Mac OS X" or "Mac OS X (32-bit)" in the General Setting under Version. If it does not end in (64-bit) then it's 32-bit.

Whatever broke in VB 4.3.x that keeps OS X 10.4 and 10.5 from installing seems to have happened starting with 4.3.8.

Re: Status of OSX on OSX

Posted: 30. May 2014, 14:40
by loukingjr
As I mentioned in another post I managed to install OSX 10.6 as a guest in VB 4.3.12. However, I had to install it using Mac SnowLeopard 32bit because the 64bit install seemed to hang. 10.6 seems to run okay, even iTunes and audio works. What I can't seem to do is run the 10.6.8 Combo Updater. Once installed rebooting results in a kernel panic. I've tried various methods and still can't seem to get it to work.

Re: Status of OSX on OSX

Posted: 30. May 2014, 16:20
by rpmurray
loukingjr wrote:However, I had to install it using Mac SnowLeopard 32bit because the 64bit install seemed to hang.
I have the opposite experience, where 32-bit hangs and 64-bit installs. What model Mac are you using? I have a 27-inch 2010 iMac - 2.93 GHz Intel Core i7.

I have a ticket about the problem installing versions of OS X earlier than 10.6 in the bugtracker, Ticket #13069. Along with my issue with the 32-bit template when installing on any of the VB 4.3.x releases. Do you want to share a log of your working 32-bit install so I can see if there are any clues as to why mine don't work?

I've only tried getting to the OS X 10.6 installer but not actually installing on VB 4.3.12 so based on what you're saying I'll try installing this weekend to see if I have the same problem using the 10.6.8 Combo updater. I have been able to install 10.6 and update to 10.6.8 using VB 4.3.6.

Re: Status of OSX on OSX

Posted: 30. May 2014, 16:27
by loukingjr
most of the info about the iMac I am using is in my signature other than it's a late 2012 27". I'm attaching the latest vbox.log although it says Clone now since with all the messing around I've been doing I borked the original. :lol:

Re: Status of OSX on OSX

Posted: 3. Jun 2014, 21:46
by rpmurray
After taking a look at your logs I was able to get OS X 10.6 to install and update to 10.6.8 in VB 4.3.12 using the 32-bit template by disabling Nested Paging in the System > Acceleration settings. Apparently I had that enabled when switching back and forth between the 32-bit and 64-bit templates and that was what was keeping the installer from starting. I noticed in your log that you had nested paging enabled. Have you tried to disable it when installing the combo update?

Also, my iMac can run OS X 10.6 natively while yours cannot. I've found that I can get around a kernel panic I see in the guest on startup (traced to AppleIntelCPUPowerManagement.kext) by presenting the CPUID (family, model, stepping) of a CPU that is supported by the OS. I do this using the VBoxManage modifyvm <vmname> --cpuidset command. If you want to give it a shot you could try:

Code: Select all

VBoxManage modifyvm <vmname> --cpuidset 00000001 000006fb 00000800 80000209 078bfbff
If that doesn't work you can remove it by editing the <vrname>.vbox file and remove the lines that read:

Code: Select all

        <CpuIdTree>
          <CpuIdLeaf id="1" eax="1787" ebx="2048" ecx="2147484169" edx="126614527"/>
        </CpuIdTree>

Re: Status of OSX on OSX

Posted: 3. Jun 2014, 23:18
by loukingjr
thanks for the info. I had actually reinstalled SL using the 64bit template using a developer .iso. nested paging wasn't a problem. however, telling the guest it has a different CPU than the host made all the difference. thanks again for that. now if I can figure out why the internet is 1/4 the speed as all my other guests I'd be happy. video is iffy though. not just streaming.