OSX-KVM README

The project's README from github.com/kholia/OSX-KVM. As one markdown file: README.md.

Note

This README.md documents the process of creating a Virtual Hackintosh system.

Note: All blobs and resources included in this repository are re-derivable (all instructions are included!).

:green_heart: Looking for commercial support with this stuff? I am available over email for a chat for commercial support options only. Note: Project sponsors get access to the Private OSX-KVM repository, and direct support.

Struggling with Content Caching stuff? We can help.

Working with Proxmox and macOS:

Yes, we support offline macOS installations now - see this document 🎉

Contributing Back

This project can always use your help, time and attention. I am looking for help (pull-requests!) with the following work items:

Requirements

Note: Older AMD CPU(s) are known to be problematic but modern AMD Ryzen processors work just fine (even for macOS Sonoma).

Installation Preparation

Installation

Headless macOS

Setting Expectations Right

Nice job on setting up a Virtual Hackintosh system! Such a system can be used for a variety of purposes (e.g. software builds, testing, reversing work), and it may be all you need, along with some tweaks documented in this repository.

However, such a system lacks graphical acceleration, a reliable sound sub-system, USB 3 functionality and other similar things. To enable these things, take a look at our notes. We would like to resume our testing and documentation work around this area. Please reach out to us if you are able to fund this area of work.

It is possible to have 'beyond-native-apple-hw' performance but it does require work, patience, and a bit of luck (perhaps?).

Post-Installation

The "secret" Apple OSK string is widely available on the Internet. It is also included in a public court document available here. I am not a lawyer but it seems that Apple's attempt(s) to get the OSK string treated as a trade secret did not work out. Due to these reasons, the OSK string is freely included in this repository.

Please review the 'Legality of Hackintoshing' documentation bits from Dortania's OpenCore Install Guide.

Gabriel Somlo also has some thoughts on the legal aspects involved in running macOS under QEMU/KVM.

You may also find this 'Announcing Amazon EC2 Mac instances for macOS' article interesting.

Note: It is your responsibility to understand, and accept (or not accept) the Apple EULA.

Note: This is not legal advice, so please make the proper assessments yourself and discuss with your lawyers if you have any concerns (Text credit: Dortania)

Motivation

My aim is to enable macOS based educational tasks, builds + testing, kernel debugging, reversing, and macOS security research in an easy, reproducible manner without getting 'invested' in Apple's closed ecosystem (too heavily).

These Virtual Hackintosh systems are not intended to replace the genuine physical macOS systems.

Personally speaking, this repository has been a way for me to 'exit' the Apple ecosystem. It has helped me to test and compare the interoperability of Canon CanoScan LiDE 120 scanner, and Brother HL-2250DN laser printer. And these devices now work decently enough on modern versions of Ubuntu (Yay for free software). Also, a long time back, I had to completely wipe my (then) brand new MacBook Pro (Retina, 15-inch, Late 2013) and install Xubuntu on it - as the OS X kernel kept crashing on it!

Backstory: I was a (poor) student in Canada in a previous life and Apple made my work on cracking Apple Keychains a lot harder than it needed to be. This is how I got interested in Hackintosh systems.

OSX-KVM (kholia/OSX-KVM)

Searching Database…

23.7K ·GitHub
这是什么?一套脚本和 OpenCore 配置,用于在 Linux 主机上通过 QEMU/KVM 把 macOS 当作虚拟机运行,支持 Monterey、Ventura、Sonoma 等较新的 macOS 版本。
这是一个现成的应用,还是需要我自己运行的脚本?不是应用:它是一套 shell 脚本、启动配置和说明文档。你需要克隆仓库、准备安装镜像,然后用 OpenCore-Boot.sh 启动虚拟机,由 QEMU 通过 OpenCore 引导。
我怎么从零开始跑起一个 macOS 桌面?不需要 Mac:先安装 QEMU 和其他软件包,克隆仓库,运行 fetch 步骤下载 BaseSystem.dmg,把它转换成 BaseSystem.img,在一块高速 SSD 上创建虚拟硬盘,然后运行 OpenCore-Boot.sh 并安装 macOS。
我的机器需要什么硬件和软件条件?需要一个较新的 64 位 Linux 发行版(Ubuntu 24.04 LTS 或更高版本)、QEMU 8.2.2 及以上,以及支持 Intel VT-x 或 AMD SVM 的 CPU。Sierra 及之后版本需要 SSE4.1,Ventura 及之后版本需要 AVX2;老的 AMD CPU 会有问题,但新款 Ryzen 运行良好。
和真正的 Mac 相比,我会失去什么?开箱即用的情况下,图形加速、可靠的音频子系统和 USB 3 都没有。超越原生性能是有可能的,但需要花功夫、有耐心,还得碰点运气;仓库里的说明文档介绍了相关的调优方法。
能在无图形界面的服务器上运行吗?可以——使用仓库提供的 boot-macOS-headless.sh 脚本即可,网络相关的说明文档还讲解了如何配置入站 SSH 或 VNC 访问,方便远程使用。
可以完全离线安装 macOS 吗?可以。README 中说明支持离线安装 macOS,并链接了一份介绍 OpenCore-ISO 方法的文档。
这样运行 macOS 合法吗?有许可证吗?没有许可证文件;作者附带了 Apple 的 OSK 字符串,理由是它可以通过公开的法院文书自由获取,并把合法性问题交给 Dortania 的文章来讨论。是否接受 Apple EULA 由你自己负责。
我可以把显卡直通给虚拟机吗?显卡和其他设备的直通在仓库里有专门的说明文档。注意:较新的 NVIDIA 显卡最高只支持到 High Sierra,在之后的 macOS 版本上无法使用。
大家用这些 macOS 虚拟机来做什么?按作者的说法:用于教学任务、软件构建和测试、XNU 内核调试、逆向工程和 macOS 安全研究——过程可复现,而且不需要 Apple 硬件。他强调这类系统并不是用来取代真正的 Mac 的。
作者为什么要做这个项目?他想要一种简单、可复现的方式来做 macOS 安全研究和测试,而不必深入投入 Apple 的封闭生态。作为一个在加拿大的穷学生,Apple 让他破解 Apple 钥匙串(Keychains)的工作变得比必要的更麻烦,黑苹果系统就成了他脱离这个生态的方式。
它支持哪些 macOS 版本?OpenCore-Boot.sh 脚本据称适用于所有较新的 macOS 版本,fetch 步骤还可以让你选择下载哪个版本。Monterey、Ventura 和 Sonoma 被重点提及,仓库的主题标签中也列有 Catalina 和 Tahoe 等受支持的目标版本。
如果安装失败了,有人能帮我吗?免费支持是刻意受限的:为了避免垃圾 issue,作者只回复商业(付费)支持咨询。项目赞助者可以获得一个私有仓库的访问权限和直接支持。
Creator
kholia
Size
165.2 MB
Stars
23.7K
Updated
CommitJan 26
Age
10y
Commits · 90 Days