Xen的安装笔记

发表于:2007-05-26来源:作者:点击数: 标签:
使用的是RHEL4update2 的系统, 从源码开始安装 主要参考XEN3.0user manul和linuxsir北南南北 的 Xen 初学者指南http://www.linuxsir.org/main/?q=node/188 1.获得源码 下载源码包 在http://xensource.com/download上下载 得到最新版本xen-3.0.2-src.tgz 2.
使用的是RHEL4update2 的系统,
从源码开始安装
主要参考XEN3.0user manul和linuxsir北南南北 的 Xen 初学者指南http://www.linuxsir.org/main/?q=node/188

1.获得源码

下载源码包 在http://xensource.com/download上下载
得到最新版本xen-3.0.2-src.tgz

2.解压并修改

tar zxvf xen-3.2.2-src.tgz
到解压后的目录下修改makefile中的一行为(大概是第一行)
KERNELS ?= linux-2.6-xen0 linux-2.6-xenU

3.编译XEN和内核文件

命令
make world
这样就编译出来未经自定义的内核
vmlinuz-2.6.16-xen0和vmlinuz-2.6.16-xenU

4.安装编译好的文件

make install

5.创建initrd-2.6.16-xen0.img

由于/boot/目录下没有initrd-2.6.16-xen0.img 文件,而XEN装在RHEL4中正常启动需要此文件
因此需用mkinitrd命令创建
若是使用SCSI硬盘安装的,则需要先修改/etc/modprobe.conf
去掉其中包含字符串mpt* 和 ata*的所有行
否则会出现缺少模块的错误
创建文件
mkinitrd /boot/initrd-2.6.16-xen0.img  2.6.16-xen0

6.修改grub.conf文件

加入以下行
title Xen 3.0 / XenLinux 2.6
    root (hd0,0)
    kernel /xen-3.0.gz dom0_mem=262144
    module /vmlinuz-2.6-xen0 ro root=/dev/sda2  console=tty0
    module /initrd-2.6.16-xen0.img
由于我系统的/ 分区是sda2硬盘分区所以写 root=/dev/sda2
domain0 启动的内存设为256M

7.重新启动

进入grub选择XEN的标签,启动了domain0系统

8.主要遇到的问题

8.1 预编译的二进制文件不符和本系统要求不能直接装,rpm包只有32位的仍不能使用
8.2  启动时遇到下列问题
VFS cannot open root device "LABEL=/" or unknown-block(0,0)
Please append a correct "root=" boot option
Kernel panic - not sysncing : VFS : unable to mount root fs on unknown-block(0,0)
修改makefile文件kernel行,并且把root=LABEL=/ 改为root=/dev/sda2后解决
8.3 再次启动后遇到问题
Warning: unable to open an initial console
因为尚未添加initrd文件initrd-2.6.16-xen0.img
于是创建initrd文件后,加入grub后可通过
8.4 创建initrd 文件错误
由与modprobe.conf 的问题
先后有错误
No module mptbase found for kernel 2.6.16-xen0, aborting.
moudule ata_piix is not found for kernel 2.6.16-xen0
是使用SCSI硬盘安装的,则需要先修改/etc/modprobe.conf
去掉其中包含字符串mpt* 和 ata*的所有行
mkinitrd /boot/initrd-2.6.16-xen0.img  2.6.16-xen0
后成功
另外在mkinitrd过程中出现的错误都可以把modprobe中相应模块删除来解决,但是否有不良后果我不知道

重启后便进入系统说明安装成功
:)

原文转自:http://www.ltesting.net