LoginSignup
12
11

More than 5 years have passed since last update.

SEIL/x86(ソフトウェアルータ)でシリアルコンソールを使いたい

Posted at

SEIL/x86はIIJが提供しているソフトウェアルータです。
標準ではシリアルポート経由で運用を行うことができないので、設定を変更します。

構成

SEIL_x86.png

  • ディスプレイ/キーボードで行う設定を、シリアルポート経由で実施するようにする

メリット

  • ディスプレイが無い環境でも不便なく利用できる
  • 仮想環境で使用するときでも都合が良い(VNC等のグラフィック環境を経由せずに直に設定できる。CUI環境のKVMホスト上で使うときにも便利)
  • シリアル経由で設定できるとネットワーク機器ぽくて嬉しい

設定方法の概要

ルータ上で直接に設定変更できれば良いのですが、できません。
ですのでSEIL/x86のディスクイメージをマウントし、直接設定を追加します。

  1. 設定変更のための環境を用意する
  2. サイトからディスクイメージをダウンロード
  3. ダウンロードしたイメージをマウントし設定追加
  4. カスタマイズしたディスクイメージを元にインストール

設定手順

1.設定変更のための環境を用意する

SEIL/x86のディスクイメージはUFSでフォーマットされています。
編集し設定する為にNetBSDの環境を用意します。(ちなみにSEIL/x86もNetBSDベースです)
インストール先は物理環境でも構いませんが、仮想環境(VMwareとかVirtualBoxとか)の方が手軽でしょう。

(備考)

  • Linux環境からだとUFSの読書きが厳しい
  • FreeBSDだと上手くマウントできなかった(多分、私の知識不足)

インストール時の要点としては

  • 基本的はインストールウィザードに通りでOK
  • SSHを有効にする

ぐらいでしょうか

インストールが完了したらrootでログインしてネットワークの設定を行います

DHCPでIPアドレス設定する場合
netbsd# echo "dhclient=YES" >> /etc/rc.conf
netbsd# sh /etc/rc.d/dhclient start
netbsd# ifconfig
wm0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> mtu 1500
    capabilities=2bf80<TSO4,IP4CSUM_Rx,IP4CSUM_Tx,TCP4CSUM_Rx,TCP4CSUM_Tx,UDP4CSUM_Rx,UDP4CSUM_Tx,TCP6CSUM_Tx,UDP6CSUM_Tx>
    enabled=0
    address: 00:1c:42:99:ec:02
    media: Ethernet autoselect (none)
    status: active
    inet 192.168.0.100 netmask 0xffffff00 broadcast 192.168.0.255
    inet6 fe80::21c:42ff:fe99:ec02%wm0 prefixlen 64 scopeid 0x1

必要に応じてSSHログイン用のユーザを作成します

ユーザを追加
netbsd# useradd -m -g wheel sshuser

2.サイトからディスクイメージをダウンロード

ダウンロードページからSEIL/x86本体をダウンロードします
いくつかの形式で提供されていますが、ここではdiskimage形式を使用します
ダウンロードが完了したらファイルを展開し、中身(bootdisk.img)を先ほどのNetBSD環境に転送します。

転送方法は何でも良いですが、SCP(scpコマンドやWinSCP等)を使用するのが簡単です。

3.ダウンロードしたイメージをマウントし設定追加

NetBSD環境にディスクイメージを転送したら設定を行います

まずイメージをマウントし編集できるようにします

マウント
netbsd# mkdir /mnt/diskimg
netbsd# vnconfig vnd0 bootdisk.img
netbsd# mount /dev/vnd0a /mnt/diskimg/

マウントしたイメージに設定(設定ファイル)を追加します

シリアルコンソールの設定を追加
netbsd# echo "console=com0" >> /mnt/diskimg/boot.cfg
netbsd# echo "speed=38400" >> /mnt/diskimg/boot.cfg

(注意) SEIL/x86を導入する機器に複数のシリアルポートがある場合、ポート名が"com0"で無いかもしれません

追加したらイメージのマウントを解除します

マウント解除
netbsd# umount /dev/vnd0a
netbsd# vnconfig -u vnd0

これでbootdisk.imgへの設定追加は完了です。
完成したbootdisk.imgを分かりやすい名前で保存しておきましょう。

4.カスタマイズしたディスクイメージを元にインストール

完成したディスクイメージを通常の方法でディスクに書き込みます。

一例
# dd if=./bootdisk-serial.img of=/dev/USBメモリやCF等
一例
# dd if=./bootdisk-serial.img of=KVMの仮想ディスク等

書き込んだディスクから起動し、シリアルポート経由でアクセスできれば成功!

12
11
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
12
11