Mac OS X on KVM?

2016-06-06 09:10:21 +08:00
 adrianzhang
https://blog.ostanin.org/2014/02/11/playing-with-mac-os-x-on-kvm/

有人做过这种吗?实际体验怎么样?工作站装 Linux 再虚拟个 MacOS 可以做 xcode 开发吗?
10062 次点击
所在节点    macOS
18 条回复
ivmm
2016-06-06 09:15:45 +08:00
Mac 虚拟 Mac OS 我都觉得卡
fcicq
2016-06-06 09:19:27 +08:00
楼主应该引用 KVM 补丁作者的教程. linux kernel 3.15+ 免补丁, 从当年的 10.10 起一路升级 10.11.5 没问题. 显示性能很烂但是如果有单独显卡 pci passthrough 应该还是可以的. 但是本人不做 iOS 开发啊... 不走 passthrough 的话还想性能就折腾大了.
txx
2016-06-06 09:21:24 +08:00
直接黑苹果呗..
fcicq
2016-06-06 09:22:46 +08:00
这个东西最大的用途可能是找高配机做远程编译, 肯定比垃圾桶性价比高.
fcicq
2016-06-06 09:23:53 +08:00
@txx 和黑苹果相比不看硬件(当然虚拟化还是要的), 不挑驱动.
adrianzhang
2016-06-06 09:30:04 +08:00
@fcicq 主要是考虑 dell 的图形工作站性价比挺高的,做 android 和网站系列的开发好用。如果虚拟化跑 macos 还过得去的话就省得再为苹果生态开发配置另外的机器。话说你当初装了以后都做哪些事?
fcicq
2016-06-06 09:37:19 +08:00
@adrianzhang 关掉各种特效, 设个单色壁纸, 打通 vnc (qemu 的 vnc 和 mac 系统的 vnc 各有特点, 说不上该用哪个), 设自动启动之类的? 只要 chameleon 能启动你的安装盘后面应该就是平路了, 没有也不需要驱动.
eddiechen
2016-06-06 11:04:11 +08:00
想省事还是直接上 mac mini 吧,会折腾死人的
adrianzhang
2016-06-06 11:34:42 +08:00
@eddiechen 不止一个开发。所以想了解下可行性。
pheyx
2016-06-06 12:39:03 +08:00
@adrianzhang 我现在就是在 Linux KVM 下用的 El capitan 虚拟机。 Passthrough 了一张显卡,所以运行很流畅,图形加速都可用。 USB 是 Passthrough 了一个 USB3.0 PCIe 卡。
建议使用 E5 的 CPU (当然主板也需工作站或服务器级别的),单 Socket 的话支持 40 PCIe lanes ,比 I7 或 I5 多很多,比较适合 PCIe passthrough 。显卡建议 N 卡, OS X 下装 nVidia 的 web driver ,不是太老的 N 卡差不多都能驱动。
建议订阅 vfio (目前 PCIe passthrough 是通过 vfio 这个驱动实现的)邮件列表,有 vfio 的开发者参与。另外 insanelymac.com 的虚拟化版也有关于 KVM 下安装 OS X 的讨论。
adrianzhang
2016-06-06 13:25:00 +08:00
@pheyx 很详细。非常感谢!
uztyzrxd
2016-06-13 16:16:29 +08:00
e5 很美,再加上工作站主板,银子上可不太美啊

简单说下我的机器配置及理解,略有偏题,供参考

cpu: e3-1230 v2
KVM 下 VGA passthrough 已经很成熟了, cpu 支持 VT-d 的都可以尝试下
cpu 如果能够支持 ACS 最好,见: https://vfio.blogspot.com.ar/2015/10/intel-processors-with-acs-support.html
但 e3-1230 v2 不支持 ACS, 需要 ACS override patch
见: VFIO+VGA FAQ Question 1 https://vfio.blogspot.com/2014/08/vfiovga-faq.html
如果 cpu 带核显的更好,可以省掉一块独立显卡, 不过可能需要 i915 VGA arbiter patch
见: VFIO+VGA FAQ Question 3 https://vfio.blogspot.com/2014/08/vfiovga-faq.html
有钱任性还是上 E5-26xx v3 吧,有几个特性对于虚拟化来说值得关注
见: https://software.intel.com/en-us/blogs/2014/09/08/four-new-virtualization-technologies-on-the-latest-intel-xeon-are-you-ready-to

主板: ASRock Z77 Extreme4
主板支持 VT-d, BIOS 支持 VT-d

