• 在 Linux 的 KVM虚拟机 上安装 Mac OS 系统的研究总结


    更多技术性文章请关注 合伙呀

    在 Linux 的 KVM虚拟机 上安装 Mac OS 系统的研究总结


    一、资料来源:
        网上一共找到两个方法,一个是视频上的教程,一个是网页资料。

    二、视频资料方法内容:
    1.install qemu
    sudo apt-get install qemu
    2,creating a blank img
    qemu-img create x.img 20G
    3,setting up Mac Installation
    qemu-system-x86_64 -hda pathtoimg -vga std -m 2048 -soundhw ac97 -cdrom pathtoiso -boot d
    4,restart
    qemu-system-x86_64 -boot c -vga std -m 2048 -hda imgpath
    总结:经过多次镜像制作与替换尝试,最终发现需要iPC系统才能看到安装界面(黑苹果系统)。此方法安装的系统会出现无限重启的问题而安装失败,并且系统即使安装成功也无法升级系统版本。


    三、网页资料内容
    网址1:http://www.vpsee.com/2014/06/install-and-run-os-x-mavericks-with-kvm-under-linux/
    网址2:http://www.contrib.andrew.cmu.edu/~somlo/OSXKVM/
    网址3:http://www.bonashen.com/post/artifice/running-mac-os-x-as-a-qemu-kvm-guest

    这种方式比较复杂,据说能实现版本升级且使用正版系统。

    步骤:
    1, Linux 发行版自带的 kvm/qemu 都不支持 OS X 作为 guest 系统,所以需要自己编译 kvm, kvm-kmod, qemu 加上 OS X 的支持。
    2,在 Mac 上用脚本生成一个可启动的 Mavericks ISO 文件。
    3,在 Mac 上编译 smc_read.c 这个文件并运行得到 SMC。
    4,制作Chameleon 系统的启动器(引导文件)。
    5,启动代码:
    qemu-system-x86_64 -enable-kvm -m 2048 -cpu core2duo
    -smp 2
    -vga std
    -device ahci,id=ide
    -usbdevice keyboard -usbdevice mouse
    -device isa-applesmc,osk="ourhardworkbythesewordsguardedpleasedontsteal(c)AppleComputerInc"
    -kernel /home/tang/Desktop/chamele/usr/standalone/i386/boot
    -smbios type=2
    -device ide-drive,bus=ide.2,drive=MacHDD
    -drive id=MacHDD,if=none,cache=none,file=/home/tang/x.img
    -vnc 0.0.0.0:1
    -device ide-drive,bus=ide.0,drive=MacDVD
    -drive id=MacDVD,if=none,snapshot=on,file=/home/tang/Volumes.iso -boot once=d

    总结:
    步骤1下载很慢,下载之后也会出现找不到的问题。
    步骤2在制作工程中会出现很多路径问题。
    步骤3可能是失败的原因之一,要获得苹果电脑的SMC序号,用教程中的c语言代码编译,最后获得的结果是:urhardworkbythesewordsguardedpleasedontsteal(c)AppleComputerInc,不确定这个是不是需要的序列号。
    步骤4下载了变色龙引导文件。
    步骤5运行不过去,-smbios type=2 会出现问题,如果去掉这句,系统会启动不了。

     
    最终总结:

    方法1的系统不能升级,不符合我们的要求。方法2的失败以及进行不下去有三个原因:1,尝试此方法需要下载安装:git、’Development Tools’、kvm.git 、kvm-kmod.git、kvm、 zlib 、zlib-devel、 glib2-devel 、pixman-devel、chameleon等。2,SMC序号不确定是否正确。3,-smbios type=2执行不过去。

  • 相关阅读:
    Java三大框架
    单例模式和工厂模式(百度文库)
    使用java代码编辑oracle数据库
    extends 与implements的区别和用法
    介绍MVC编程架构模式
    接口具体是什么东西
    Servlet和JSP的本质和区别
    用户注册,登录,留言系统
    页面跳转的五种方法
    cookie的长度和限制数量
  • 原文地址:https://www.cnblogs.com/huntaiji/p/3918941.html
Copyright © 2020-2023  润新知