xen3.3.0源码安装

从网上下载 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            Size  Used Avail Use% Mounted on
/dev/mapper/VolGroup00-LogVol00
                      11G  2.6G  7.5G   26% /
/dev/sda1             99M  12M   82M  13 %/boot
tmpfs                 189M     189M   0%/dev/shm
/dev/hdc              3.7G 3.7G     0 100% /media/cdrom
[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
在这个文件中可以看到安装前必须安装的软件包版本:
    * GCC v3.4or later
    * GNUMake
    * GNUBinutils
    *Development install of zlib (e.g., zlib -dev)
    *Development install of Python v2.3 or later (e.g.,python-dev)
    *Development install of curses (e.g., libncurses -dev)
    *Development install of openssl (e.g., openssl -dev)
    *Development install of x11 (e.g. xorg-x11-dev)
    *bridge-utils package (/sbin/brctl )
    * iproutepackage (/sbin/ip )
* 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  Tue Jul 28 13:04:54 CST2009
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  Tue Jul 28 13:04:58 CST2009
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)
       root (hd0,0)
       kernel /vmlinuz-2.6.18-128.el5 ro root=/dev/VolGroup00/LogVol00rhgb quiet
       initrd /initrd-2.6.18-128.el5.img
title Xen 3.3.1 / XenLinux 2.6.18
       kernel /xen-3.3.1.gz
       module /vmlinuz-2.6.18.8-xen ro console=tty0
       module /initrd-2.6.18.8-xen.img

重启,重启时出现了一个 warning ,说当前模拟还不支持 memory accesses ,建议把 /lib/tls 改名为/lib/tls.disabled 。在 starting udev 时超时了。其余一切正常。
 
注:
1.      所有关于 xen 的官方安装文档上在说到 customize kernels 时会说在 top level Makefile中修改包含有“ KERNELS ?= ”的这一行,然而在 top level Makefile 中并没有这一行,在 top levelmake file 中有: include Config.mk ,而在 Config.mk 中又有: include$(XEN_ROOT)/config /$(XEN_OS).mk 这一行,其中 XEN_OS 的值就是 uname –s的输出,在我的电脑上就是 Linux ,所以这一行会包含 config/Linux.mk 文件,在 config/Linux.mk文件中有 KERNELS ?= 这一行,所以,文档中说的修改 top level Makefile ,实际上意思是修改 config目录下对应的 mk 文件。
2.      查看 Makefile 可以知道, make world 实际上是先做所有的清理工作,然后 make dist 。而 makedist 又是由 make xen (make install-xen ), make kernels(makeinstall-kernels), make tools(make install-tools), make stubdom(make install-stubdom ), make docs(make install-docs) 这几条命令顺序执行,make prep-kernels 实际上执行的是 make linux -XXX-prep, make kernels实际上执行的是 make linux -XXX-install ,所以,完全可以把整个的 make dist拆开来进行。尤其是出了错误的时候,要完全重新执行 make dist 过于巨大,知道了整个 make过程是怎么样的之后,分步执行,能快速定位错误,而且每个小分步都能很快地执行,也给人以信心。
3.      在安装 xen-3.3.1 时 make dist 执行到中间,在 make stubdom 时会下载一个lwip-1.3.0.tar.gz 文件,所以安装前要检查网络连接以及设置好 wget 的一些参数。
4.      今天安装完成才发现 xen 的邮件列表中的一篇文章: http://lists.xensource.com/archives/html/xen-users/2008-05/msg00341.html,在这里作者列出了安装 xen 的简明步骤,非常实在有效。
5.      以上是没有经过 customize 内核的默认安装,所有选项 (make 时要求回答 y/n/m 的选项 ),都直接回车带过。所以没有遇到网上说的任何问题,包括自己前两次安装 xen 时遇到的在 mkinitrd 时出现ehci,ohci,uhci,mptspi 等等这些问题。
6.      在执行 ./chk 检查安装条件时并没有出错,看来 xen 的 xorg-x11-devel 指的就是 libX11-devel,但是在安装 xen 3.2.0 时,安装 libX11 是不够的,具体上一篇博客有记载。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值