環境
- Hardware: MacMini(Early 2009)
- Memory: 4GB
- Xen: xen-4.1.3 (64bit)
- Dom0(kernel): Linux 3.4.48 (64bit)
- Dom0(distribution): Ubuntu 12.04
- DomU(kernel): NetBSD 6.1
- DomU(userland): NetBSD 6.1
NetBSDのミラーサイトから、amd64用の以下のものをダウンロードします。
- netbsd-XEN3_DOMU.gz
- base.tgz
- etc.tgz
- man.tgz
- text.tgz
- misc.tgz
- comp.tgz
- modules.tgz
dom0マシンにnetbsd-XEN3_DOMU.gzをコピーして /etc/xen/netbsd61.cfg を作成します。
kernel = '/mnt3/netbsd61/netbsd-XEN3_DOMU.gz'
memory = '768'
root = 'xbd0'
disk = [
'file:/mnt3/netbsd61/root.img,0x1,w',
]
name = 'netbsd61'
vif = [ 'mac=XX:XX:XX:XX:XX:XX,bridge=xenbr0' ]
on_poweroff = 'destroy'
on_reboot = 'restart'
on_crash = 'restart'
root.imgは以前使用していた仮想マシンのものをコピーしました。容量は10GBです。
既存の動作しているゲスト(NetBSD6.0)にこのディスクを追加します。
/dev/xbd3として認識されました。
このゲストにダウンロードしたNetBSDファイル一式をコピーして、新しいディスクに展開します。
netbsd60# newfs /dev/rxbd3a
netbsd60# mount /dev/rxbd3a /mnt
netbsd60# cd /mnt
netbsd60# tar zxpvf somewhere/base.tgz
netbsd60# tar zxpvf somewhere/etc.tgz
netbsd60# tar zxpvf somewhere/man.tgz
netbsd60# tar zxpvf somewhere/text.tgz
netbsd60# tar zxpvf somewhere/misc.tgz
netbsd60# tar zxpvf somewhere/comp.tgz
netbsd60# tar zxpvf somewhere/modules.tgz
netbsd60# cd /mnt/dev
netbsd60# ./MAKEDEV all
tarのpオプションを忘れるとsetuidビットが消えてsu等できなくなってしまうので注意します。
ディスクを取り外し上記のnetbsd61.cfgを使いNetBSD6.1を起動します。
xenhost# xm create -c /etc/xen/netbsd61.cfg
NetBSD6.1が起動するので各種設定をします。
netbsd61# mount /dev/xbd0a /
netbsd61# vi /etc/fstab
(group,passwdは以前のものを利用します)
netbsd61# cp somewhere/group /etc/group
netbsd61# vipw
以下のファイルを修正します。
/etc/rc.conf
/etc/resolv.conf
/etc/mk.conf
/etc/postfix/main.cf
(relay_domains, relay_host, alias_maps, alias_databasesを編集)
/etc/ntp.conf
(serversを編集)
/etc/daily.conf
(fetch_pkg_vulnerabilities=YES を追加)
/etc/aliases
(作成)
netbsd61# newaliases
netbsd61# rm /etc/localtime
netbsd61# ln -s /usr/share/zoneinfo/Japan /etc/localtime
以下のパッケージを追加します。(pkgsrcでcurrentの最新版をコンパイル)
perl
screen
nsd
unbound
zsh
munin-node
scmgit
emacs
anthy-elisp
wget
rsync
lintpkgsrc
giflib
pkg_alternatives
mozilla-rootcerts
gd
pcre
libXpm
mcrypt
pkg関連の各種設定をします。
netbsd61# munin-node-configure --shell | sh
netbsd61# echo '/var/log/munin/munin-node.log munin:munin 644 7 * 24 Z' >> /etc/newsyslog.conf
netbsd61# cp -p /usr/pkg/share/examples/rc.d/munin-node /etc/rc.d/
netbsd61# vi /usr/pkg/etc/munin/munin-node.conf
(add allow)
netbsd61# mozilla-rootcerts install
netbsd61# ln -s /usr/pkg/lib/libpng16.so /usr/pkg/lib/libpng.so