環境
- Hardware: MacMini(Early 2009)
- Memory: 4GB
- Xen: xen-4.1.1-rc1-pre changeset 23037:cd51edb56b17 (64bit)
- Dom0(kernel): Linux 2.6.39-rc6+(pvops) commit 1d999e3ea90828a3a6a817bb073a3d13e9900007 (64bit)
- Dom0(distribution): Ubuntu 11.04
動作確認できたDomU達
- DomU(PVM): NetBSD 5.99.47 (64bit)
- DomU(PVM): NetBSD 5.99.51 (64bit)
- DomU(PVM): Linux 2.6.39-rc6+(pvops)/Ubuntu 11.04(64bit)
パーティション作成、refit導入、ubuntuインストールを行い、64bit環境(x86_64)のUbuntuは
多くのサイトでインストール方法がのっているので詳細は省略します。
以下の作業はUbuntu上での作業です。
Xen4.1のビルド
まずは4.1最新版のソースを取得します。前回はunstableを使用していましたが今回は4.1ブランチを利用します。
$ hg clone http://xenbits.xen.org/hg/xen-4.1-testing.hg
今回使用したソースはchangeset 23037:cd51edb56b17 です。
以前cloningしている場合は以下の方法でアップデートします。以前buildした古いioemu-remoteがあるとコンパイルエラーになるのでmake distcleanでそれを削除しておきます。
$ hg pull
$ hg update
$ make distclean
nVidiaベースのMacだとLinux同様Xenでもrebootが正常に動作しない問題があるので、以下のパッチをxen-4.1にも適用します。
xen-4.1-macmini-reboot.diff
またUbuntuでのコンパイルが通るように以下の差分もあてます。
diff-2
diff -r b8d2a4134a68 Config.mk
--- a/Config.mk Wed Mar 03 17:41:58 2010 +0000
+++ b/Config.mk Fri Mar 05 16:16:53 2010 +0900
@@ -38,8 +38,8 @@
BISON ?= bison
FLEX ?= flex
-PYTHON ?= python
-PYTHON_PREFIX_ARG ?= --prefix="$(PREFIX)"
+PYTHON = python
+PYTHON_PREFIX_ARG =
# The above requires that PREFIX contains *no spaces*. This variable is here
# to permit the user to set PYTHON_PREFIX_ARG to '' to workaround this bug:
# https://bugs.launchpad.net/ubuntu/+bug/362570
このパッチを適用して、xen kernelとツールをbuildします。
$ cd xen-unstable.hg
$ patch -s -p1 < xen-4.1-macmini-reboot.diff
$ patch -s -p1 < diff-2
$ make xen tools
作成したxen kernelとtoolsをinstallします。
$ su
# make install-xen install-tools
Xen向け設定
domUの起動がうまくいかないことがあるので、複数domU起動時の間隔を調整します。デフォルト5秒ですが10秒にします。
/etc/sysconfig/xendomains
XENDOMAINS_CREATE_USLEEP=10000000
/boog/grub/grub.cfgを更新します。
# update-grub2
rebootして無事起動すれば完了です。
# reboot