go back to [[:start|main page]]
======Virtual Machines on linux======
Here we supposed we are running Ubuntu 18.04 LTS and we simply install **VirtualBox** using **apt** :
sudo apt install virtualbox
sudo apt install virtualbox-ext-pack
======Mac OS X======
We will now install a macOS virtual machine. Virtual machine will be called **VM** in the following.
The important thing before starting is to get the **vmdk** file for the version macOS version we want to run on the VM. The **vmdk** file is a Virtual Machine Disk define in an open format provided by VMware.
For macOS 10.13 High Sierra you can get this file [[https://drive.google.com/file/d/1Tu9QHFU0_msOY44YMq4WrKblSfKXbPcn/view|here]].
After downloading simply decompress to get the **vmdk** file:
unzip ../MacOS\ High\ Sierra\ 10.13\ \(Virtualbox\).zip
For macOS 10.15 Catalina the vmdk file can be obtained [[http://www.mediafire.com/file/hrl9ymq1mz4rlxw/Catalina_Virtual_Disk_Image_by_Intoguide.rar/file|here]]. Then you will need to have unrar to decompress it :
sudo apt install unrar unrar-free # skip this if unrar is already installed
unrar e Catalina\ Virtual\ Disk\ Image\ by\ Intoguide.rar
Sometimes unrar files are coded with password, if it is the case try typing : intoguide.com
Start **VirtualBox** using command line or desktop icon.
When the window appears click on **New** icon and fill the 3 values required, for Catalina, it is:
* name : macOS-Catalina (or whatever name you want)
* type : Mac OS X
* version : Mac OS X(64_bit)
For High Siera, version is a little different :
* version : Mac OS 10.13 High Sierra (64-bit)
Click **next** and set the memory to at least 4096 MB (5120 or 6144 MB will be nice if you have enough RAM on you computer)
Click **next**, select **use an existing virtual hard disk file** and click on the icon on the right to choose the **vmdk** file. For Catalina, it is **macOS Catalina Virtual Disk Image.vmdk** and for High Sierra **MacOS High Sierra 10.13.vmdk**.
Click **create**. After that a VM called **macOS-Catalina** should appear.
We will now modify some settings.
Click on **settings** icon.
Click on **System**. In the **Motherboard** tab, deselect **Floppy**. In the **Processor** tab, select 4 CPUs.
Click on **Display**. In **Screen** put display memory to the maximum 128 MB.
Click on **Network**. Set **attached to:** Bridged Adapter, the **name:** of the adapter should be ok, change it if not.
Click on **USB** and select USB 3.0
Then change directory to the folder where the VM has been created. If you do not know, clic **File** menu on VirtualBox window and the click **Preferences...**. **Default Machine Folder:** will give the path to the folder where the VM has been created:
cd /path/to/vm/folder
cd macOS-Catalina
In this folder, a file called **macOS-Catalina.vbox** containing all the settings of the VM should exist.
To have your VM working you need to manually patch this file with the following commands :
vmname=macOS-Catalina
VBoxManage modifyvm "${vmname}" --cpuidset 00000001 000106e5 00100800 0098e3fd bfebfbff
VBoxManage setextradata "${vmname}" "VBoxInternal/Devices/efi/0/Config/DmiSystemProduct" "iMac11,3"
VBoxManage setextradata "${vmname}" "VBoxInternal/Devices/efi/0/Config/DmiSystemVersion" "1.0"
VBoxManage setextradata "${vmname}" "VBoxInternal/Devices/efi/0/Config/DmiBoardProduct" "Iloveapple"
VBoxManage setextradata "${vmname}" "VBoxInternal/Devices/smc/0/Config/DeviceKey" "ourhardworkbythesewordsguardedpleasedontsteal(c)AppleComputerInc"
VBoxManage setextradata "${vmname}" "VBoxInternal/Devices/smc/0/Config/GetKeyFromRealSMC" 1
Very important setting for non Intel host CPU, e.g. AMD rizen5, must be defined :
VBoxManage modifyvm "${vmname}" --cpu-profile "Intel Core i7-6700K"
Now we can start the VM by clicking the **Start** icon. The press ESC key within 5 seconds to interrupt the boot process. A command line prompt will appear, type **install.nsh** :
Shell> install.nsh
//Note : for High Sierra , you do not need to interrupt the boot with ESC, it should proceed directly to the install.//
The installation will start and last for about 20 minutes. After that, you should have a working Mac OS Catalina VM ... enjoy !!
go to [[vm:main|top]].
----
===Additional Commands===
To access the VM via SSH, add sharing in MacOS by clicking **System Preferences** icon and the **Sharing**. Allow remote login for the macos user, then you can access the MacOS VM from linux simply with ssh.
ssh bob@bobs-imac # bob is the macos user name and bobs-imac is the macos hostname
You can get the hostname by typing hostname in a macos terminal.
To get the IP address of the VM, on a Mac OS terminal type :
ifconfig # this list all the network devices , our is en0
ipconfig getifaddr en0
You also can access th VM in SSH with the IP address (IPADDR):
ssh bob@IPADDR
To mount on linux a shared macos folder, on mac VM select **File Sharing** (after clicking on **System Preferences** and ***Sharing** icons), select the Windows password for the user. The mount command on the linux side is :
sudo mount.cifs //IPADDR/SharedFolder /mnt/macos/ -o user=bob,nounix,sec=ntlmssp,noperm,rw
The IP address **IPADDR** can be replaced by the hostname, **SharedFolder** is the name of the macos shared folder and **bob** is the user name.
go to [[vm:main|top]].
----
===Troublshouting===
If you cannot drag windows inside the VM or if you cannot highlight a text area, it is probably due to a wrong mouse setting. No clear solution on the web, but a workaround is to add a second physical mouse that only operates in the VM, ([[https://forums.virtualbox.org/viewtopic.php?f=22&t=93432&p=475427#p475427|see here how to do it)]].
go to [[vm:main|top]].