Help us understand the problem. What is going on with this article?

SEIL/x86 Ayame on FreeBSD bhyve

注意: この方法はサポート外になります。
動かないからと言ってサポートに問い合わせないでください。
問い合わせたところで公式の回答は得られません。

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 で購入 します。

購入すると、プロダクトキーがかかれた資料が届きます。

seilx86_ayame_prokey.jfif

このなかにプロダクトキーが書かれています。

SEIL/x86 Ayame 用 FreeBSD bhyve の設定

SEILシリーズはNetBSDベースで開発されています。
- SEILシリーズの歩み

SEIL/x86をVirtualBoxやVMwareで動かす記事を参考にして、NetBSDをbhyveで動かす方法をアレンジして動かしてみます。
- Vagrant と SEIL/x86

bhyve 環境の用意

FreeBSD 12.1をインストールしたPCを用意します。
インストール時にはファイルシステムとしてZFSを選択しておきます。
UFSでインストールした場合は、べっとZFSのpoolを用意してください。
以降はZFS poolとして zroot を想定します。

FreeBSDのインストールが終わったらbhyve用のツールをインストールします。
bhyveをそのまま使うのは面倒なので、vm-bhyveをインストールします。
vm-bhyveのインストールとセットアップは Quick-Start などを参考にしてください。
- 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 などが利用できます。

seilx86_ayame_login.png

VNCクライアントで接続して login: プロンプトが表示されていれば成功です。
あとは、SEIL/x86 Ayameの取り扱い方法とチュートリアルにしたがって、プロダクトキーを設定し、SEIL/x86 Ayame の設定を行っていってください。

おわりに

「SEILシリーズってNetBSDだったよな。FreeBSDのbhyveでNetBSD動くから、SEIL/x86 Ayameもうごくかな?」と思ってやってみたら、なんか動いたようです。

ほかに Xen DOM0 / FreeBSD 環境があるから、次は Xen 環境でやってみようかと思います。

なお、公式サポート環境ではなないため、動かなかったからといってサポートに問い合わせないようにしてください。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした