设为首页收藏本站

LUPA开源社区

 找回密码
 注册
文章 帖子 博客
LUPA开源社区 首页 业界资讯 技术文摘 查看内容

在QEMU和KVM上运行OS X Mavericks

2014-6-9 12:16| 发布者: joejoe0332| 查看: 4564| 评论: 0|原作者: 中奖啦, --zxp, GoodLoser|来自: oschina

摘要: 今天,OS X虚拟化是一件很容易搞定的事情,因为OS X主机完全支持VMware和VirtualBox。 但是在裸机和QEMU上虚拟化会是什么情况呢?在Linux下呢?最终我在QEMU上完全搞定了Mavericks (没有额外内核拓展哦(!)),不 ...

  今天,OS X虚拟化是一件很容易搞定的事情,因为OS X主机完全支持VMware和VirtualBox。 但是在裸机和QEMU上虚拟化会是什么情况呢?在Linux下呢?最终我在QEMU上完全搞定了Mavericks (没有额外内核拓展哦(!)),不过真不容易。


  工作人员

  许多关于这件事的工作都归于 Gabriel L. Somlo ,他完成了这件事的初步工作,然而我不能从他的指南里得到任何干净的安装引导的OS X Mavericks 版本。因此我只能自己调试了。


  为什么?

  云中OS X. 这是一个仅供娱乐的项目来看看是否我能在一个专用服务器上得到一个虚拟化的OS X, 并且我成功了。注意,这仅用于教学目的,并且不被推荐 -- 没有稳定性的保障,另外可能违背苹果的用户最终许可协议。


  要准备的东西


  为了完成安装,你需要做如下准备:


  • 可以运行KVM的机器

  • bash shell基本知识

  • Mavericks .ISO (由这个shell脚本生成)

  • Mountain Lion .ISO (由这个shell脚本生成)

  • git

  • build-essential (gcc, make, iasl, linux内核headers)


  上面的两个shell脚本是相同的,它适用于这两个版本的OS X。


  安装带OS X支持的KVM

  首先你需要从git仓库下载最新的KVM代码(这是必须的,因为atp或yum仓库中的KVM没有OS X的补丁)。你也需要git仓库中的kvm-kmod代码,你可以通过以下命令获得并构建它们。


  安装最新的带OS X支持的QEMU

  我们要从git仓库中下载最新的且打过支持OS X补丁的QEMU和SeaBIOS。


  Chameleon bootloader引导进入安装程序和OS X

  你可以在安装OS X之后将Chameleon安装到磁盘,但方便起见,我们可以向QEMU传送一个二进制文件来启动Chameleon。

下载这个二进制文件并将它放到与刚才下载的文件夹相同的目录中。

  

  安装 Mountain Lion


  在我们安装Mavericks之前,我们必须先安装 Mountain Lion,然后再进行升级(这是由于直接安装Mavericks会导致QEMU卡住)。


  现在,确保你的 Mountain Lion 和 Mavericks 的 .ISO 文件在同一个目录中,从现在开始,我用 MountainLion.isoMavericks.iso 来称呼它们。


  现在,我们需要创建一个空白的文件来安装OS X(待会儿可以用dd将这拷贝到一个LVM或分区中,但是,不幸的是,在分区被使用的时候,我没有得到用来启动的安装器)。


qemu-img create -f qcow2 osx.img 30G 


  我们必须使用下面的命令来启动这个客户机:


  你可能需要输入一个key,该key可以在一个Apple的电脑中使用这里的第一块代码获得。


  你需要将./share/qemu/bios-mac.bin 路径替换成你自己的路径(相对你当前的路径,这可能在一个./share 或 ./usr/share中)。


  这将会在localhost:5901上开启一个VNC会话,可以连接到该会话,并启动到安装器!


  这里的 -smp 定义了客户机中可以使用的核心数。我将它设为4,并且工作很好。但是,只是用一个核也可以使OS X运行的很好。


  正常安装OS X,之后按照下一节的内容继续进行。



酷毙

雷人
1

鲜花

鸡蛋

漂亮

刚表态过的朋友 (1 人)

  • 快毕业了,没工作经验,
    找份工作好难啊?
    赶紧去人才芯片公司磨练吧!!

最新评论

关于LUPA|人才芯片工程|人才招聘|LUPA认证|LUPA教育|LUPA开源社区 ( 浙B2-20090187 浙公网安备 33010602006705号   

返回顶部