macOS-Simple-KVM README

The project's README from github.com/foxlet/macOS-Simple-KVM. As one markdown file: README.md.

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 on Coinbase or Paypal!.

New to macOS and KVM? Check the FAQs.

Getting Started

You'll need a Linux system with qemu (3.1 or later), python3, pip and the KVM modules enabled. 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 python-wheel  # for Arch.
sudo xbps-install -Su qemu python3 python3-pip   # for Void Linux.
sudo zypper in qemu-tools qemu-kvm qemu-x86 qemu-audio-pa python3-pip  # for openSUSE Tumbleweed
sudo dnf install qemu qemu-img python3 python3-pip # for Fedora
sudo emerge -a qemu python:3.4 pip # for Gentoo

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

and add it to the end of basic.sh:

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

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

Then run basic.sh to start the machine and install macOS. Remember to partition in Disk Utility first!

Step 2a (Virtual Machine Manager)

  1. If instead of QEMU, you'd like to import the setup into Virt-Manager for further configuration, just run sudo ./make.sh --add.
  2. After running the above command, add MyDisk.qcow2 as storage in the properties of the newly added entry for VM.

Step 2b (Headless Systems)

If you're using a cloud-based/headless system, you can use headless.sh to set up a quick VNC instance. Settings are defined through variables as seen in the following example. VNC will start on port 5900 by default.

HEADLESS=1 MEM=1G CPUS=2 SYSTEM_DISK=MyDisk.qcow2 ./headless.sh

Step 3

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.

macOS-Simple-KVM (foxlet/macOS-Simple-KVM)

Searching Database…

这是什么?这是一组脚本和工具,用于在 QEMU 中搭建 macOS 虚拟机,并借助 KVM 加速,让你能在 Linux 主机上运行 macOS。
这是一个打包好的应用,还是需要我自己运行的脚本?它是一组 Shell 脚本(jumpstart.sh、basic.sh、make.sh、headless.sh),用于自动下载 macOS 安装介质,并启动和配置 QEMU 虚拟机,它不是独立的应用程序。
我要怎么用它跑起一个 macOS 虚拟机?运行 jumpstart.sh 下载 macOS 安装程序(可选择 --high-sierra、--mojave 或 --catalina),用 qemu-img 创建虚拟磁盘,然后运行 basic.sh 启动 QEMU 并安装 macOS。
我必须有一台真正的 Mac 才能用这个吗?不需要。你只需要一台 Linux 系统,安装 QEMU 3.1 或更高版本、python3、pip,并启用 KVM 模块。
在无显示器的服务器或云主机上也能直接用吗?不能直接用,需要额外步骤:无显示器或云端系统需要加上 -nographic 和 -vnc :0 -k en-us 参数,针对这种情况,附带的 headless.sh 脚本会在 5900 端口上设置一个 VNC 实例。安装前你还必须先在 Disk Utility 中给磁盘分区。
支持安装哪些 macOS 版本?这些脚本支持 High Sierra、Mojave 和 Catalina,默认为 Catalina。
能不用原始 QEMU 命令,而是用图形界面管理虚拟机吗?可以,运行 sudo ./make.sh --add 会把配置导入 Virt-Manager,然后你在虚拟机条目中添加 MyDisk.qcow2 作为存储。
之后能提升性能或添加 GPU 直通吗?可以,docs 文件夹中介绍了如何增加内存、配置桥接网络、添加 GPU 直通硬件、调整屏幕分辨率以及支持声音。
What are similar projects?OSX-KVM, macos, ProxmoxVE, Docker-OSX, vphone-aio, windows, qemu, quickemu
Creator
foxlet
Size
6.8 MB
Stars
13.9K
Updated
CommitJul 23
Age
7y
Commits · 90 Days