CentOS5.4安装xen

终于把xen编译好了,只有DOM0,安装的时候,出了很多错误,说实话都没有解决。于是,采用了最简单的方法:

下载:

xen3.4.2:http://bits.xensource.com/oss-xen/release/3.4.2/xen-3.4.2.tar.gz

linux 2.6.18.8打过xen补丁的:http://bits.xensource.com/oss-xen/release/3.4.2/linux-2.6.18-xen-3.4.2.tar.gz

安装方法:

step 1:
分别解压后,将linux-2.6.18.8解压后的内核拷入xen-3.4.2目录内,并重命名为 xen-2.6.18-xen.hg。
为了不再进行同步linux,修改xen-3.4.2/buildconfigs/src.hg-clone文件,将其中的某些行删除,删除后的内容为:

# Mercurial
HG ?= hg
LINUX_SRCDIR ?= linux-$(LINUX_VER)-xen.hg
# Repository to clone.
XEN_LINUX_HGREPO ?= $$(sh buildconfigs/select-repository $(LINUX_SRCDIR) $(LINUX_SRC_PATH))
# Set XEN_LINUX_HGREV to update to a particlar revision.
XEN_LINUX_HGREV  ?= tip
$(LINUX_SRCDIR)/.valid-src: $(__XEN_LINUX_UPDATE)
set -e ; \
touch $@

step 2:

安装xen的时候,需要依赖一些库文件,因此,要预先检查一下

进入xen-3.4.2/tools/check目录

分别运行 ./chk build 和 ./chk install

都提示OK,则可,否则,安装之。

step3:

准备xen-3.4.2/studom目录内的相关文件:

grub-0.97.tar.gz   newlib-1.16.0.tar.gz    pciutils-2.2.9.tar.gz
lwip-1.3.0.tar.gz  pciutils-2.2.9.tar.bz2  zlib-1.2.3.tar.gz

注意:pciutils有两个,一个是.tar.bz2,一个是.tar.gz。

将以上的文件下载好后,拷贝到studom目录下

step4:

开始安装了。这里,会发生很多警告,或者错误,如果想将错误输出到文件中,以便分别到网上寻找错误的解决方法,可以在每一条命令后面加上 2> error.txt 这样,就将错误和警告信息输出到文本文件error.txt了。

运行 make dist –j 8 ;这里 –j 的参数是多线程,这里用8线程进行make

然后,运行 make install –j 8;

通过这两条命令,已经在/boot目录下生成了kernel文件和xen.gz了。

注意,不可运行make world,因为这条命令是几条命令的集合,首先会运行 make clean,这条命令一运行,我们在linux-2.6.18-xen.hg下的目录都被清空了,功夫白费了。

我们还少initrd文件,因此,Continue.

step5:

运行:mkinitrd --without-dmraid -v -f /boot/initrd-2.6.18.8-xen.img 2.6.18.8-xen

这个—without-dmraid可加可不加,不过,我没有实验过不加的情况,如果你时间充足,都测试一下,完了,留言告诉偶一声,谢谢。

step6:

上面的工作都已经做完了,那么就很轻松了,改一下grub.conf就可以啦。我的grub为:

title CentOS (2.6.18-164.15.1.el5)
        root (hd0,0)
        kernel /vmlinuz-2.6.18-164.15.1.el5 ro root=/dev/VolGroup00/LogVol00 rhgb quiet
        initrd /initrd-2.6.18-164.15.1.el5.img
title Red Hat Enterprise Linux Server (2.6.18-128.el5)
        root (hd0,0)
        kernel /vmlinuz-2.6.18-128.el5 ro root=/dev/VolGroup00/LogVol00 rhgb quiet
        initrd /initrd-2.6.18-128.el5.img
title xen-3
        root (hd0,0)
        kernel /xen-3.4.2.gz
        module /vmlinuz-2.6.18.8-xen ro  root=/dev/VolGroup00/LogVol00 rhgb quiet
        module /initrd-2.6.18.8-xen.img

到这里,就可以重启了,如果启动后,出现cann’t find filesystem的错误,检查一下grub.conf里面的root参数,是否赋值正确了。我就在这里摔了好几跤。

OK。

接下来,我会进行DOMU的实验。

评论

  1. 写得很详细啊,如果格式排一下方便阅读就更好了:)

    回复删除

发表评论

此博客中的热门博文

Linux/ARM Page Table Entry 属性设置分析

提交了30次才AC ---【附】POJ 2488解题报告

笔记