Short entry here how to get the latest macOS running inside the VirtualBox on your Linux machine (x86_64 Intel) We will need the following :
- Linux x86_64 (Im using Mint 19.1) Intel Core CPU with at least 8 GB RAM and a decent fast SSD drive
- VirtualBox (current 6.0.8)
- macOS Catalina install ISO (vanilla)
- Clover.iso
- Extra USB mouse (for USB pass-through in VirtualBox)
I have prepared Clover for 1280×1024 resolution, both SIP enabled or SIP disabled versions, and the whole howto will be about running Catalina in 1280×1024 (If you want to change this you should read the customizing Clover article here -> https://astr0baby.wordpress.com/2019/01/19/customizing-the-clover-iso-mojave-loader/
SIP-Enabled 1280×1024 Clover.iso can be downloaded here -> https://mega.nz/#!S4MAhQoZ!nrAKce_AFhxZLm21sIjwHFpeFw6dW7Salpvs50tywYg
SIP-Disabled 1280×1024 Clover.iso can be downloaded here -> https://mega.nz/#!upc21CaT!wCUnzknVODKmbwrC6NCH4engMKU7YpMyn9ezguwwx4A
Catalina-Beta iso can be downloaded here -> https://gofile.io/?c=MmX49O
Once we have these files downloaded, lets prepare the VirtualBox Catalina environment. First we need to create a new VM with the following values; remember make sure you use big enough VDI disk around 50GB and follow the below instructions ..
I am using static IPs for my VMs and separate VLANs so you can change this as you like, the networking script is included below which needs to be executed before the VM starts and only when the vboxnet0 interface is loaded ! (usually after you start VirtualBox)
Here we are using a little trick to fix the “cannot move windows in Catalina VM” if you just use the native VirtualBox mouse, so we will plug in a real secondary USB mouse and add it to USB Device Filters so that the VM can use this directly.
After you create your Catalina VirtualBox environment (make sure you follow the above screenshots correctly, otherwise it won’t work) we will apply the following shellscript to the VirtualBox Catalina Guest (save it as catalina.sh, chmod +x and execute it)
#!/bin/bash readonly VM_RES="1280x1024" readonly NAME="Catalina" VBoxManage modifyvm "$NAME" --usbxhci on --firmware efi --chipset ich9 --mouse usbtablet --keyboard usb VBoxManage setextradata "$NAME" "CustomVideoMode1" "${VM_RES}x32" VBoxManage setextradata "$NAME" VBoxInternal2/EfiGraphicsResolution "$VM_RES" VBoxManage modifyvm "$NAME" --cpuidset 00000001 000106e5 00100800 0098e3fd bfebfbff VBoxManage setextradata "$NAME" "VBoxInternal/Devices/efi/0/Config/DmiSystemProduct" "iMac11,3" VBoxManage setextradata "$NAME" "VBoxInternal/Devices/efi/0/Config/DmiSystemVersion" "1.0" VBoxManage setextradata "$NAME" "VBoxInternal/Devices/efi/0/Config/DmiBoardProduct" "Iloveapple" VBoxManage setextradata "$NAME" "VBoxInternal/Devices/smc/0/Config/DeviceKey" "ourhardworkbythesewordsguardedpleasedontsteal(c)AppleComputerInc" VBoxManage setextradata "$NAME" "VBoxInternal/Devices/smc/0/Config/GetKeyFromRealSMC" 1
NETWORK:
Here is my networking script I use (adjust to your needs) you will need the uml-utilities and bridge-utils ( on Debian/Ubuntu just run sudo apt–get install uml-utilities bridge-utils)
#Setup tap and bridge tunctl -t tap0 -u user ifconfig tap0 up brctl addbr br0 brctl setfd br0 0 ifconfig enp0s25 10.0.2.1 up ifconfig br0 10.0.2.2 netmask 255.255.255.0 broadcast 10.0.2.255 up brctl addif br0 tap0 vboxnet0 ifconfig tap0 0.0.0.0 sysctl net.ipv4.ip_forward=1 iptables --table nat -A POSTROUTING --out-interface wlan0 -j MASQUERADE
Next we will boot Catalina.iso normally via VirtualBox and get to the first stage macOS installer and erase the disk with and create APFS partition and install. .. Again this is exactly same like the previous Mojave install ( you can see the details here https://astr0baby.wordpress.com/2018/09/25/running-macos-mojave-10-14-on-virtualbox-5-2-18-on-linux-x86_64/ )
Once the 1st stage installer finishes (takes about 5 – 10 minutes) system will go for reboot, wait for it to do the cycle and when it comes back up again to the same installer just shut down the VM and replace the ISO from Catalina.iso to the Clover.iso we have downloaded earlier, this step is needed because the new drive is partitioned with APFS and current VirtualBox UEFI cannot see it. Clover.iso has these so we must use it as a bootloader every time we want to run Catalina in VirtualBox.
Next boot Catalina again with Clover.iso in place and select the Installer partition (move the arrow keys – mouse does not work there) and enter for confirmation.
Next 2nd installer stage will take considerably longer (around 30 minutes on a good SSD driver) so be patient. Once that is done the system will yet go for a reboot (if it gets stuck just hard-reset and boot again)
We boot Catalina again from VirtualBox (if you see errors on screen, shut down the VM and start again, this occasionally happens) and wait for the final user setup, network stuff etc.
For networking Im using a following setup (change accordingly if you wish to use other values)
IP 10.0.2.12 NetMask 255.255.255.0 GW: 10.0.2.2 DNS 8.8.8.8
We should be done and Catalina is up and online …
Now you will observer that there will be two mice usable, for working inside the Catalina guest, use the USB mouse we chose in USB Pass-through in VirtualBox
P.S in the scaled mode the Clover menu does not work well for some reason and one cannot move the arrow keys to select boot, so do not use scaled mode when booting Catalina, you can change it immediately afterwards to scaled mode after you boot it)
Updates work well, you just need to select the installer partition in Clover next time macOS gets a system update, which again takes some time to install. As of now you can see there is a 3rd Beta already released https://developer.apple.com/news/releases/?id=07022019e