HOW TO: Install macOS Catalina on Linux

A quick tutorial on how set up a simple macOS VM in QEMU, accelerated by KVM. Jump over the break to learn more…


Kernel-based Virtual Machine (KVM) is a virtualization module in the Linux kernel that allows the kernel to function as a hypervisor.

KVM converts Linux into a type-1 (bare-metal) hypervisor and requires a processor with hardware virtualization extensions, such as Intel VT or AMD-V.

More info.





  • Qemu 3.1 or later
  • python3
  • pip
  • KVM modules enabled
  • A Mac computer is NOT required



1. Install dependencies. You might also want to install git (not shown in the screenshot ). Depending on your distro:

  • For Ubuntu, Debian, Mint, and PopOS: sudo apt-get install qemu-system qemu-utils python3 python3-pip
  • For Arch and Arch based distros: sudo pacman -S qemu python python-pip
  • For Void: sudo xbps-install -Su qemu python3 python3-pip
  • For openSUSE Tumbleweed: sudo zypper in qemu-tools qemu-kvm qemu-x86 qemu-audio-pa python3-pip
  • For Fedora: sudo dnf install qemu qemu-img python3 python3-pip


2. Clone this git and cd to path.


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


4. Create an empty hard disk using qemu-img, changing the name and size to preference: qemu-img create -f qcow2 MyDisk.qcow2 64G

NOTE:  Change “MyDisk” to your preffered disk name. Change “64G” to your prefered disk size ( min. 20G )


5.  Edit with sudo nano and add this at the end:

-drive id=SystemDisk,if=none,file=MyDisk.qcow2 \
-device ide-hd,bus=sata.4,drive=SystemDisk \

Save the changes and exit.

NOTE: change “MyDisk” to your disk name set in previous step.


6.  Run ./


7.  Boot into macOS Catalina Installer


8. Go to “Disk Utility” and format your disk


9.  Once your disk is ready, you can install macOS Catalina. From now on, it’s your typical macOS install. No extra steps required.


10. You’re done! To fine-tune the system and improve performance, look in the docs folder for more information on adding memory, setting up bridged networking, adding passthrough hardware (for GPUs), tweaking screen resolution, and enabling sound features. For further support, check out the official github page.



We don't think that using an adblocker = piracy. That's simply not true. We use and recommend uBlock Origin.

However, as a small non-corporate website, we would appreciate it if you'd consider whitelisting FSM in your adblock of choice.

Alternatively, consider donating using the options below....

Monero (XMR) 43GnqUNJrTi9QyL7kEH8vM8pgWGCE6bjv1FSRipeNMM4TTeNnUVsRBb6MfMpQYxtLE7ReonxVVSXz2rFCEdW5H11LC3x73b
Bitcoin (BTC) 1Hfuq77gKKFJeNcq4EP4dQK3yDRWrFEwJR
Bitcoin Cash (BCH) qzmdm6e6q5wf2p6sxz2mst7cenz60newwc5m4e9js8
Ether (ETH) 0x5f02869278C24A6579d3820f52AD15936D6F9d69
More content?  
Ads Blocker Image Powered by Code Help Pro

Congrats on using an adblocker. We mean it.

Please support us by disabling your AdBlocker or whitelist us.

Thank you! ❤️