二、编译安装dom0
1. 面向Xen开发者的kernel源码主要有Konrad和Jeremy两个版本,当然它们中的改动也会被merge到Torvalad的mainline当中。这里以Jeremy版本为例:
$ git clone git://git.kernel.org/pub/scm/linux/kernel/git/jeremy/xen.git linux-2.6-xen
$ cd linux-2.6-xen
$ git checkout -b xen/next-2.6.32 origin/xen/next-2.6.32
进行kernel的编译配置:
# make oldconfig
# make menuconfig
加上Xen的编译选项(参考这里或这里),接下来就是编译安装了:
# make
# make modules_install
# make install
默认是会生成initrd.img的,如果没有的话就要用mkinitramfs手动生成了。
2. 设置grub
假设前面编译好的image文件为vmlinuz-2.6.32.57和initrd.img-2.6.32.57,在/etc/grub.d/40_custom中加入:
menuentry "Xen - Linux 2.6.32.57" {
insmod ext2
set root='(hd0,msdos1)'
multiboot /boot/xen.gz dummy=dummy
module /boot/vmlinuz-2.6.32.57 dummy=dummy root=UUID=323d1960-8f62-4bb4-9b92-81e7c835cb07 ro dom0_mem=512M nomodeset
module /boot/initrd.img-2.6.32.57
}
注意系统会根据/etc/grub.d/中的文件生成/boot/grub/grub.cfg,而/etc/default/grub用于设置其默认选项,timeout等参数。
重启,长按shift调出grub菜单,选刚才新加的那项,进入dom0。
下面开始创建domU。