centos 5 源码安装 xen 3.4.2

http://hi.baidu.com/%B7%E3%BE%ED%B2%D0%D4%CF/blog/item/06032797f8b7796155fb96c0.html

 

(转帖+修改)

 

1  下载源码包,解压
[root@localhost source]# tar zxf xen-3.4.2.tar.gz 
[root@localhost source]# tar zxf linux-2.6.18-xen-3.4.2.tar.gz 

2  把对应的linux内核源码包放到xen的目录下,改成linux-2.6.18-xen.hg,并修改src.hg-clone文件。
[root@localhost source]# mv linux-2.6.18-xen-3.4.2 xen-3.4.2/linux-2.6.18-xen.hg
[root@localhost source]# cd xen-3.4.2
[root@localhost xen-3.4.2]# gedit buildconfigs/src.hg-clone 

去掉hg同步linux内核源码的步骤(因为已经下载过了,就不需要hg来搅局啦),如下:
----------------------------------------------------------------
# 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 $@

----------------------------------------------------------------

3  检测依赖工具是否都安装了
[root@localhost xen-3.4.2]# cd tools/check/
[root@localhost check]# ./chk build
Xen CHECK-BUILD  2010年 04月 02日 星期五 10:30:56 CST
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@localhost check]# ./chk install
Xen CHECK-INSTALL  2010年 04月 02日 星期五 10:31:05 CST
Checking check_brctl: which: no brctl in (/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin:/root/bin:/sbin:/usr/sbin)

*** check_brctl FAILED: can't find brctl
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: which: no udevadm in (/sbin)
OK
Checking check_xml2: unused, OK
Checking check_zlib_lib: OK

如果工具有没有安装,用yum install安装,我这里没有brctl,搜索发现是要安装bridge-utils这个包。
[root@localhost check]# yum install bridge-utils -y
安装后再check就全ok了。

4  准备studom补丁集
studom是xen中的一个补丁集,可以增加性能,是从xen3.3引入的,并不是必需的。(是啊,这是对HVM有用,对parav无用的)

网上有说可以把这块去掉(具体步骤可以到网上去找),如果不想去掉的话,可以自己上网下载对应的工具包,放到xen源码目录下的studom目录下。我已经下好了,这些工具包在按照名字在网上都很容易搜索到的。
[root@localhost stubdom]# ls
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
[root@localhost stubdom]# cp * ../xen-3.4.2/stubdom/

5  编译安装
[root@localhost xen-3.4.2]# make dist -j 4
-j 4是指4线程编译,这样会快很多,不过如果有错误可能会看不到,那样就要看经验了,如果觉得出错了可以再运行一下make dist,看看有没有错误。make途中遇见少什么就装什么,再重新编译一下。通过后就安装。
[root@localhost xen-3.4.2]# make install -j 4

6  生成initrd镜像
[root@localhost xen-3.4.2]# mkinitrd --without-dmraid -v -f /boot/initrd-2.6.18.8-xen.img 2.6.18.8-xen

7  修改grub配置文件
[root@localhost xen-3.4.2]# gedit /boot/grub/grub.conf 
----------------------------------------------------------------
default=1
timeout=1
splashimage=(hd0,1)/boot/grub/splash.xpm.gz
hiddenmenu
title CentOS (2.6.18-164.el5)
root (hd0,1)
kernel /boot/vmlinuz-2.6.18-164.el5 ro root=LABEL=/1 rhgb quiet
initrd /boot/initrd-2.6.18-164.el5.img

title CentOS-Xen3.4.2 (2.6.18-8)
root (hd0,1)
kernel /boot/xen-3.4.2.gz
module /boot/vmlinuz-2.6.18.8-xen ro root=LABEL=/1 rhgb quiet
module /boot/initrd-2.6.18.8-xen.img
----------------------------------------------------------------

8  重启安装网卡驱动
一切都好,网络不正常。网卡驱动一般比较好找,只要知道自己网卡型号,上驱动之家或者官网搜索一下大致都可以找到。

9  安装xen docs
之前的xen docs没有安装好,提示需要安装latex
make[1]: Leaving directory `/home/eru/xen/source/xen-3.4.2/stubdom'
sh ./docs/check_pkgs && make -C docs install || true
=================================================
=================================================
= WARNING: Package 'latex' is required
=          to build Xen documentation
=================================================
=================================================
以下包有些不是必须的
[root@localhost xen-3.4.2]# yum install tetex-latex tetex-afm tetex-dvipost tetex-unicode tetex-xdvi zlib-devel latex2html pdftk
[root@localhost xen-3.4.2]# make docs

补充:

 

个人建议,把xen kernel和domain 0 kernel还有 domain U kernel单独编译,而不是一个"make dist",把所有东西都煮到一锅粥里了...

 

(1) xen kernel:

make xen tools

make install-xen install-tools

这些足够啦,都不用去修改buildconfigs/src.hg-clone。可以尝试着简化Xen的Makefile:-)

(2)domain 0 kernel:

把linux-2.6.18-xen-3.4.0/buildconfigs/下的东东看一下,把相应的xen0弄过来,然后就是编译linux kernel那些步骤啦!里面的网卡驱动啥的都能用

**小trick: 把CONFIG_LOCALVERSION=".xen-dom0"加进去,出来的kernel就是linux-2.6.18.xen-dom0,呵呵!

make

make modules

make modules_install

make install

(3)关于stubdom:

make stubdom

make install-stubdom

 

等我写更多的customization哈:)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值