在 CentOS6下源码安装 Xen4.1.2

在 CentOS 下源码安装 Xen

在 CentOS 源码编译安装 Xen 的过程和在 Debian 上编译安装 Xen 的过程差不多,只是第一步安装编译所需要的工具和软件包有所不同,后续步骤有点小差别,不过方法都是一样的,这也说明各个 Linux 发行版之间的区别真的不大,没有必要为选择 Linux 发行版而 发愁。编译一个 Xen 内核和编译一个普通 Linux 内核没有什么不同,如果发现编译后的内核启动不了,出现 kernel panic 的情况,多半是内核与机器的硬件没有配置好的原因,和 Xen 没有关系,比如常见的 switchroot: mount failed: No such file or directory 就可能是因为内核配置的时候忘了加上 root 的硬盘驱动,也可能找到驱动了但是挂载的时候发现文件系统类型不对,等等。在一台 Intel(R) Xeon(TM) i CPU E3-1230@ 3.07GHz, 4GB 机器上使用最新的 Xen 4.0.0 源代码和 CentOS 5.4 完成以下操作。这里还有在 Ubuntu 上源码安装 Xen 的详细过程。如果觉得源码安装很麻烦的话,这里有 在 CentOS 上安装和配置 Xen 的二进制安装过程。

安装需要的软件包

首先最小化安装 CentOS,然后安装编译 Xen 和 Linux xen kernel 所需要的软件包:

# yum groupinstall "Development Tools"
# yum install hmaccalc ncurses-devel zlib-devel openssl-devel python-devel \
bridge-utils  libtool-ltdl iasl xorg-x11-drv-evdev xorg-x11-drv-fbdev \
xorg-x11-drv-i810-devel xorg-x11-drv-via-devel xorg-x11-proto-devel \
xorg-x11-server-sdk xorg-x11-xtrans-devel
# yum install libuuid-devel
# yum -y install readline-devel gcc gcc-gfortran gcc-c++ flex pcre-devel 
blas-devel lapack-devel curl-devel bison gperf gnuplot texinfo-tex 
tetex-dvips
 

安装完以上软件包后,剩下的操作就和在 Debian 上编译和安装 Xen 差不多了。

安装 Xen hypervisor 和 tools

到 http://www.xen.org/products/xen_source.html 下载最新的 Xen 源代码,然后解开、编译、安装,标准的 Linux 软件源码安装动作:

$ tar zxvf xen-4.1.2.tar.gz
$ cd xen-4.1.2/
$ make xen tools stubdom
# make install-xen install-tools install-stubdom

上面 make stubdom 的时候会从网上自动下载一些东西,所以如果是用代理上网的话需要在自己根目录下的 .wgetrc 里加上代理服务器,以便 wget 能通过代理正常下载:

$ vi .wgetrc
http_proxy = http://proxy.vpsee.com:3128/
use_proxy = on

 加入到启动脚本:

# /sbin/chkconfig --add xend
# /sbin/chkconfig --add xendomains
# /sbin/chkconfig xend on
# /sbin/chkconfig xendomains on
 

安装 Xen 内核

下载 Linux 内核后给内核打 xen 补丁:

下载新版本的linux内核 :linux 3.0

# wget ftp://ftp.kernel.org/pub/linux/kernel/v3.0/linux-3.0.tar.bz2
# tar jxvf linux-3.0.tar.bz2
 

Linux Kernel 3.0改进了对虚拟化和文件系统的支持,主要新特性有:

- Btrfs实现自动碎片整理、数据校验和检查,并且提升了部分性能

- 支持sendmmsg()函数调用,UDP发送性能提升20%,接口发送性能提升约30%

- 支持XEN dom0

- 支持应用缓存清理(CleanCache)

- 支持柏克莱封包过滤器(Berkeley Packet Filter)实时过滤,配合libpcap/tcpdump提升包过滤规则的运行效率

- 支持无线局域网(WLAN)唤醒

- 支持非特殊授权的ICMP_ECHO函数

- 支持高精度计时器Alarm-timers

- 支持setns() syscall,更好地命名空间管理

- 支持微软Kinect体感设备

- 支持AMD Llano APU处理器

- 支持Intel iwlwifi 105/135无线网卡

- 支持Intel C600 SAS控制器

- 支持雷凌Ralink RT5370无线网卡

- 支持多种Realtek RTL81xx系列网卡

- 大量新驱动

- 大量bug修正和改进

配置好内核参数以后,保存并退出,开始编译 Linux 内核:

$ make
$ make modules
# make modules_install
# make install
# /sbin/depmod 3.0

在编译内核最后一步时,会出现如下错误:
   ERROR: modinfo: could not find module i2c_core
   暂时还没有找到解决办法,望有高手告诉如何解决此问题。但是可以进入dom 0 可以开启xen服务,


更新 grub:

#  vi /boot/grub/menu.lst
...
title CentOS (2.6.31.8-xen)
        root (hd0,0)
        kernel /xen-4.0.0.gz
        module /vmlinuz-2.6.31.8 ro root=/dev/VolGroup00/LogVol00
        module /initrd-2.6.31.8.img
...

重启系统,确认 Xen 安装成功:

猜你喜欢

转载自lwg2001s.iteye.com/blog/1207911
今日推荐