Ubuntu 22.04.6 | QEMU KVM 安装 macOS虚拟机

王先生
2023-09-19 / 0 评论 / 19 阅读 / 正在检测是否收录...

参考https://github.com/kholia/OSX-KVM
拷贝备份仓库https://gitee.com/y141111/OSX-KVM

更新软件源

sudo apt-get update

环境要求

  1. A modern Linux distribution. E.g. Ubuntu 22.04 LTS 64-bit or later.
  2. QEMU >= 6.2.0
  3. A CPU with Intel VT-x / AMD SVM support is required (grep -e vmx -e svm /proc/cpuinfo)
  4. A CPU with SSE4.1 support is required for >= macOS Sierra
  5. A CPU with AVX2 support is required for >= macOS Mojave

    python3软连接到python

    sudo ln -s /usr/bin/python3.8 /usr/bin/python

    如果已存在则先删除在创建

    sudo rm /usr/bin/python

安装需要的软件包

  1. 安装 QEMU 和其他软件包。

    sudo apt-get install qemu uml-utilities virt-manager git \
     wget libguestfs-tools p7zip-full make dmg2img tesseract-ocr \
     tesseract-ocr-eng genisoimage -y
  2. 克隆OSX-KVM代码(macOS运行的虚拟机)
    首先进入当前用户目录下

    cd ~

    然后克隆仓库代码
    国外(二选一)

    git clone --depth 1 --recursive https://github.com/y141111/OSX-KVM.git

    国内(二选一)

    git clone --depth 1 --recursive https://gitee.com/y141111/OSX-KVM.git

    进入克隆的代码目录

    cd OSX-KVM
  3. 获取macOS安装包

    ./fetch-macOS-v2.py

    将下载的dmg文件转换为img文件

    dmg2img -i BaseSystem.dmg BaseSystem.img

    创建将在其中安装 macOS 的虚拟硬盘映像。如果将 磁盘映像的名称 从 到其他内容,引导脚本 将需要更新以指向新的映像名称。mac_hdd_ng.img

    qemu-img create -f qcow2 mac_hdd_ng.img 128G

安装

  • CLI 方法(主要)。只需运行脚本即可启动 安装过程。OpenCore-Boot.sh

    ./OpenCore-Boot.sh

    注意:此脚本适用于所有最新的 macOS 版本。

  • 使用 macOS 安装程序中的工具进行分区,以及 格式化附加到 macOS 虚拟机的虚拟磁盘。Disk Utility
  • 继续,并安装 macOS 🙌
  • 提示:建议使用非 APFS 文件系统。
  • (可选)将此macOS VM磁盘与libvirt(virt-manager / virsh stuff)一起使用。

    • 编辑macOS-libvirt-Catalina.xml文件并更改各种文件路径(在该文件中搜索CHANGEME字符串)

      sed "s/CHANGEME/$USER/g" macOS-libvirt-Catalina.xml > macOS.xml
      virt-xml-validate macOS.xml
    • 通过运行以下命令创建 VM。

      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

Nice job on setting up a Virtual Hackintoshsystem! 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

  • See networking notes on how to setup networking in your VM, outbound and also inbound for remote access to your VM via SSH, VNC, etc.
  • To passthrough GPUs and other devices, see these notes.
  • Need a different resolution? Check out the notes included in this repository.
  • Trouble with iMessage? Check out the notes included in this repository.
  • Highly recommended macOS tweaks - https://github.com/sickcodes/osx-optimizer

Is This Legal?

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 Hackintoshsystems 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 120scanner, and Brother HL-2250DNlaser 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.

评论 (0)

取消