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