OpenIndiana on Xen(Debian)

はい、前回の記事がなんで2週間経っても途中なのかと言うと…
Dom0がDebianXenに、OpenIndiana(OI)をインストールするのに四苦八苦してたからでした。
概ね他のブログ等に上がってるやり方でOKです。苦戦した所を列挙するとこんな感じです。

  1. インストーラの起動で、virbr0(default)が無いよと怒られる
  2. DomU OIの起動で、bootpathが見つからない、rootがマウントできないと怒られる

それぞれ解決方法は以下の通り。

一つ目

ただ単にDom0でvirbr0が動いてないだけなので、以下のコマンドで治ります。設定ファイルは/etc/libvirt/qemu/networksにあります(要バックアップ。
#virsh net-start default
#ifconfig -a

二つ目

そもそもOIをDebian Dom0上にどうやってインストールするのかから。
参考:

手順は以下の通り。

ddコマンドでディスクイメージ用領域を確保
#dd if=/dev/zero count=1 bs=$((1024*1024)) seek=10230 of=/root/oi148/root.img
カーネルイメージとブートアーカイブを取り出す

日本語の参考サイトの手順で、oi148サーバー版のイメージから取り出します。(省略

インストーラ用のコンフィグ作成
#cat oi148_install.cfg
name = "oi-148"
memory = '1024'
disk = [ 'file:/root/oi-dev-148-text-x86.iso,1:cdrom,r', 'file:/root/oi148/root.img,xvda,w']
vif = ['bridge=virbr0']

kernel = '/root/oi148/unix.iso'
ramdisk = '/root/oi148/boot_archive.iso'
extra = '/platform/i86xpv/kernel/amd64/unix - nowin -B livemode=text'

vcpus = 1
on_poweroff = 'destroy'
on_reboot = 'restart'
on_crash = 'restart'
インストーラの起動
#xm create -c oi148_install.cfg
インストール

最後の画面でリブートするかQuitするかを聞かれるのでQuitします。そうすると最初の画面にもどるので、Shellを起動します。

bootpathの設定をメモ

日本語の参考サイトの手順で。(省略

boot_archiveとカーネルイメージの再取り出し
#zfs set mountpoint=/a rpool/ROOT/solaris
#zfs mount rpool/ROOT/solaris
#ifconfig -a

ここで、正しいIPアドレスNICに設定されて居なければ以下の手順でstaticに設定する。

#svcs network/physical
#svcadm disable network/physical:nwam
#echo 192.168.0.2 > /etc/hostname.xnf0 (NIC名アドレスは環境で異なる
#echo "192.168.0.0 255.255.255.0" >> /etc/netmasks
#echo 192.168.0.1 > /etc/defaultrouter
#svcadm enable network/physical:default
#ifconfig -a
Dom0に転送
#scp /a/platform/i86xpv# cd kernel/amd64/unix user@192.168.0.1:~
#scp /a/platform/i86pc/amd64/boot_archive user@192.168.0.1:~
インストーラをシャットダウン
#shutdown -y -g0 -i0
DomU OIのコンフィグを設定

(さっきメモしたbootpathを利用

#cat oi148.cfg
name = "oi-148"
memory = '1024'
disk = ['file:/root/oi148/root.img,xvda,w']
vif = ['bridge=virbr0']

kernel = '/root/oi148/unix'
ramdisk = '/root/oi148/boot_archive'
extra = '/platform/i86xpv/kernel/amd64/unix - nowin -B console=xen,zfs-bootfs=rpool/ROOT/solaris,bootpath="/xpvd/xdf@51712:a"'

vcpus = 1
on_poweroff = 'destroy'
on_reboot = 'restart'
on_crash = 'restart'
起動
#xm create -c oi148.cfg

以上で終わりです。
起動しなかったコンフィグは、extraのbootpathが、bootpath="xdf@51712:a"と相対パス指定になっていた事が原因でした。あまりに簡単な間違いに数日かかりましたとさ。