CentOS5.2上內建的是xen3.0.3版本,由於我編譯的源碼是xen3.2.0版,所以要在Centos5.2上源碼編譯安裝一下xen3.2.0。在參考了網上很多安裝教程之後,都發現有一些問題。所以在師兄的協助下,成功安裝後做了一下總結。
下面是具體的實現步驟:
1,下載mercurial(一種輕量級分布式版本控制系統),ftp://ftp.univie.ac.at/systems/linux/dag/redhat/el5/en/i386/RPMS.dag/rpmforge-release-0.3.6-1.el5.rf.i386.rpm
然後是安裝: [root@localhost ~]#rpm –hvi rpmforge-release-0.3.6-1.el5.rf.i386.rpm
[root@localhost ~]# yum install mercurial
2,通過剛下載的mercurial工具下載專門為xen修改用的linux核心
Hg clone http://xenbits.xensource.com/linux-2.6.18-xen.hg
這個過程會比較長,因為下載的核心會有200多M,自動下載到終端所在的目錄中。
3,在CentOS 5.2 上通過rpm包(不用編譯)升級 xen3.0.3->3.2.0。這麼做原因是因為之前在源碼編譯安裝xen的過程總是因為缺少某些組件而安裝失敗,所以想通過rpm包自動安裝,把那些必要的組件也安裝上去,這樣就省去了我們自己去一個一個找的功夫。
升級步驟:(1)修改yum的設定檔[root@localhost ~]#vi /etc/yum.conf,把其中的gpgcheck項設為 0
(2)下載三個rpm包,分別為xen-3.2.0.i386.rpm,xen-devel-3.2.0.i386.rpm和xen-libs-3.2.0.i386.rpm,下載頁面是:http://www.xen.org/download/dl_32rhel5.html
(3)安裝這三個包:[root@localhost ~]# yum install –y xen-3.2.0.i386.rpm xen-libs-3.2.0.i386.rpm xen-devel-3.2.0.i386.rpm這裡要注意安裝順序
如果在boot目錄裡產生了xen.gz-3.2檔案表示安裝成功了。
(4) 修改grub引導檔案
[root@localhost ~]#vi /boot/grub/grub.conf
title CentOS (2.6.18-92.el5xen)
root (hd0,5)
kernel /boot/xen.gz-2.6.18-92.el5
module /boot/vmlinuz-2.6.18-92.el5xen ro root=LABEL=/1 rhgb quiet
module /boot/initrd-2.6.18-92.el5xen.img
下面是要添加的內容,注意除了kernel和title,其他基本是複製grub.conf檔案裡已有的內容
title CentOS (2.6.18-92.el5 & xen 3.2)
root (hd0,5)
kernel /boot/xen.gz-3.2
module /boot/vmlinuz-2.6.18-92.elxen ro root=LABEL=/1 rhgb quiet
module /boot/initrd-2.6.18-92.el5xen.img
(5)重啟,然後在選擇系統時進入CentOS (2.6.18-92.el5 & xen 3.2)系統,運行[root@localhost ~]#xm dm查看xen版本資訊,升級成功!
4,下載xen3.2.0源碼包,http://bits.xensource.com/oss-xen/release/3.2.0/xen-3.2.0.tar.gz,
解壓到xen3.2.0目錄,然後把步驟2中下載的linux-2.6.18-xen.hg檔案夾也複製這個目錄中。
5,make && make install,開始編譯安裝,這個過程需要花費一個小時左右,期間會有很多選項讓你選擇,我都直接斷行符號選預設選項。
6,製作鏡像,[root@localhost ~]#mkinitrd -v -f --with=aacraid --with=sd_mod --with=scsi_mod initrd-2.6.18.8-xen.img 2.6.18.8-xen,該命令會在終端所在目錄產生initrd-2.6.18.8-xen.img的檔案,注意需要把它拷貝到boot目錄下,所以最好在製作鏡像前將終端cd到boot目錄中。
7, 修改grub引導檔案
[root@localhost ~]#vi /boot/grub/grub.conf
添加以下內容:
title CentOS (xen-src-3.2src)
root (hd0,2) //視具體的引導分區而定
kernel /boot/xen-3.2.0.gz
module /boot/vmlinuz-2.6.18.8-xen ro root=LABEL=/ rhgb quiet
module /boot/initrd-2.6.18.8-xen.img
重啟,ok