UserPreferences

Gentoo/NetBSD


1. NetBSD in Gentoo Linux/Xen

Gentoo/Xen

http://www.netbsd.org/Ports/xen/howto.html

Gentoo上に構築したXen domain0上にNetBSDの環境を構築してみるテスト。

以下Gentoo上にて

# mkdir /a/xen
# cd /a/xen
# wget -r -nH ftp://ftp.ring.gr.jp/pub/NetBSD/arch/i386/snapshot/20050321-3.0_BETA/
# cd pub/NetBSD/arch/i386/snapshot/20050321-3.0_BETA/binary/kernel
# zcat netbsd-XENU.gz > /a/xen/netbsd-XENU
# zcat netbsd-INSTALL_XENU.gz > /a/xen/netbsd-INSTALL_XENU

MACアドレスの確認

# ifconfig -a | grep HWaddr
eth0      Link encap:Ethernet  HWaddr 00:??:??:18:0F:D0  
xen-br0   Link encap:Ethernet  HWaddr 00:??:??:18:0F:D0  

NetBSD-XENU用にパーティションを作成します。 おそらくId,Systemに意味はありません一応NetBSDにしておいた。

Gentoo再起動

# fdisk /dev/sda
   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1           9       72261   83  Linux
/dev/sda2              10         259     2008125   82  Linux swap / Solaris
/dev/sda3             260        1754    12008587+  83  Linux
/dev/sda4            1755       19452   142159185    5  Extended
/dev/sda5            1755        3700    15631213+  a9  NetBSD
# reboot

# /etc/init.d/xend start

/etc/xen/nbsdを用意

# cat /etc/xen/nbsd
kernel = "/a/xen/netbsd-INSTALL_XENU"
memory = 64
name = "nbsd"
cpu = -1   # leave to Xen to pick
nics=1
vif = [ 'mac=00:??:??:18:0f:d0, bridge=xen-br0' ]
disk = [ 'phy:sda5,hda1,w' ]
root = "/dev/wd0d"

# xm create -c /etc/xen/nbsd

これでターミナル内でNetBSD-3.0_BETAのsysinstが起動します。 普通にNetBSDをインスールします。

rebootするとまたsysinstが起動してしまいます。 ですので、インストールが終了したら

% halt -p
syncing disks... done
unmounting file systems... done
とします。しばらくしてspaceを押すと
************ REMOTE CONSOLE EXITED *****************
#
のようにdomain0側のターミナルに戻ります。

nbsdファイルのkernel部分を修正

# nano -w /etc/xen/nbsd
# cat /etc/xen/nbsd
kernel = "/a/xen/netbsd-XENU"
memory = 64
name = "nbsd"
cpu = -1   # leave to Xen to pick
nics=1
vif = [ 'mac=00:13:21:18:0f:d0, bridge=xen-br0' ]
disk = [ 'phy:sda5,hda1,w' ]
root = "/dev/wd0d"

# xm create -c /etc/xen/nbsd
ターミナル内でNetBSDが起動します。
kvm_openfiles: /netbsd: No such file or directory
のようなエラーが表示されますこのままだと不味いのでNetBSDにログインして /netbsd をdomain0からscpで持ってきます。
% scp hoge@192.168.???.???:/a/xen/netbsd-XENU .
% cp netbsd-XENU /netbsd

NetBSD-XENUをshutdownしたいとき -p オプションをつけてください。

% shutdown -p now