Kenichi Maehashi's Blog

脳内コアダンプ

RSS
Category: Linux
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 ではどうなのか分かりません(この方法を使用するとサポートは受けられないと思います)。

Comments

Leave Yours...
Name:
E-mail / URL (optional):
Comment:
Are You Robot?: