Solaris 10 9/10 (x86) を CentOS 5.5 (x86_64) の KVM で動作させるメモ。
普通な方法で仮想マシンを作ろうとすると、ブート時にSunOS Release 5.10 Version Generic_141445-09 64-bit
Copyright 1983-2009 Sun Microsystems, Inc. All rights reserved.
Use is subject to license terms.
W
と表示された後に再起動されてしまいます。QEMU のエミュレーションしている CPU との相性が悪いようです(GRUB で -v を付けてみた)。
解決策として、CPU を別のものに切り替えます。CentOS 5.5 の RPM に入っている KVM が対応している CPU の一覧を表示させると、# /usr/libexec/qemu-kvm -cpu "?"
x86 qemu64
x86 qemu32
x86 pentium3
ということなので、pentium3 を指定してみることにします。
しかし libvirt で仮想マシンを管理している場合、ドメイン定義ファイル (XML) に CPU を指定することができません(virt-install でも指定はできません)。仕方が無いので、一度仮想マシンを作成した後 emulator をすげ替えることにします。
virt-install で仮想マシンを作成したら一度 virsh destroy <domain_name> し、続いて virsh edit <domain_name> します。emulator 行を <emulator>/usr/libexec/qemu-kvm</emulator>
から <emulator>/root/bin/qemu-kvm/qemu-kvm-pentium3</emulator>
に変更して終了します。さらに、/root/bin/qemu-kvm/qemu-kvm-pentium3 というファイルを以下の内容で作成し、実行権限を与えます。#!/bin/sh
exec /usr/libexec/qemu-kvm -cpu pentium3 "$@"
これで virsh start <domain_name> すれば、クラッシュせずにインストールまで進むことができます。
*
なお、Panic してしまう場合はメモリ不足が原因かも知れません。512 MB でも動作するはずですが 1 GB 程度あったほうが良いでしょう。
また CentOS では上記手順で OK ですが、RHEL ではどうなのか分かりません(この方法を使用するとサポートは受けられないと思います)。