環境
- Hardware: MacMini(Early 2009)
- Memory: 4GB
- Xen: xen-4.0.2-rc1-pre changeset 21384:ec0c3f773c3e (64bit)
- Dom0(kernel): Linux 2.6.32.27(pvops) commit 75cc13f5aa29b4f3227d269ca165dfa8937c94fe (64bit)
- Dom0(distribution): Ubuntu 10.10
Dom0用Linux kernelの導入
http://wiki.xensource.com/xenwiki/XenParavirtOpsに沿って作業します。
ブランチは以下のようになっています。
- xen/stable-2.6.32.x - 2.6.32ベースの安定版
- xen/next-2.6.32 - 2.6.32ベースの開発版
- xen/next-2.6.37 - 2.6.37ベースの開発版。2011/2/14時点ではxen backend driverが入っていない
今回はxen/stable-2.6.32.xのlinux kernelを使用することにします。利用したものは2010/12/26時点での最新版(commit 75cc13f5aa29b4f3227d269ca165dfa8937c94fe)です。2011/2/14時点でも2.6.32系はこれが最新のようです。
$ git clone git://git.kernel.org/pub/scm/linux/kernel/git/jeremy/xen.git linux-2.6.32.x-xen
$ cd linux-2.6.32.x-xen
$ git reset --hard
$ git checkout -b xen/stable-2.6.32.x origin/xen/stable-2.6.32.x
$ make menuconfig
$ make bzImage modules
$ su
# make install modules_install
# update-initramfs -k 2.6.32.27 -c
使用したconfig:
config-2.6.32.21
grub2の設定
/etc/grub.d/06_xen
#!/bin/sh -e
XEN_VERSION="4.0.2-rc1-pre"
LINUX_VERSION="2.6.32.27"
if [ ! -e /boot/initrd.img-${LINUX_VERSION} ] ; then
update-initramfs -c -k ${LINUX_VERSION}
fi
cat <<EOF
menuentry "Xen ${XEN_VERSION}, Ubuntu, linux ${LINUX_VERSION}" {
recordfail
insmod part_gpt
insmod ext2
set root='(hd0,gpt3)'
search --no-floppy --fs-uuid --set 3afc46a5-1469-4da0-bc86-6fad90e3fd75
multiboot /boot/xen-${XEN_VERSION}.gz reboot=pci
module /boot/vmlinuz-${LINUX_VERSION} root=UUID=3afc46a5-1469-4da0-bc86-6fad90e3fd75 ro quiet nosplash console=tty0
module /boot/initrd.img-${LINUX_VERSION}
}
EOF
/boog/grub/grub.cfgを更新します。
# update-grub2
あとは再起動してうまく立ち上がるの待ちます。
reboot問題が解消され正しくbootできるようになりました。