How to run MAC OS VM under KVM /qemu
//DRAFT We will show how to runMAC OS Virtual Machine under KVM /native qemu / This is only in educational purposes.
First of all you need to build your qemu from sources. Even if you have qemu/libvirt already installed our custom build should not conflict with it.
Check qemu module:
lsmod | grep kvm
if not listed add:
modprobe kvm
If you installing on environment that already using qemu/libvirt yo uneed to know where is qemu located in order to do not affect it:
whereis qemu qemu: /usr/share/qemu
OK go to /opt and download qemu sources:
git clone git://git.qemu-project.org/qemu.git cd qemu git submodule init git submodule update --recursive git submodule status --recursive git checkout stable-4.2 #or check what stable version exist at this time
Make sure you enabled APPLESMC in Makefile. Add if not exists the next records in Makefile :
# Makefile for QEMU. CONFIG_NE2000_ISA=y CONFIG_HPET=y CONFIG_APPLESMC=y
You may also check all APPLE related settings like with search:
grep "APPLE" -r .
Install gcc if not exists:
yum install gcc
..And dev tools if not installed:
yum groupinstall "Development Tools"
Add depencies:
yum install glib2-devel glibc-utils zlib zlib-devel pixman-devel
OK next configure to build qemu to custom binary
./configure --prefix=/usr/bin/qemundi
# no need: Not sure it need but I've created the target build dir: # mkdir /usr/bin/qemundi make
Next make install:
make install
OK your custom qemu build shoiuld be located at /usr/bin/qemundi/.. Check version:
/usr/bin/qemundi/bin/qemu-system-x86_64 --version QEMU emulator version 4.2.50 (v4.2.0-2711-g29e0855c5a-dirty) Copyright (c) 2003-2020 Fabrice Bellard and the QEMU Project developers
Next we will prepare MAC OS.
cd /opt git clone https://github.com/kholia/OSX-KVM.git cd OSX-KVM
Refer to the git README for actual steps https://github.com/kholia/OSX-KVM However we will show our way here.
fetch installer:
./fetch-macOS.py #if you got error like /usr/bin/env no such file or directory most likely you have only python3 installed then try: # python3 fetch-macOS.py # or install python2
- mkdir build
- cd build
- ../configure
- make