Fedora11下安裝Xen4.0

現確保CPU支持Xen虛擬化。半虛擬化需要pae,全虛擬化需要Intel VT或者AMD PT的支持。
cat /proc/cpuinfo | grep flags
如果包含pte,那麼就支持半虛擬化。如果包含vmx(Intel)或者svm(AMD),那麼就支持全虛擬化。

Xen的編譯還需要其他包的支持,接下來安裝他們:
yum groupinstall "Development Libraries"
yum groupinstall "Development Tools"
yum install transfig texi2html libaio-devel dev86 glibc-devel e2fsprogs-devel gitk mkinitrd iasl xz-devel bzip2-devel

不多說,接下來就該下載Xen的源碼了。
hg clone http://xenbits.xen.org/xen-4.0-testing.hg
下載完成後,
cd xen-4.0-testing.hg
切換到源碼的主目錄下。這時候,有兩個選擇。

第一:Xen和Domain0的內核一起編譯,安裝。
make world
make install
既可。注意make world的時候,會自動下載Domain 0的內核,請保持網絡的暢通。編譯內核的配置也很重要,詳細過程見第二種選擇描述的編譯內核部分。

第二:先編譯Xen,安裝Xen。再手動下載Domain 0內核,編譯,最後安裝它。
編譯Xen和它的tools。
make xen
make tools
make stubdom
安裝Xen和它的tools。
make install-xen
make install-tools
make install-stubdom

接下來手動下載Domain0內核源碼。
git clone git://git.kernel.org/pub/scm/linux/kernel/git/jeremy/xen.git linux-2.6-xen
下載完成後,
cd linux-2.6-xen
切換到源碼的主目錄下。

接下來,就是配置內核的過程了。
make mrproper
make menuconfig
這時,如果你編譯的是32bit的內核,要注意使pae有效。
Processor type and features -> High Memory Support (64GB) -> PAE (Physical Address Extension) Support
另外,保證使CONFIG_HIGHPTE=n。
其次,保證ACPI support有效。

下面是.config文件的一些例子。
64bit x86_64 (xen/stable-2.6.31.x 2.6.31.6): http://pasik.reaktio.net/xen/pv_ops-dom0-debug/config-2.6.31.6-pvops-dom0-xen-master-x86_64
64bit x86_64 (xen/stable-2.6.32.x 2.6.32.10): http://pasik.reaktio.net/xen/pv_ops-dom0-debug/config-2.6.32.10-pvops-dom0-xen-stable-x86_64
32bit PAE (xen/stable-2.6.31.x 2.6.31.6): http://pasik.reaktio.net/xen/pv_ops-dom0-debug/config-2.6.31.6-pvops-dom0-xen-master-x86_32
32bit PAE (xen/stable-2.6.32.x 2.6.32.10): http://pasik.reaktio.net/xen/pv_ops-dom0-debug/config-2.6.32.10-pvops-dom0-xen-stable-x86_32

接下來就可以編譯內核了。
make bzImage
make modules
make modules_install
make install

以上過程結束之後,
cd /boot
ll
應該就會發現對應的xen,domain0的內核相關文件。
我的電腦上如下:
xen-4.0.1-rc1-pre.gz
System.map-2.6.31.13
vmlinuz-2.6.31.13
initrd-2.6.31.13.img

可能還有別的符號鏈接指向這幾個文件。如果initrd沒有出現,那麼使用
mkinitrd initrd-version.img version
生成這個文件,version表示版本號,在我的電腦上是:
mkinitrd initrd-2.6.31.13.img 2.6.31.13

最後配置grub,
vi /etc/grub.conf
添加以下內容:
title        Xen 4.0, kernel 2.6.31.13
root         (hd0,0)
kernel       /boot/xen-4.0.gz dom0_mem=512M
module       /boot/vmlinuz-2.6.31.13 root=/dev/sda1 ro nomodeset
module       /boot/initrd.2.6.31.13.img
這個要根據自己的電腦的實際情況略作修改了,像我的電腦就是
root (hd0,4)
因爲我的在第四個分區,在此就不多說了。

接下來重啓電腦吧。在grub裏面選擇Xen 4.0, kernel 2.6.31.13。這樣就進入Xen了。
其實進入新的domain0之後,在我的電腦上沒有太大差別,只不過是換了內核而已。
這時,試用命令:
xm list
結果呢?
Name                                        ID   Mem VCPUs      State   Time(s)
Domain-0                                     0  1024     2     r-----   1596.8

這就是xen了。如果出現問題,例如無法連接到xend。那麼
ps aux | grep xend
看看xend守護進程啓動沒有,如果沒有使用
xend start
啓動該進程。如果啓動出現問題試一下:
xend reload
xend start
但願你的xend問題已經解決了,當然更希望你的xen啓動完成正常,根本沒有任何問題。

F12過程也差不多,試試吧。

 

本文來自CSDN博客,轉載請標明出處:http://blog.csdn.net/handw/archive/2010/04/22/5515164.aspx

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章