设为首页 收藏本站
查看: 1480|回复: 0

[经验分享] centos 5 源码安装 xen 3.4.2

[复制链接]

尚未签到

发表于 2016-1-9 14:33:19 | 显示全部楼层 |阅读模式
  http://hi.baidu.com/%B7%E3%BE%ED%B2%D0%D4%CF/blog/item/06032797f8b7796155fb96c0.html
  
  (转帖+修改)
  
  1 下载源码包,解压
[iyunv@localhost source]# tar zxf xen-3.4.2.tar.gz
[iyunv@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文件。
[iyunv@localhost source]# mv linux-2.6.18-xen-3.4.2 xen-3.4.2/linux-2.6.18-xen.hg
[iyunv@localhost source]# cd xen-3.4.2
[iyunv@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 检测依赖工具是否都安装了
[iyunv@localhost xen-3.4.2]# cd tools/check/
[iyunv@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
[iyunv@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这个包。
[iyunv@localhost check]# yum install bridge-utils -y
安装后再check就全ok了。

4 准备studom补丁集
studom是xen中的一个补丁集,可以增加性能,是从xen3.3引入的,并不是必需的。(是啊,这是对HVM有用,对parav无用的)
  网上有说可以把这块去掉(具体步骤可以到网上去找),如果不想去掉的话,可以自己上网下载对应的工具包,放到xen源码目录下的studom目录下。我已经下好了,这些工具包在按照名字在网上都很容易搜索到的。
[iyunv@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
[iyunv@localhost stubdom]# cp * ../xen-3.4.2/stubdom/

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

6 生成initrd镜像
[iyunv@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配置文件
[iyunv@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
=================================================
=================================================
以下包有些不是必须的
[iyunv@localhost xen-3.4.2]# yum install tetex-latex tetex-afm tetex-dvipost tetex-unicode tetex-xdvi zlib-devel latex2html pdftk
[iyunv@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哈:)

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-162237-1-1.html 上篇帖子: xen网络桥接模式流程 下篇帖子: xen中外部中断处理分析
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表