歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> 在 QEMU 和 KVM 上運行 OS X Mavericks

在 QEMU 和 KVM 上運行 OS X Mavericks

日期:2017/2/28 14:30:59   编辑:Linux教程

今天,OS X虛擬化是一件很容易搞定的事情,因為OS X主機完全支持VMware和VirtualBox。 但是在裸機和QEMU上虛擬化會是什麼情況呢?在Linux下呢?最終我在QEMU上完全搞定了Mavericks (沒有額外內核拓展哦(!)),不過真不容易。

Ubuntu 12.04之找不到Qemu命令 http://www.linuxidc.com/Linux/2012-11/73419.htm

Arch Linux上安裝QEMU+EFI BIOS http://www.linuxidc.com/Linux/2013-02/79560.htm

QEMU的翻譯框架及調試工具 http://www.linuxidc.com/Linux/2012-09/71211.htm

工作人員

許多關於這件事的工作都歸於 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,之後按照下一節的內容繼續進行。

升級到 Mavericks

這一步和上面的非常像,使用下面的命令打開同一個客戶機:

在Chameleon中,確保從"OS X Base System"(你的.iso文件) 中啟動,而不是你的HDD。然後在同一個分區中以正常的方式安裝Mavericks,一定不要格式化該分區。

這步完成之後,你就有了一個可以正常工作的Mavericks了!

沒有Kexts?

這是一個完全原生的系統,不需要對kext做任何改動,甚至都不需要FakeSMC。我沒有使用FakeSMC做過測試,但是它應該可以正常工作。

網絡

現在,QEMU默認的網卡驅動並不好使,建議你使用 virtio。你可以通過以下方式下載它:

接下來,將下面的命令添加到上面提到的命令中,運行一個客戶機,然後安裝從掛載的FAT驅動器中安裝.pkg文件,之後重啟,網卡就可以正常工作了!

聯系我

你可以通過will@3942或@Will3942聯系我。

QEMU 的詳細介紹:請點這裡
QEMU 的下載地址:請點這裡

Copyright © Linux教程網 All Rights Reserved