Background

My goal is to run MacOSX in a virtual machine - not on my Macintosh, but on my regular desktop, which is a quad-core Intel Haswell beast, running OpenSUSE.

This document intends to capture some breadcrumbs, so that I can repeat the process if forced to do so at gunpoint.

Creating a MacOSX virtual machine

Using the distribution media (Snow Leopard) that came with the Mac, it is quite easy to create a virtual machine using Virtual Box on the Mac itself. Experiments trying to install directly on the openSUSE machine ended in failure, somewhere during the install procedure the OS crashes.

Running a MacOSX VM on openSUSE

You need to disable EFI emulation in the virtual machine and use iBoot iso. iBoot comes in different flavours, for Haswell, iBoot-Haswell.iso was the one to use. It is also important that at least 20MB of memory is allocated to the virtual video card. Once the iBoot starts, you can use the arrow keys to select a different volume to boot.

For installation purposes, you can swap the iBoot image after booting for the Snow Leopard installer by pressing F5. Unfortunately, installation never succeeds, and it is necessary to use a Mac to install the VM.

Creating a Yosemite VM on the Mac

Downloading the Yomsemite installer from the app store and attempting to upgrade the VM does not work.

You have to use the Unibeast method. I used Unibeast 5.2.0. The procedure, clipped from the Unibeast documentation is:

Alas, the resultant VM will not boot on openSUSE - even trying the Haswell hack mentioned in the YosemiteZone section.

Yosemite Zone

YosemiteZone is an actual ISO image downloaded through bittorrent Arr!. But it seems to be the only way of actually installing MacOSX directly on an openSUSE VM. I would be happy to pay Apple for a product that could do what I want it to do, but that doesn't seem possible.

For Haswell, do the following:

VBoxManage modifyvm Yosemite64 --cpuidset 00000001 000306a9 00020800
80000201 178bfbff
This doesn't seem to eliminate the missing driver error message when doing the Unibeast method.

Installation is mostly smooth, but make sure there is sufficient RAM etc.

Booting from a USB in Virtual Box

Create a raw vmdk using undocumented commands

VBoxManage internalcommands createrawvmdk -filename foo.disk -rawdisk
/path/to/usbimage

Sierra Hackintosh

I had a lot of frustration in the Sierra install. I could not get the unibeast installer to boot on the latest VirtualBox, even on a Mac. To boot, my version of VirtualBox no longer boots using iBoot, so I'm forced back to copying a prebooted virtual machine image.

One interesting thing was that I was able to get Sierra to run on my NUC via the following recipe:

You need: A Mac (eg Mac mini); 8GB USB flash drive; 20GB or better UDB hard drive; NUC.

Installing High Sierra in VirtualBox on Catalina Host

I found that using Unibeast did not work - installation would display the Apple and crash and go into Guru mode.

Instead, I found a script that turns a MacOSX install app into an ISO that can be mounted in the VBox virtual DVD drive. This is much more convenient than the Unibeast method. You need to set the boot mode to UEFI for this to work, the opposite of what is required for Unibeast :(.