1
0
mirror of https://github.com/foxlet/macOS-Simple-KVM.git synced 2024-06-26 08:28:31 +02:00
Go to file
Mitchel Humpherys b7f78be0c3 basic.sh: Get system disk image path from environment
Currently users have to modify the basic.sh script by hand to add the path
to the system disk image they created.  Rather than having them modify the
script, just grab it from the environment.
2019-06-19 16:46:41 -07:00
docs [DOCS] Clarify CPUs. 2019-06-19 18:59:34 -04:00
firmware [FIRMWARE] Set default vars to 1280x720. 2019-05-06 03:29:38 -04:00
tools [CONF] Revert to e1000 due to iCloud services requirement. 2019-06-12 21:27:47 -04:00
.gitignore Add tools, jumpstart, and firmware. 2019-04-22 23:20:12 -04:00
basic.sh basic.sh: Get system disk image path from environment 2019-06-19 16:46:41 -07:00
ESP.qcow2 [ESP] Update Clover to r4945, enable sound in Catalina. 2019-06-05 17:52:30 -04:00
jumpstart.sh [TOOLS] Revamp FetchMacOS. 2019-06-07 02:55:09 -04:00
make.sh [TOOLS] Formatting. 2019-06-07 02:55:17 -04:00
README.md basic.sh: Get system disk image path from environment 2019-06-19 16:46:41 -07:00

macOS-Simple-KVM

Documentation to set up a simple macOS VM in QEMU, accelerated by KVM.

By @FoxletFox, and the help of many others. Find this useful? You can donate here!

New to macOS KVM? Check the FAQs.

Getting Started

You'll need a Linux system with qemu (3.1 or later), python3, pip and the KVM extensions installed for this project. A Mac is not required. Some examples for different distributions:

sudo apt-get install qemu-system qemu-utils python3 python3-pip  # for Ubuntu, Debian, Mint, and PopOS.
sudo pacman -S qemu python python-pip            # for Arch.
sudo xbps-install -Su qemu python3 python3-pip   # for Void Linux.

Step 1

Run jumpstart.sh to download installation media for macOS (internet required). The default installation uses Catalina, but you can choose which version to get by adding either --high-sierra, --mojave, or --catalina. For example:

./jumpstart.sh --mojave

Note: You can skip this if you already have BaseSystem.img downloaded. If you have BaseSystem.dmg, you will need to convert it with the dmg2img tool.

Step 2

Create an empty hard disk using qemu-img, changing the name and size to preference:

qemu-img create -f qcow2 MyDisk.qcow2 64G

Note: If you're running on a headless system (such as on Cloud providers), you will need to add -nographic and -vnc :0 -k en-us (for VNC support) to the end of basic.sh.

Then run basic.sh to start the machine and install macOS, setting the SYSTEM_DISK environment variable to the path to your freshly created system disk image:

SYSTEM_DISK=MyDisk.qcow2 ./basic.sh

Remember to partition in Disk Utility first!

Step 2a (Virtual Machine Manager)

If instead of QEMU, you'd like to import the setup into Virt-Manager for further configuration, just run make.sh --add.

Step 3

You're done!

To fine-tune the system and improve performance, look in the docs folder for more information on adding memory, seting up bridged networking, adding passthrough hardware (for GPUs), and enabling sound features.