1. XEN 的安裝
a需要的包名稱:
xen-3.4.2.tar.gz
linux-2.6.18-xen-3.4.2.tar.gz
補丁:
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
其中 zlib-1.2.3.tar.gz 注意解壓後文件夾名稱是否為 zlib-1.2.3(重要)
否則會導致編譯錯誤
b.安裝包:
# yum install libX11-devel.x86_64 openssl-devel.x86_64 gettext-devel.x86_64 gcc.x86_64 dev86.x86_64 ncurses-devel python-devel libtool-ltdl texinfo.x86_64 xorg-x11- xtrans-devel xorg-x11- server-sdk xorg-x11-drv-i810-devel xorg-x11-drv-via xorg-x11-proto-devel
c.設置配置文件
把對應的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內核源碼的步驟, (修改後的文件) 如下:
----------------------------------------------------------------
# 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 $@
d. 准備studom補丁集
studom 是xen中的一個補丁集,可以增加性能,是從xen3.3引入的,並不是必需的。網上有說可以把這塊去掉(具體步驟可以到網上去找),如果不想去掉的話,可以自己上網下載對應的工具包,放到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/
其中 zlib-1.2.3.tar.gz 注意解壓後文件夾名稱是否為 zlib-1.2.3(重要)
e.開始編譯安裝
[root@localhost xen-3.4.2]# make dist (有 Y選Y,沒Y選M )
[root@localhost xen-3.4.2]# make install
f. 生成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
g. 修改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
title Other
rootnoverify (hd0,0)
chainloader +1
----------------------------------------------------------------