提 前了解了一下xen的基础知识,然后在redhat as4上源码安装xen3.3,没有想象中的那么顺利,最大的障碍就是编译内核,时间要好几个小时,如果一旦出现失败,那么几个小时就等于白忙活了,很是 折腾。对于一个使用者来说,精力应该放在如果更好的运用这个工具,而不是在源码里面纠缠。
1、下载源码,直接登录http://www.xen.org/download/下载自己需要的源码包,我下载的是目前的最新版,xen-3.3.1.tar.gz
2、解压并进入目录,make world,这个过程非常的漫长和痛苦,遇到了几个问题:
        1、编译时出现如下错误,这个主要是没有按照安装文档要求先装mercurial:
select-repository: Searching `.:..' for linux-2.6.18-xen.hg
select-repository: Ignoring `.'
Unable to determine path to Linux source tree.
Falling back to linux-2.6.18-xen Mercurial repository.
Cloning
http://xenbits.xensource.com/linux-2.6.18-xen.hg to linux-2.6.18-xen.hg.
/bin/sh: hg: command not found
        2、环境变量缺少Python的路径,提示如下错误,添加  export PYTHONPATH=/usr/local/lib/python2.3:/usr/local/lib/python2.3/site-packages  即可
Traceback (most recent call last):
File "/usr/local/bin/hg", line 11, in ?
    from mercurial import demandimport; demandimport.enable()
ImportError: No module named mercurial
        3、 接下来又出现缺少x11头文件的错误:check_x11_devel FAILED: can't find X11 headers,于是安装了freetype-devel , fontconfig-devel , xorg-x11-devel三个包
        4、编译结束了,又出现以下警告,因为是文档,所以忽略了
*************************************************
*************************************************
* WARNING: Package 'latex' is required
*          to build Xen documentation
*************************************************
*************************************************
        5、编译完成,make install
3、查看/boot目录,多了如下几个文件:
[root@test xen-3.3.1]# ll /boot/ | grep xen
-rw-r--r--  1 root root   66430  4月  4 23:45 config-2.6.18.8-xen
-rw-r--r--  1 root root  413205  4月  5 06:29 initrd-2.6.18.8-xen.img
-rw-r--r--  1 root root  801814  4月  4 23:45 System.map-2.6.18.8-xen
-rw-r--r--  1 root root 1557460  4月  4 23:45 vmlinuz-2.6.18.8-xen
-rw-r--r--  1 root root  436197  4月  4 23:34 xen-3.3.1.gz
lrwxrwxrwx  1 root root      12  4月  4 23:34 xen-3.3.gz -> xen-3.3.1.gz
lrwxrwxrwx  1 root root      12  4月  4 23:34 xen-3.gz -> xen-3.3.1.gz
lrwxrwxrwx  1 root root      12  4月  4 23:34 xen.gz -> xen-3.3.1.gz
-rw-r--r--  1 root root 6259766  4月  4 23:34 xen-syms-3.3.1
4、源码安装的xen不会生成initrd内存映像,于是 mkinitrd /boot/initrd-2.6.18.8-xen.img 2.6.18.8-xen
5、修改/etc/grub.conf文件,红色部分为我添加的内容:
# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE:  You do not have a /boot partition.  This means that
#          all kernel and initrd paths are relative to /, eg.
#          root (hd0,0)
#          kernel /boot/vmlinuz-version ro root=/dev/sda1
#          initrd /boot/initrd-version.img
#boot=/dev/sda
default=0
timeout=5
splashp_w_picpath=(hd0,0)/boot/grub/splash.xpm.gz
hiddenmenu
title Red Hat Enterprise Linux AS (2.6.9-22.EL)
        root (hd0,0)
        kernel /boot/vmlinuz-2.6.9-22.EL ro root=LABEL=/ rhgb quiet
        initrd /boot/initrd-2.6.9-22.EL.img
 
title Xen 3.3 / XenLinux 2.6
       root (hd0,0)
       kernel /boot/xen-3.3.gz console=vga
       module /boot/vmlinuz-2.6.18.8-xen root=/dev/sda1 ro console=tty0
       module /boot/initrd-2.6.18.8-xen.img
6、重新启动系统,选择xen内核启动
7、虽然前面编译安装都还好,但是后面用xen怎么都启动不来,目前依然无解,如果用作了lvm的root分区,就会出现如下错误:
如果使用scsi的硬盘,就会出现如下错误:
如果哪位朋友了解问题所在,希望不吝赐教