免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1662 | 回复: 0

xen的编译安装 [复制链接]

论坛徽章:
0
发表于 2009-12-02 21:43 |显示全部楼层

                                                                                                安装准备:
因为编译时需要从internet上下载一些补丁,所以先从外网下载。
hg clone
http://xenbits.xensource.com/linux-2.6.18-xen.hg
注:在下载之前需要先安装mercurial工具,这个是分布式版本控制软件,类似于svn,目前安装的是mercurial-1.3.1.tar.gz
把下载的文件发到内网。
tar zxf xen-3.4.2.tar.gz -C /usr
cp -r linux-2.6.18-xen.hg/ /usr/xen-3.4.2/
#studom是xen中的一个补丁集,可以增加性能,网上有说可以把这块去掉(具体步骤可以到网上去找),因为性能的原因这里还是没有去,在编译时会需要去下载一些文件:
grub-0.97.tar.gz
lwip-1.3.0.tar.gz
newlib-1.16.0.tar.gz
pciutils-2.2.9.tar.bz2
zlib-1.2.3.tar.gz
这里要提前下载,并把它放到/usr/xen-3.4.2/stubdom/下,就可以跳过这一步
cp stubdom/* /usr/xen-3.4.2/stubdom/
2、修改配置文件
vi 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 $@
3、编译
make dist
make install
mkinitrd -v -f initrd-2.6.18.8-xen.img 2.6.18.8-xen
mv initrd-2.6.18.8-xen.img /boot/
4、修改grub
cat /boot/grub/grub.conf
default=2
fallback=0
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title Red Hat Enterprise Linux Server (2.6.18-164.el5xen)
        root (hd0,0)
        kernel /xen.gz-2.6.18-164.el5
        module /vmlinuz-2.6.18-164.el5xen ro root=/dev/VolGroup01/LogVol00 rhgb quiet
        module /initrd-2.6.18-164.el5xen.img
title Red Hat Enterprise Linux Server-base (2.6.18-164.el5)
        root (hd0,0)
        kernel /vmlinuz-2.6.18-164.el5 ro root=/dev/VolGroup01/LogVol00 rhgb quiet
        initrd /initrd-2.6.18-164.el5.img
title Xen 3.4.2 (2.6.18-8) / XenLinux 2.6
        root (hd0,0)
        kernel /xen-3.4.2.gz
        module /vmlinuz-2.6.18.8-xen ro root=/dev/VolGroup01/LogVol00 rhgb quiet
        module /initrd-2.6.18.8-xen.img
注:root这段需要跟前面的设置成一样,有的是root=LABEL=/,也有的是root=/dev/VolGroup01/LogVol00,如果不一致,会导致系统起不了
5、重启系统
reboot
6、现在可以用xm dmesg看下当前的版本,如果是3.4.2,说明编译成功

附:
1、在源代码的tools/check目录中有脚本,可以在编译前检查系统是否已经必需的软件包./chk build 及./chk install来进行检查
2、网上有些文档在编译时使用make world,进入Makefile可以发现,make world是由make clean,make kdelete 和make dist三个命令组成,前两个命令进行编译的回滚。而负责安装编译的命令是make dist,这里推荐使用make dist这个命令,因为这样不会删除拷进来的linux-2.6.18-xen.hg文件夹。
3、在编译过程中需要选择模块,如果想在编译前进行配置,可以使用命令:
make linux-2.6-xen-config CONFIGMENU=menuconfig
执行命令时系统会读取buildconfig目录中以mk开头的配置文件,请保证linux-2.6-xen-config的前面两段(linux-2.6)与buildconfig目录中的文件名一致。也可直接修改源代码目录中的build-linux-2.6.18-xen_x86_64/.config文件
4、这篇文档只在redhat5版本下进行测试,其他的系统可能方法会有小的差别5、错误列表:
A.在mkinitrd可能出现下面错误:
No module dm-mem-cache found for kernel 2.6.18.8-xen, aborting.
No module dm-region_hash found for kernel 2.6.18.8-xen, aborting.
No module dm-message found for kernel 2.6.18.8-xen, aborting.
No module dm-raid45 found for kernel 2.6.18.8-xen, aborting.
解决方法:
(1)
#mkinitrd --without-dmraid -v -f /boot/initrd-2.6.18.8-xen.img  2.6.18.8-xen
(2)
#echo "DMRAID=no" >  /etc/sysconfig/mkinitrd/noraid
#chmod 755 /etc/sysconfig/mkinitrd/noraid

B. 安装完毕,开机重启出现错误:
switchroot: mount failed: No such file or directory
Kernel panic - not syncing: Attempted to kill init!
解决办法:
见安装步骤3:(必须设置root为安装分区)
C.make world出现错误:
Unable to determine path to Linux source tree.
Falling back to linux-2.6.18-xen Mercurial repository.
可能是没有安装mercurial,参考安装步骤1解决
D.编译doc和tools时的错误参见:
编译xen-3.3doc和tools遇到的问题
参考文档:
我的博客
;
Asianux下安装xen-3.4.1
;
64位FC8上安装xen笔记
               
               
               
               
               
               
               
               
               
               
               
               
               
               
               
               
               
               

本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/14754/showart_2109780.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP