从网上下载 xen 3.3.1 的源码包。
[root@whb yum.repos.d ]# mkdir /var /ftp/upload
[root@whb yum.repos.d ]# cd /var /ftp/upload/
[root@whb upload]# export http_proxy =59.72.109.7:56789
[root@whb upload]# wget http://bits.xensource.com/oss-xen/release/3.3.1/xen-3.3.1.tar.gz
下载地址可以在 firefox 或者 chrom 中复制链接地址轻松得到。
[root@whb upload]# wget http://bits.xensource.com/oss-xen/release/3.3.0/linux-2.6.18-xen-3.3.0.tar.gz
用 df 查看磁盘容量:
[root@whb upload]# df -h
Filesystem
/dev/mapper/VolGroup00-LogVol00
/dev/sda1
tmpfs
/dev/hdc
[root@whb upload]# cd /usr /local
[root@whb local]# mkdir Xen-3.3.1
[root@whb local]# cd Xen-3.3.1/
把它安装在 /usr/local/Xen-3.3.1 下面。
[root@whb Xen-3.3.1]# tar zxvf/var/ftp/upload/xen-3.3.1.tar.gz
[root@whb Xen-3.3.1]# tar zxvf/var/ftp/upload/linux-2.6.18-xen-3.3.0.tar.gz
安装过程主要的几份参考文档来自:
http://www.xen.org/download/docs/xen33.linux-2.6.18.README.txt
http://lists.xensource.com/archives/html/xen-users/2008-01/msg00699.html
http://www.xen.org/support/index.html
最后的一个网址处有众多的文档链接。
安装 rpmforge ,这是一个软件仓库,然后用它安装 mercurial ,这是一个源代码管理器 (source codemanagement) 。
按照 https://rpmrepo.org/RPMforge/Using的方法安装 rpmforge :
[root@whb xen-3.3.1]# cd /var /ftp/upload/
[root@whb upload]# wget http://packages.sw.be/rpmforge-release/rpmforge-release-0.3.6-1.el5.rf.i386.rpm
[root@whb upload]# rpm -Uvhrpmforge-release-0.3.6-1.el5.rf.i386.rpm
现在用 yum 安装 mercurial ,但是 yum 一运行就出错,发现原因是 http_proxy环境变量设置有问题,改为:
[root@whb upload]# export http_proxy=http://59.72.109.7:56789/
这样的形式就好了。
[root@whb upload]# yum install mercurial
[root@whb upload]# hg
输出 hg 命令的帮助,说明 mercurial 安装成功。
[root@whb upload]# cd /usr/local/Xen-3.3.1/
[root@whb Xen-3.3.1]# hg clone http://xenbits.xensource.com/linux-2.6.18-xen.hg
destination directory: linux-2.6.18-xen.hg
requesting all changes
adding changesets
adding manifests
adding file changes
added 921 changesets with 23573 changes to 20935 files
updating working directory
20912 files updated, 0 files merged, 0 files removed, 0 filesunresolved
现在已经多出了一个 linux-2.6.18-xen.hg 目录。
[root@whb xen-3.3.1]# cd xen-3.3.1/
[root@whb xen-3.3.1]# less README
在这个文件中可以看到安装前必须安装的软件包版本:
* hotplug or udev
安装它们:
[root@whb xen-3.3.1]# yum --enablerepo =c5-media install gcc
[root@whb xen-3.3.1]# yum --enablerepo =c5-media install gcc-c++
make 已经安装。
[root@whb xen-3.3.1]# rpm -qa | grep binutils
binutils-2.17.50.0.6-9.el5
[root@whb xen-3.3.1]# yum --enablerepo =c5-media installzlib-devel
[root@whb xen-3.3.1]# yum --enablerepo =c5-media installpython-devel
[root@whb xen-3.3.1]# yum --enablerepo =c5-media installncurses-devel
[root@whb xen-3.3.1]# yum --enablerepo =c5-media installopenssl-devel
[root@whb xen-3.3.1]# yum --enablerepo =c5-media installlibX11-devel
[root@whb xen-3.3.1]# yum --enablerepo =c5-media installbridge-utils
[root@whb xen-3.3.1]# yum --enablerepo =c5-media installiproute
[root@whb xen-3.3.1]# yum --enablerepo =c5-media install udev
另外,自己喜欢用 emacs ,把 emacs 也安装好。
上次安装 xen 3.2.0 时检查 x11 说有错误,为了避免 make 过程中出错,这里先检查一下:
[root@whb xen-3.3.1]# cd tools/check/
[root@whb check]# ./ chk build
Xen CHECK-BUILD
Checking check_crypto_lib : OK
Checking check_curl : unused, OK
Checking check_openssl_devel : OK
Checking check_python : OK
Checking check_python_devel : OK
Checking check_x11_devel: OK
Checking check_xgettext : OK
Checking check_xml2: unused, OK
Checking check_zlib_devel : OK
Checking check_zlib_lib : OK
[root@whb check]# ./ chk install
Xen CHECK-INSTALL
Checking check_brctl : OK
Checking check_crypto_lib : OK
Checking check_curl : unused, OK
Checking check_iproute : OK
Checking check_python : OK
Checking check_python_xml : OK
Checking check_udev : OK
Checking check_xml2: unused, OK
Checking check_zlib_lib : OK
好了,现在软件包都备齐了。应该做个 snapshot ,把这个状态保存起来。
[root@whb xen-3.3.1]# make world
[root@whb xen-3.3.1]# make install
这两条命令就能搞定一切了。其中安装 stubdom 时出错,错误原因是 makeinfo 没有安装, latex没有安装,我觉得这应该不影响大局。
现在要做的就是修改 grub ,重新启动。
[root@whb boot]# mkinitrd --without-dmraid initrd-2.6.18.8-xen.img2.6.18.8-xen
因为第一次执行时说没有 dm-cache 模块,所以加上了 -without-dmraid 参数。
修改后的 grub 文件如下:
default= 0
timeout= 5
splashimage =(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title CentOS (2.6.18-128.el5)
title Xen 3.3.1 / XenLinux 2.6.18
重启,重启时出现了一个 warning ,说当前模拟还不支持 memory accesses ,建议把 /lib/tls 改名为/lib/tls.disabled 。在 starting udev 时超时了。其余一切正常。
注:
1.
2.
3.
4.
5.
6.