Ubuntu 10.04 (with grub2)安装 Xen 4.0.1

首先澄清一些谣言,网上流传说grub2存在bug,导致xen无法正常启动,经过我的实际体验,这种说法是错误的,可以在grub2下使用xen。另外有人说Python2.6无法启动xen,这也是错误的,其实python2.6使用的目录和先前的版本有所不同,因此只需要自行拷贝一些文件便可完美使用。

下面介绍一下如何在Ubuntu 10.04下安装Xen 4.0.1。介绍分为两个部分,第一部分为如何安装Xen和并启动Dom0;第二部分为如何安装DomU,这里DomU以CentOS 5.5为例,因为有现成的kernel可以用比较简单,容易说明问题。

一、安装Xen并启动Dom0

1.1 安装Ubuntu10.04 Server

想必这个步骤不用我说大家应该也会安装,这里只说明一些比较重要的注意事项。首先,一定要选择64位版的Server。我原来一直以为64位和32位皆可,但是32位系统下编译内核总是莫名其妙的出错,只有64位系统下编译出来的内核可用。如果你的CPU不支持64位计算,那么赶紧去电脑城买新电脑吧。究其原因我也说不清楚,希望对内核非常熟悉的同学踊跃讨论。

Server版默认是文本界面的,如果你不喜欢或者不适应文本界面(比如我就不喜欢文本界面,因为没有滚动条,看以往的命令输出不方便),可以安装ubuntu-desktop包:

$ sudo apt-get install ubuntu-desktop

这里我推荐使用官方源,因为在教育网下官方源虽然慢点,但是东西可是真材实料,不会有后顾之忧。如果教育网链接官方源不稳定,可以尝试一下在同一个网段的另一台电脑上不停的ping官方源服务器,估计链接质量会有所改善。

1.2 准备各种源文件

需要准备源文件包括Xen的源代码,Linux Kernel的源代码,以及Kernel的Xen补丁。

Xen的源代码可以从Xen的官方网站上下载:,下载下来的文件名应该是xen-4.0.1.tar.gz。

Kernel以及补丁可以利用一下命令获得

$ wget
$ wget

这里不推荐大家使用别的内核版本,这个版本是最稳定的了。为了操作方便,建议大家在主目录下新建一个目录,将这三个源代码包拷贝到其中。

然后我们还需要一些附加的以来软件包,需要的软件包比较多,我们通过apt进行安装,这一个步骤需要你的细心,别丢下了一些软件包。

$ sudo apt-get install gcc g++ make patch libssl-dev bzip2 gettext \
zlib1g-dev python libncurses5-dev libjpeg62-dev libx11-dev \
libgcrypt11-dev pkg-config bridge-utils bcc bin86 libpci-dev \
libsdl-dev python-dev texinfo libc6-dev uuid-dev bison flex fakeroot \
build-essential crash kexec-tools makedumpfile  libncurses5 \
libncurses5-dev iasl

当然,你可以讲这些命令差分成多个apt-get命令,这样会靠谱些。

1.3 编译并安装xen

准备工作已经结束了,现在来编译并安装xen。首先解压缩软件包:

$ tar vxzf xen-4.0.1.tar.gz

然后进入软件包目录:

$ cd xen-4.0.1

编译并安装:

$ make xen tools stubdom
$ sudo make install-xen install-tools install-stubdom

将xend加入启动项:

$ sudo update-rc.d xend defaults 20 21
$ sudo update-rc.d xendomains defaults 21 20

如果没有报错,Xen实际上已经安装好了。但是别急,我们现在还不能使用它,因为首先,Xen是一个Para-virtualization技术的VMM,需要一个Xen化的内核,我们还没有,另外对Xen的守护进程的配置文件我们还有进行适当的设置。下文我们会逐步的代令你完成这些。

不过在这一步,我们需要注意两个问题。首先,建议大家不要使用make world来编译xen,因为这样xen会自动从网上下载2.6.18版本的xen化内核,但是这个内核实际上并不怎么好用,而且最要命的是教育网把下载该内核的服务器给河蟹了(至少在我这是河蟹了)。其次,如果在编译过程中,出现任何的错误,其实都是你的前期工作没有做好,最有可能的情况就是你少安装了依赖软件包。通常报错的时候xen会提示你缺少的软件包名称。 

1.4 编译Xen化内核

这个步骤比较纠结,我以前就是纠结在这个步骤上许久,不过经过百折不挠的尝试,我终于成功了。其实,究其原因,也就是选对内核版本,选对编译平台,选对内核配置即可。

内核版本和内核平台我都已经给出了最好的建议,那就是Linux Kernel 2.6.31.8,Xen-Patch 2.6.31-10,64位平台。

首先我们解压缩内核代码并打上Xen的补丁。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://127.0.0.1/wyyspy.html