作者:流浪的枫之羽
最近由于老板交代要把一个实验平台跑起来所以涉及到要求编译和安装XEN的早期版本3.0.2,以前安装的都是最新的版本,所以只要yum一下所有问题都能搞定,但是涉及到与实验平台版本兼容的问题,于是只好重新回归到xen3.0.2版本,这次安装花费了我整整2天的时候,先用centos5.1在那边搞了几次,结果编译错误没搞起来,后来换用fc8搞也没搞起来,查了很多资料,最后发现作者说这个版本编译有bug,与是按照他的说法对于makefile进行了改变,在进行编译还是通不过,每次编译都是1个小时左右,痛苦。在万般无奈的情况下,尝试最后一种方法,用redhat4企业版编译,经过努力居然神奇的通过了,我也没改makefile的东西,相当神奇,可能是OS版本的问题,汗,那作者怎么还说编译有bug,并且给出了3个方式解决。现在问题解决了我们来看下具体的操作过程:
1.先在这里下载xen3.0.2版本 http://www.xen.org/download/index_3.0.2.html应该能得到xen-3.0.2-src.tgz
2.解压缩源码:tar zxvf xen-3.2.2-src.tgz
最后先把需要的linux内核也下载下来,配套的为:linux-2.6.16.tar.bz2,可以去www.kernel.org下载
然后进入xen-3.0.2-2,修改makefile中的第一行改为KERNELS ?= linux-2.6-xen0 linux-2.6-xenU
3.编译XEN和内核文件命令
make world
这样就编译出来未经自定义的内核
vmlinuz-2.6.16-xen0和vmlinuz-2.6.16-xenU
4.安装编译好的文件make install
5.创建initrd-2.6.16-xen0.img由于/boot/目录下没有initrd-2.6.16-xen0.img 文件,而XEN装在RHEL4中正常启动需要此文件
因此需用mkinitrd命令创建
我是使用SCSI硬盘安装的,则需要先修改/etc/modprobe.conf
去掉其中包含字符串mpt* 和 ata*的所有行
否则会出现缺少模块No module mptbase found for kernel 2.6.16-xen0, aborting的错误
创建文件
mkinitrd /boot/initrd-2.6.16-xen0.img 2.6.16-xen0
6.修改grub.conf文件加入以下行
title Xen 3.0 / XenLinux 2.6
root (hd0,0)
kernel /xen-3.0.gz dom0_mem=512144
module /vmlinuz-2.6-xen0 ro root=/dev/VolGroup00/LogVol00 rhgb console=tty0
module /initrd-2.6.16-xen0.img由于我系统的/ 分区是默认的硬盘分区所以写 root=/dev/VolGroup00/LogVol00 rhgb
domain0 启动的内存设为512M
7.重新启动进入grub选择XEN的标签,启动了domain0系统,然后启动xend start,如果启动成功,祝贺您,正确安装,可以进一步安装guestos了!


wozdaixxma 于 2011-01-06 11:12:50发表:
正在学习xen,学习下
yanlong938 于 2010-08-04 01:42:11发表:
好文章啊 感谢分享啊