hns - 日記自動生成システム - Version 2.19.9

先月 2010年02月 来月
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28
Namazu for hns による簡易全文検索
詳しくは 詳細指定/ヘルプを参照して下さい
検索式:

2010年02月12日(金) 旧暦 [n年日記] [更新:"2011/06/12 20:20:34"]

#1 [NetBSD] Xen 3.3.2 を動かして見た

 __  __            _____  _____  ____  
 \ \/ /___ _ __   |___ / |___ / |___ \ 
  \  // _ \ '_ \    |_ \   |_ \   __) |
  /  \  __/ | | |  ___) | ___) | / __/ 
 /_/\_\___|_| |_| |____(_)____(_)_____|
                                       
(XEN) Xen version 3.3.2 (@) (gcc version 4.1.3 20080704 prerelease 
(NetBSD nb2 20081120)) Fri Jan 29 22:40:57 UTC 2010
2009/12/04 の日記に NetBSD/5.0.1 に xenkernel 3.3 を入れたら、
(XEN)  Xen  kernel: 32-bit, PAE, lsb
(XEN) Mismatch between Xen and DOM0 kernel
のように言われて、NetBSD 5.0 では PAE kernel は用意されていない し、用意するのも大変、という話になっていた。

それで、きょうは 5.0 に Xen を入れようとして、上の話を思い出し、 やはり新しい方の xenkernel 3.3 の方を使いたいと思ったので、 Daily/netbsd-5 にある 5.1 候補を使って見ることにした。 具体的には、netbsd-5 枝の 201002080000Z という版である。
例によって netboot で入れる訳だが、i386 と amd64 の pxeboot は、名前は違うし、一応別ものだが、実はどちらでも 動くという話がある。しかしきょうはそれも確認しないまま i386 版を使った。

まずは普通に設置 (netboot で sysinst を起動):

i386/installation/misc の下にある、
pxeboot_ia32.bin
(ただし、これは都合で pxeboot_ia32-i386-5.1.bin に改名している) と、kernel の下にある
netbsd-INSTALL_FLOPPY.gz
を使う。netboot server の設定は次のようなもの。 上の二つの譜は(後で区別出来るように)名前を変えたり、 見つけてもらいやすいように netbsd という名前に hardlink したりしている。
# DL320/G3-3
dl320:\
        :ht=ethernet:\
        :tc=.allhost:\
        :ha=001321xxxx20:\
        :ip=192.168.1.24:\
        :bf=pxeboot_ia32-i386-5.1.bin:\
        :rp=/export/tftpboot/rp-i386-5.1:\
        :sa=192.168.1.100:
netboot server での配置は次のようになっている
ttyp0:makoto@catania 23:31:26/100212(/export/tftpboot)> \
? ls -l pxeboot_ia32-i386-5.1.bin rp-i386-5.1
-rw-r--r--  1 makoto  wheel  41212 Feb  9 04:59 pxeboot_ia32-i386-5.1.bin

rp-i386-5.1:
total 12352
-rw-r--r--  2 makoto  wheel  3129989 Feb  9 04:59 netbsd
-rw-r--r--  2 makoto  wheel  3129989 Feb  9 04:59 netbsd-INSTALL_FLOPPY.gz
これで起動し sysinst で普通に入れる。

pkg_add で xentools33 と xenkernel33 を追加:

setenv PKG_PATH ftp://ftp.jp.netbsd.org/pub/pkgsrc/packages/NetBSD/i386/5.0/All
のようにしておいてから pkg_add で次のものを入れた。今回の話ではこの中では xenkernel33 と xentools だけが重要
dl03@root 23:35:55/100212(..xen/kernel)% pkg_info -u
zsh-4.3.9           The Z shell
rsync-3.0.7         Network file distribution/synchronisation utility
screen-4.0.3nb3     Multi-screen window manager
sudo-1.7.2p2        Allow others to run commands as root
perl-5.10.1         Practical Extraction and Report Language
xentools33-3.3.2nb1 Userland Tools for Xen 3.3.x
xenkernel33-3.3.2   Xen 3.3.2 Kernel
wget-1.12           Retrieve files from the 'net via HTTP and FTP
sendmail-8.14.3nb4  The well known Mail Transport Agent
dl03@root 23:35:58/100212(..xen/kernel)% 

