このページはリンク切れを生じないために残してありますが、内容は古くなっていますのでご注意下さい。

Para-virtualizedのゲストドメインの構築

domain 0が無事動くようになったので、まずは素直に、NetBSD 5.0でpara-virtualizedのゲストドメインを作ってみました。
以前はdomain Uというような用語が使われていたように記憶しているんですが、今回の作業中に正式な表記(大文字小文字とか、'-'が入るのか、とか)を調べようと思って、Xen Users' Manual Xen v3.0を見たところ、domain Uあるいはそれに類似した用語は使われておらず、guest domainという用語に統一されているようでした。
ゲストドメインの仮想ディスクには、domain 0のパーティションを使うこともできるようですが、今回はdomain 0のファイルシステム上のレギュラーファイルを使うことにしました。
ゲストドメイン関係のファイルは、domain 0の/u/guestというディレクトリの下にまとめることにしました。設定ファイルは/u/guest/conf、仮想ディスクのファイルシステムイメージは/u/guest/image、guestドメインのカーネルは/u/guest/kernelに置くことにしました。kernel/の下に、さらにnetbsd-5-0というサブディレクトリを作りました。
まずは

# dd if=/dev/null of=/u/guest/image/guest1.img bs=1m count=16384

として16GBの仮想ディスクのファイルシステムイメージを作りました。
それから、amd64cd-5.0.isoからdomain Uカーネルを取り出し、/u/guest/kernelにコピーしした。まず必要なのはインストーラのnetbsd-INSTALL_XEN3_DOMU.gzですが、インストールができた後の定常運用に使うnetbsd-XEN3_DOMU.gzもついでにコピーしました。

# mount -r -t cd9660 /dev/cd0a /cdrom
# cd /cdrom/amd64/binary/kernel
# cp netbsd-INSTALL_XEN3_DOMU.gz netbsd-XEN3_DOMU.gz /u/guest/kernel/netbsd-5-0
# cd /u/guest/kernel/netbsd-5-0
# gunzip netbsd-INSTALL_XEN3_DOMU.gz
# gunzip netbsd-XEN3_DOMU.gz

このguestドメインの設定ファイル/u/guest/conf/guest1という名前で、を以下の内容で作りました。

#
#       $Id: pv-guest.html 140 2019-08-16 02:45:02Z kohi $
#
kernel = "/u/guest/kernel/netbsd-5-0/netbsd-INSTALL_XEN3_DOMU"
memory = 256
name = "guest1"
vif = ["mac=00:16:3e:00:00:01,bridge=bridge0"]
disk = ["file:/u/guest/image/guest1.img,0,w"]

まずはインストーラを起動する必要があるので、kernel=の行では、netbsd-INSTALL_XEN3_DOMUを指定しています。ここはインストールが済んだらnetbsd_XEN3_DOMUに変更します。
ここまで準備ができたところで

# xm create -c /u/guest/conf/guest1

というコマンドを実行したら、NetBSDのインストーラが起動しました。インストールが済んだら、conf/guest1のkernel=の行を上で述べたように書き換え、ゲストドメインをrebootすると、NetBSDが起動しました。
amd64 portでのdomain 0の構築へ|↑indexへ|hvmのゲストドメインの構築へ→
last update: $Date: 2019-08-16 11:45:02 +0900 (Fri, 16 Aug 2019) $
Copyright (c) 2009, Koh-ichi Ito, All rights reserved
ページ先頭のアイコン: Copyright(c) 2017 いらすとや, All rights reserved.