注意: この方法はサポート外になります。
動かないからと言ってサポートに問い合わせないでください。
問い合わせたところで公式の回答は得られません。
SEIL/x86 Ayame とは
SEIL/x86 Ayame は、IIJ が開発しているソフトウェアルータです。
2019/12 に発表された SEIL/x86 の後継ソフトウェアルータです。
動作環境
- VMware ESXi
- qemu + KVM
- ベアメタル環境
での動作がサポートされています。
FreeBSD bhyve は動作環境にリストアップされていませんのでサポート外となります。
SEIL/x86 Ayame の入手方法
SEIL/x86 Ayame を利用するためには、ソフトウェアルータ本体意外にプロダクトキーを取得する必要があります。
プロダクトキーには、
- トライアル
- スタンダード
- エンタープライズ
の三種類がありますが、トライアルは評価目的のものなので、個人で使う場合はスタンダードが入手しやすいでしょう。
SEIL/x86 Ayame のダウンロード
SEIL/x86 Ayame 仮想マシン をダウンロードします。
VMDK形式からRAW形式に変換して利用するため、"VMware形式(OVF版を同梱)" をダウンロードします。
ダウンロードした ZIP ファイルの中には、VMware
スタンダードのプロダクトキーを購入
スタンダードのプロダクトキーは、Amazone で購入 します。
購入すると、プロダクトキーがかかれた資料が届きます。
このなかにプロダクトキーが書かれています。
SEIL/x86 Ayame 用 FreeBSD bhyve の設定
SEILシリーズはNetBSDベースで開発されています。
SEIL/x86をVirtualBoxやVMwareで動かす記事を参考にして、NetBSDをbhyveで動かす方法をアレンジして動かしてみます。
bhyve 環境の用意
FreeBSD 12.1をインストールしたPCを用意します。
インストール時にはファイルシステムとしてZFSを選択しておきます。
UFSでインストールした場合は、べっとZFSのpoolを用意してください。
以降はZFS poolとして zroot を想定します。
FreeBSDのインストールが終わったらbhyve用のツールをインストールします。
bhyveをそのまま使うのは面倒なので、vm-bhyveをインストールします。
vm-bhyveのインストールとセットアップは Quick-Start などを参考にしてください。
vm-bhyveをインストールします。
pkg install vm-bhyve bhyve-firmware grub2-bhyve
vm-bhyveを初期化します。
ZFS pool として zroot を使うことにします。
zfs create zroot/vm
zfs set mountpoint=/vm zroot/vm
mkdir -p /usr/local/etc/rc.conf.d
echo 'vm_enable="YES"' > /usr/local/etc/rc.conf.d/vm
echo 'vm_dir="zfs:zroot/vm"' >> /usr/local/etc/rc.conf.d/vm
vm init
cp /usr/local/share/examples/vm-bhyve/* /vm/.templates/.
ルータとして使うためPCのそれぞれのインタフェースを接続するブリッジインタフェースを作成します。
PCのインタフェースはem0, em1があるものとします。
em0, em1 は環境に合わせて変更してください。
vm switch create vswitch-00
vm switch add vswitch-00 em0
vm switch create vswitch-01
vm switch add vswitch-00 em1
SEIL/x86 Ayame 仮想マシン 配布ファイルの展開
SEIL/x86 Ayame 仮想マシン が ZIP ファイルで提供されているため unzip をインストールします。
pkg install unzip
ダウンロードしたSEIL/x86 Ayame 仮想マシンのVMware用のファイルを展開します。
cp x86ayame-201-vmware.zip /tmp/.
cd /tmp
unzip -x x86ayame-201-vmware.zip
展開するとVMware用のOVFやVMDKがあることがわかります。
# ls seilx86-vmware/
seilx86-ovf.vmdk seilx86.vmdk
seilx86.ovf seilx86.vmx
#
VMDK を RAW DISK に変換
VMDK imageのままでは ZFS ZVOL に書き込んで利用できないため、RAW imageに変換しておきます。
変換にはqemu-imgを使うため、qemu-utilsをインストールします。
pkg install qemu-utils
qemu-imgを使ってRAW imageに変換します。
qemu-img convert -f vmdk -O raw ./seilx86-vmware/seilx86.vmdk ./seilx86-vmware/seilx86.raw
変換後のRAW imageのサイズを確認します。
# ls -l seilx86-vmware/
total 39803
-rw-r--r-- 1 shigeru wheel 13593600 12▒▒ 18 16:08 seilx86-ovf.vmdk
-rw-r--r-- 1 shigeru wheel 4874 12▒▒ 18 16:08 seilx86.ovf
-rw-r--r-- 1 shigeru wheel 134217728 2▒▒ 11 11:36 seilx86.raw
-rw-r--r-- 1 shigeru wheel 14942208 12▒▒ 18 16:08 seilx86.vmdk
-rw-r--r-- 1 shigeru wheel 901 12▒▒ 18 16:08 seilx86.vmx
RAW image のサイズが134M byteぐらいなので、VMのディスクサイズは256M byteで作成することにします。
VM 作成
Supported Guest Examples を参考にしながら、SEIL/x86 Ayame 用 template file を作成します。
設定の概要は次の通り。
- スタンダード版だとCPUの上限は1
- NetBSDのboot loaderはGRUPを使う
- ネットワークは二つ
- VNCを設定しておく
- アドレスとポートは環境依存なのでコメントアウトしておく
cat > /vm/.templates/seilx86-ayame.conf <<EOM
uefi="yes"
cpu=1
memory=1024M
utctime="no"
graphics="yes"
# graphics_listen="192.168.0.1"
# graphics_port=5901
# graphics_res="1024x768"
loader="grub"
grub_run0="knetbsd -h -r ld0a (hd0,msdos1)/netbsd"
grub_run1="boot"
disk0_type="virtio-blk"
disk0_name="disk0"
disk0_dev="sparse-zvol"
network0_type="virtio-net"
network0_switch="vswitch-00"
network1_type="virtio-net"
network1_switch="vswitch-01"
EOM
作成した template file を使って VM を作成します。
vm create -t seilx86-ayame -s 256m seilx86-ayame
VMを作成出来たら、VNCの設定を行います。
graphics_listen, graphics_port, graphics_res を自分の環境に合わせて設定します。
vm configure seilx86-ayame
graphics_listen="192.168.0.1"
graphics_port=5901
graphics_res="1024x768"
SEIL/x86 Ayame のイメージを書き込む
raw image を ZFS volume に書き込みます。
dd if=./seilx86-vmware/seilx86.raw of=/dev/zvol/zroot/vm/seilx86-ayame/disk0 bs=1m
SEIL/x86 Ayame 用 VM を起動
作成したVMを起動します。
vm start seilx86-ayame
起動したら、VNCクライアントを使って接続します。
pkg binary を使う場合は、tightvnc などが利用できます。

VNCクライアントで接続して login: プロンプトが表示されていれば成功です。
あとは、SEIL/x86 Ayameの取り扱い方法とチュートリアルにしたがって、プロダクトキーを設定し、SEIL/x86 Ayame の設定を行っていってください。
おわりに
「SEILシリーズってNetBSDだったよな。FreeBSDのbhyveでNetBSD動くから、SEIL/x86 Ayameもうごくかな?」と思ってやってみたら、なんか動いたようです。
ほかに Xen DOM0 / FreeBSD 環境があるから、次は Xen 環境でやってみようかと思います。
なお、公式サポート環境ではなないため、動かなかったからといってサポートに問い合わせないようにしてください。