文章目录
- 依赖
- 安装准备
- 安装
- Headless macOS
- Setting Expectations Right
- 安装后
- 这合法吗?
- 动机
- 回馈贡献
OSX-KVM 支持早 QEMU/KVM上运行macOS。现在支持OpenCore+Monterey+Ventura+Sonoma!
现在仅提供商业(付费)支持,以避免垃圾邮件问题。不需要Mac系统。
- github : https://github.com/kholia/OSX-KVM
下述过程中,创建一个Virtual Hackintosh
系统。
注意:此存储库中包含的所有Blob和资源都是可重新派生的(包括所有说明!)。
使用Proxmox
和macOS?请参阅Nick的博客。
目前支持离线macOS安装-请参阅此文档🎉 : https://github.com/kholia/OSX-KVM/blob/master/run_offline.md)
依赖
- 现代Linux分布。例如。Ubuntu 22.04 LTS 64位或更高版本。
- QEMU >= 6.2.0
- 需要支持 Intel VT-x/AMD SVM 的 CPU(
grep -e vmx -e svm /proc/cpuinfo
) - >=macOS Sierra 需要支持SSE4.1的CPU
- >=macOS Mojave 需要支持AVX2的CPU
注意:众所周知,较旧的AMD CPU存在问题,但现代AMD Ryzen处理器工作正常(即使对于macOS Sonoma)。
安装准备
- 安装QEMU和其他软件包。
sudo apt-get install qemu uml-utilities virt-manager git \
wget libguestfs-tools p7zip-full make dmg2img tesseract-ocr \
tesseract-ocr-eng genisoimage vim net-tools screen -y
此步骤可能需要根据您的Linux分布进行调整。
在QEMU系统上克隆此存储库。此存储库中的文件将在以下步骤中使用。
cd ~git clone --depth 1 --recursive https://github.com/kholia/OSX-KVM.gitcd OSX-KVM
可以通过以下命令 提取存储库更新:
git pull --rebase
此存储库大量使用基于rebase的工作流。
- KVM可能需要在主机上进行以下调整才能工作。
sudo modprobe kvm; echo 1 | sudo tee /sys/module/kvm/parameters/ignore_msrs
要使此更改永久化,您可以使用以下命令。
sudo cp kvm.conf /etc/modprobe.d/kvm.conf # for intel boxes onlysudo cp kvm_amd.conf /etc/modprobe.d/kvm.conf # for amd boxes only
- Add user to the
kvm
andlibvirt
groups (might be needed).
sudo usermod -aG kvm $(whoami)
sudo usermod -aG libvirt $(whoami)
sudo usermod -aG input $(whoami)
注意:执行此命令后重新登录。
- 拉取数据macOS安装程序。
./fetch-macOS-v2.py
您可以在此处选择所需的macOS版本。执行此步骤后, 当前文件夹中应该有BaseSystem.dmg
文件。
注意:让>= Big Sur
设置位于Country Selection
屏幕上,并且 如果事情进展缓慢,请在其他类似的地方停留一段时间。最初的macOS 安装向导最终会成功。
试运行:
$ ./fetch-macOS-v2.py
1. High Sierra (10.13)
2. Mojave (10.14)
3. Catalina (10.15)
4. Big Sur (11.7)
5. Monterey (12.6)
6. Ventura (13) - RECOMMENDED
7. Sonoma (14)Choose a product to download (1-6): 6
注意:HighSierra支持现代NVIDIA GPU,但更高版本的macOS不支持。
- 将下载的
BaseSystem.dmg
文件转换为BaseSystem.img
文件。
dmg2img -i BaseSystem.dmg BaseSystem.img
- 创建将安装macOS的虚拟HDD图像。如果您更改 磁盘图像的名称从
mac_hdd_ng.img
到其他东西,引导脚本 将需要更新以指向新的图片名称。
qemu-img create -f qcow2 mac_hdd_ng.img 256G
注意:在快速SSD/NVMe磁盘上创建此HDD图像文件以获得最佳效果。
- 现在您已准备好安装macOS🚀
安装
- CLI方法(主)。只需运行
OpenCore-Boot.sh
脚本即可启动 安装过程。
./OpenCore-Boot.sh
注意:相同的脚本适用于所有最新的macOS版本。
- 使用macOS安装程序中的
Disk Utility
工具来分区,并且 格式化附加到macOS VM的虚拟磁盘。使用APFS
(默认) 对于现代macOS版本。 - 继续,并安装macOS🙌
- (可选) 和 libvirt (virt-manager / virsh stuff) 一起使用这个 macOS VM disk。
- 编辑
macOS-libvirt-Catalina.xml
文件和修改多文件路径 (查找文件中的CHANGEME
字符串)。通常情况下,以下命令会起作用。
sed "s/CHANGEME/$USER/g" macOS-libvirt-Catalina.xml > macOS.xmlvirt-xml-validate macOS.xml
- 通过运行以下命令创建虚拟机。
virsh --connect qemu:///system define macOS.xml
- 如果需要,向 libvirt-qemu 用户授予必要的权限,
sudo setfacl -m u:libvirt-qemu:rx /home/$USER
sudo setfacl -R -m u:libvirt-qemu:rx /home/$USER/OSX-KVM
- 启动
virt-manager
并启动macOS
虚拟机。
Headless macOS
- 使用提供的 boot-macOS-headless.sh 脚本。
./boot-macOS-headless.sh
Setting Expectations Right
在建立Virtual Hackintosh
系统方面做得很好!这样的系统可以用于各种目的(例如,软件构建、测试、反向工作),它可能是您所需要的全部,以及此存储库中记录的一些调整。
然而,这样的系统缺乏图形加速、可靠的声音子系统、 USB 3功能和其他类似的东西。要启用这些东西,请 看看我们的笔记。我们想继续我们的测试 留档工作请[联系我们](mailto:dhiru.kholia@gmail.com?subject=[GitHub] OSX-KVM Funding Support) 如果你能资助这个领域的工作。
有可能有“beyond-native-apple-hw”的表现,但这确实需要工作、耐心和一点运气(也许?)。
安装后
- 请参阅网络说明,了解如何在VM、出站和入站中设置网络,以便通过SSH、VNC等远程访问VM。
- 要通过GPU和其他设备,请参阅这些注释。
- 需要不同的分辨率?查看此存储库中包含的注释。
- iMessage有问题?查看此存储库中包含的注释。
- 强烈推荐macOS调整 — https://github.com/sickcodes/osx-optimizer
这合法吗?
“secret” 苹果OSK字符串 在公网上广泛可用。
它也包含在这里提供的公共法庭文件中。
我不是律师,但苹果试图将OSK字符串视为商业机密的尝试 似乎没有成功。由于这些原因,OSK字符串被自由地包含在这个存储库中。
请查看 ‘Legality of Hackintoshing’ documentation bits from Dortania’s OpenCore Install Guide 。
Gabriel Somlo对在QEMU/KVM下运行macOS所涉及的法律方面也有一些想法。
您可能还会发现这篇“宣布适用于macOS的Amazon EC2 Mac实例”文章很有趣。
注意:您有责任理解和接受(或不接受)Apple EULA。
注意:这不是法律建议,因此如果您有任何疑虑,请自行进行适当的评估并与您的律师讨论(文字来源:Dortania)
动机
我的目标是以简单、可重现的方式启用基于macOS的教育任务、构建+测试、内核调试、逆转和macOS安全研究,而不会“投资”苹果封闭的生态系统(太多)。
这些Virtual Hackintosh
系统并不打算取代真正的 物理macOS系统。
就个人而言,这个存储库一直是我“退出”苹果的一种方式 生态系统。它帮助我测试和比较了Canon CanoScan LiDE 120
扫描仪和Brother HL-2250DN
激光打印机的互操作性。还有这些 设备现在可以在现代版本的Ubuntu上正常工作(耶,免费 软件)。此外,很久以前,我不得不完全擦拭我(当时)全新的 MacBook Pro (Retina, 15-inch, Late 2013)
并在上面安装徐邦图 OS X
内核不断崩溃!
背景故事:我前世是加拿大的一个(贫穷的)学生,苹果让我破解苹果钥匙链的工作比它需要的要困难得多。这就是我对Hackintosh系统感兴趣的原因。
回馈贡献
这个项目总是需要你的帮助、时间和注意力。我正在寻找以下工作项目的帮助(拉-请求!):
- 关于在流行的云提供商上运行macOS的文档(Hetzner,美东二机房, 请参阅
Is This Legal?
部分和相关参考资料。 - 记录(分享)您如何使用此项目来构建+测试开源项目/完成您的工作。
- 记录如何使用此项目进行XNU内核调试和开发。
- 记录启动一堆无头macOS VM(构建场)的过程。
- 文档使用munki部署软件 这样的
build farm
。 - 启用VNC+SSH支持开箱即用。
- 鲁棒性改进始终受到欢迎!
- (不是这样)疯狂的想法-通过OpenCV自动安装macOS。
2024-06-04(二)