内存: 16G
若只是为了运行 OS X, 其实是不用这么大的,但我开机即需要长期运行 30 多个 lxc 虚拟机, 也需要编译 AOSP 和 CyanogenMod 之类的

存储: hddx6 + ssdx1
不太在意数据安全的, 1 块 ssd 即可. 我是为了系统用 Btrfs, 数据用 zfs, 用 zvol 提供 iSCSI 给虚拟机

显卡: 主卡 hd6570 + 辅卡 hd7750
一般来说差些的显卡用做主卡, 辅卡用来 passthrough, 看需求决定
hd6570 用作辅卡也是不错的, OS X 可以直接驱动,不需要特殊设置
hd7750 用作辅卡在 El Capitan 和 Yosemite 上需要做些调整, Mavericks 及以下不必
见: http://www.tonymacx86.com/graphics/161511-radeon-hd-7750-xfx-glitchy-after-10-10-3-update.html
8400gs 我也用过,就是有些慢, passthrough 是没问题的
想说的是, A 卡也好, N 卡也罢,都是有机会驱动的,在没有尝试之前,不要轻易购买新显卡

鼠标键盘:
如果不是多人同时共用一台机器,不必 passthrough 鼠标键盘,用 Synergy 共享鼠标键盘省钱而且操作方便

声卡:
对声音如果没有特殊要求, 也不必 passthrough 声卡, QEMU 设置 -soundhw hda 给 OS X, OS X 内用 VoodooHDA 驱动

网卡:
如果是用 libvirt 进行配置,不能通过图形界面配置网卡,否则 OS X 系统更新会失败, 应该用 virsh edit 进行编辑,比如
<qemu:commandline>
<qemu:arg value='-netdev'/>
<qemu:arg value='bridge,id=hostnet0,br=br0'/>
<qemu:arg value='-device'/>
<qemu:arg value='e1000-82545em,netdev=hostnet0'/>
</qemu:commandline>

host OS: debian jessie + backports
host OS 我倾向于系统支持时间长,稳定,更新尽可能的少,需要手工更改的尽可能的少
CentOS 7 是不错的选择,但 CentOS 7 的 QEMU 不支持 OS X, 需要自己编译及更新,对于系统维护来说不是一个好选择
不介意多些折腾的, Fedora 23 运行 OS X 也是可以的,网上也有大量的示例以 Arch Linux 做 host OS
题外话,如果需要 Xen nested on KVM, 目前只有 Linux 4.1.x 支持,否则在 Xen 上创建 HVM 虚拟机,会导致 Xen 崩溃
可能有些人考虑到要编译 Android, 倾向于使用 Ubuntu, 但 Ubuntu 用 lxc 跑即可
我的 Linux 桌面用的是 debian jessie, 也是运行在 lxc 上的,这样和 host OS 隔离开来,方便 host OS 切换,不对桌面应用造成影响

还有些细节及小问题,不赘述了
adrianzhang
2016-06-13 17:19:05 +08:00
@uztyzrxd 多谢老司机带路!见到配置里竟然还有 voodoo 字样,不免感慨了一下。
woyaojizhu8
2016-07-15 01:09:43 +08:00
@uztyzrxd 这个 ACS 具体有什么用呢?用 ACS override patch 来代替会有什么不足吗? 抱歉由于理解能力问题没能很好地利用你给的网页链接。
woyaojizhu8
2016-07-15 01:37:49 +08:00
@uztyzrxd 你好,我正在计划配一台主力机,详见此贴: https://v2ex.com/t/290762 。我也是有虚拟化需求(虽然客户机系统不是用 OS X ),并且比较在意数据安全 。初步打算 960 作主卡, 650 直通给虚拟机,这样做有问题吗?其他配件,比如主板、 cpu 等,可以给点建议吗?
woyaojizhu8
2016-07-18 23:55:17 +08:00
@pheyx 请问想直通显卡给 windows 虚拟机的话,配置用 e3 v3+z87 还是 e3 v5 +c236 比较合适?我看到这里有人说 ” Note that Skylake CPUs are not recommended for VMs with GPU pass through (harder to isolate the IOMMU groups; no support for the ACS override). “ : https://lime-technology.com/forum/index.php?PHPSESSID=abf3898aff54b61ced37ead5bb4e332a&topic=47088.0
但好像也没有明确详细的例子。还有 z87 是否支持 vt-d 也未知。
还有,显卡用什么样的比较容易直通呢?有没有一个兼容性列表呢?
deyu260
2017-03-07 16:53:27 +08:00
@adrianzhang 暴露年龄了
adrianzhang
2017-03-07 20:11:29 +08:00

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/283748

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX