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年03月10日
停電 (瞬電)
2024年03月03日
the second try on bare-metal
useradd
2024年02月29日
opendkim and senmail
2024年01月24日
chat/iam 0.0.8
2024年01月21日
uselocale vs setlocale (textproc/R-readxl)
以上、1 日分です。
タイトル一覧
カテゴリ分類
Powered by hns-2.19.9, HyperNikkiSystem Project

Count.cgi (since 2000/02/05)