在Linux上运行macOS:深度剖析OSX-KVM项目

立山  金牌会员 | 2024-10-19 04:24:02 | 显示全部楼层 | 阅读模式
打印 上一主题 下一主题

主题 861|帖子 861|积分 2583


在Linux上运行macOS:深度剖析OSX-KVM项目

在当代开发和测试情况中,可以或许在不同利用系统之间无缝切换是至关重要的。对于开发者而言,怎样在Linux系统上运行macOS一直是一个挑衅。然而,OSX-KVM项目为我们提供了一种高效的解决方案,使得在KVM假造化技能下运行macOS成为大概。
本文将详细先容怎样使用OSX-KVM项目在Linux上运行macOS,包罗从准备工作到安装过程的各个步调。无论是希望相识项目细节,还是准备动手实践,本文都将为你提供详尽的指导。
项目简介

OSX-KVM项目通过QEMU和KVM技能,实现了在当代Linux发行版上运行macOS的本事。该项目支持OpenCore引导器,并兼容Monterey、Ventura以及最新的Sonoma版本。对于必要在Linux情况中使用macOS的开发者,OSX-KVM提供了一种高效且可行的方案。
安装准备

在开始之前,请确保你有一台支持硬件假造化的Linux系统。本文以Ubuntu 22.04 LTS为例,展示具体步调。
硬件和软件要求



  • 利用系统:当代的Linux发行版,比方Ubuntu 22.04 LTS 64-bit或更高版本
  • QEMU:版本6.2.0或更高
  • CPU:支持Intel VT-x或AMD SVM的处理器(使用以下下令查抄:grep -e vmx -e svm /proc/cpuinfo)
  • CPU指令集

    • 支持SSE4.1(macOS Sierra及更高版本)
    • 支持AVX2(macOS Mojave及更高版本)

  • 注意:老旧的AMD处理器大概存在兼容性问题,但当代的AMD Ryzen处理器工作良好(包罗macOS Sonoma)。
安装QEMU及其他依靠

起首,安装QEMU及其他所需的包:
  1. sudo apt-get install qemu uml-utilities virt-manager git \
  2.     wget libguestfs-tools p7zip-full make dmg2img tesseract-ocr \
  3.     tesseract-ocr-eng genisoimage vim net-tools screen -y
复制代码
克隆项目堆栈

接下来,克隆OSX-KVM项目标GitHub堆栈:
  1. cd ~
  2. git clone --depth 1 --recursive https://github.com/kholia/OSX-KVM.git
  3. cd OSX-KVM
复制代码
更新堆栈

为了确保获取最新的更新,可以使用以下下令:
  1. git pull --rebase
复制代码
配置KVM

为确保KVM正常工作,必要对主机举行以下调整:
  1. sudo modprobe kvm; echo 1 | sudo tee /sys/module/kvm/parameters/ignore_msrs
复制代码
为了使该更改永世见效,可以使用以下下令:
  1. sudo cp kvm.conf /etc/modprobe.d/kvm.conf  # 对于Intel处理器
  2. sudo cp kvm_amd.conf /etc/modprobe.d/kvm.conf  # 对于AMD处理器
复制代码
添加用户组权限

确保当前用户属于kvm和libvirt组:
  1. sudo usermod -aG kvm $(whoami)
  2. sudo usermod -aG libvirt $(whoami)
  3. sudo usermod -aG input $(whoami)
复制代码
执行上述下令后,重新登录以使更改见效。
下载和准备macOS安装程序

使用项目提供的脚本下载所需的macOS版本:
  1. ./fetch-macOS-v2.py
复制代码
你可以选择下载的macOS版本。在执行该脚本后,你应该会得到一个BaseSystem.dmg文件。
示例运行

  1. $ ./fetch-macOS-v2.py
  2. 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) - 推荐7. Sonoma (14)Choose a product to download (1-6): 6
复制代码
转换安装镜像

将下载的BaseSystem.dmg文件转换为BaseSystem.img文件:
  1. dmg2img -i BaseSystem.dmg BaseSystem.img
复制代码
创建假造硬盘

创建一个假造硬盘用于安装macOS:
  1. qemu-img create -f qcow2 mac_hdd_ng.img 256G
复制代码
注意:为了得到最佳性能,建议在快速的SSD或NVMe磁盘上创建该硬盘文件。
安装macOS

使用CLI方法安装

通过运行OpenCore-Boot.sh脚本启动安装过程:
  1. ./OpenCore-Boot.sh
复制代码
注意:该脚本实用于所有近来的macOS版本。
在macOS安装程序内使用“磁盘工具”对假造磁盘举行分区和格式化。对于当代macOS版本,使用默认的APFS格式。
接下来,按照提示安装macOS。
使用libvirt和virt-manager

(可选)可以将该macOS假造机与libvirt结合使用。
起首,编辑macOS-libvirt-Catalina.xml文件,修改此中的路径:
  1. sed "s/CHANGEME/$USER/g" macOS-libvirt-Catalina.xml > macOS.xml
  2. virt-xml-validate macOS.xml
复制代码
然后,使用以下下令创建假造机:
  1. virsh --connect qemu:///system define macOS.xml
复制代码
假如必要,为libvirt-qemu用户授予必要权限:
  1. sudo setfacl -m u:libvirt-qemu:rx /home/$USER
  2. sudo setfacl -R -m u:libvirt-qemu:rx /home/$USER/OSX-KVM
复制代码
启动virt-manager并启动macOS假造机。
无头(Headless)macOS

你可以使用提供的脚本启动无头(headless)模式的macOS:
  1. ./boot-macOS-headless.sh
复制代码
使用指南

成功设置Virtual Hackintosh系统后,可以用于各种目标,比方软件构建、测试和逆向工程等。该系统固然没有图形加速、可靠的声音子系统、USB 3功能等,但对于大多数开发和测试任务已经充足。
进一步优化

要实现逾越原生Apple硬件的性能,必要一些额外的工作、耐烦和一些运气。你可以参考项目文档,获取更多关于优化和改进的建议。
结论

通过OSX-KVM项目,我们可以在Linux系统上高效地运行macOS,为开发和测试工作提供了极大的便利。本文详细先容了项目标安装和使用过程,希望可以或许帮助到有必要的开发者。
更多关于OSX-KVM项目标高级技巧和使用方法,欢迎访问[项目标GitHub页面][https://github.com/kholia/OSX-KVM]。假如你对该项目感爱好,不妨亲身动手实验一下,相信你会发现更多风趣和实用的功能。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

立山

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表