DOM0 を起動するように /boot.cfg を編集:

まずは boot.cfg を編集し、 XEN3PAE_DOM0 で起動するように変更する。
menu=Boot normally:boot netbsd
menu=Boot single user:boot netbsd -s
menu=Disable ACPI:boot netbsd -2
menu=Disable ACPI and SMP:boot netbsd -12
menu=Drop to boot prompt:prompt
menu=Boot Xen with 512MB for dom0 (serial):load /netbsd-XEN3PAE_DOM0.gz console=com0; ⇒
multiboot /xen.gz dom0_mem=512M console=com1 com1=115200,8n1
default=6
timeout=10
このうち ⇒ を付けたところは、都合で折返しているので、本当は一行。 (それと多分 console=com1 は本当に必要かどうかは未確認)
(2011/06/11 追記、上記にセミコロンが一つ抜けていた。multiboot の前)

上の設定に合せて、

netbsd-XEN3PAE_DOM0.gz
は上で示した ftp server の binary/kernel から持って来て / に置くのと、次のように写しておく。
cp /usr/pkg/xen3-kernel/xen.gz /xen.gz
ここで再起動して、上の設定が合っているかを慎重に確認する。 つまり
  • default は初めは =1 にしておいて、以前 と同じに起動
  • 次にもう一度再起動して手で 6 と入力し確認
  • = を 6にして再起動
などとするのが良い。

DOMU のための設定:

/etc/ifconfig.bridge0 に次のように書く (bge0 の部分は自機の if の名前に合せる)
 create
 !brconfig $int add bge0 up
/etc/rc.conf に 次の二行を追加
dl03@root 23:46:56/100212(..xen/kernel)% grep xen /etc/rc.conf
xend=YES
xenbackendd=YES
これに対応して次の二つを写しておく
cp -p /usr/pkg/share/examples/rc.d/xenbackendd /etc/rc.d
cp -p /usr/pkg/share/examples/rc.d/xend	       /etc/rc.d
(この xenbackendd を忘れていると、disk がないよ等となる)
/etc/rc.d/xend        start
/etc/rc.d/xenbackendd start
で起動しておく
/usr/pkg/etc/xen の下に DOMU の設定を用意する
kernel = "/export/xen/kernel/netbsd-INSTALL_XEN3PAE_DOMU.gz"
#ernel = "/export/xen/kernel/netbsd-XEN3PAE_DOMU.gz"
memory = 256
name   = "disk-h"
disk   = [ 'phy:/dev/wd0h,0x1,w' ]
vif    = [ 'bridge=bridge0']
root   = "xbd0"
これに合せて、kernel を配置し、disk も用意しておく。 (上の例では区画を一つ用意)
上の設定を有効にするには、この設定の譜の名前を指定して
xm create -c 名前
と入力する。これで (DOMU のための) sysinst が起動するので それは普通に設置。最後に shutdown または halt しておく。

通常の DOMU 起動:

DOMU の設定のうち、kernel の部分だけを交換しておいて
#ernel = "/export/xen/kernel/netbsd-INSTALL_XEN3PAE_DOMU.gz"
kernel = "/export/xen/kernel/netbsd-XEN3PAE_DOMU.gz"
memory = 256
name   = "disk-h"
disk   = [ 'phy:/dev/wd0h,0x1,w' ]
vif    = [ 'bridge=bridge0']
root   = "xbd0"
これで xm list で確認して、まだ動いているようだったら xm destroy 番号などで強制終了も可。
もう一度
xm create -c 名前
で起動すると、DOMU で通常の NetBSD が立上る。更に /etc/rc.conf に
xendomains=名前
と書いておくと、DOMU が自動で立上るようになる。



最近の日記
2024年05月08日
comparison on ./buildsh tools
2024年05月06日
py-setuptools (python 3.11.9)
make release took 1 hours and 10 min
qemu invocation for 10.99.10
2024年05月05日
Windows 10 version
serial connection
bc bench
2024年05月04日
Trial on 10.99.10
another version (later trial) to succeed
2024年04月29日
dkim
以上、1 日分です。
タイトル一覧
カテゴリ分類
Powered by hns-2.19.9, HyperNikkiSystem Project

Count.cgi (since 2000/02/05)