本章では、ネットワークモジュール用いて各種ネットワークインターフェースを設定するための方法を紹介します。
node-eye においてネットワークの設定ファイルは2つあり、それぞれ用途と設定ファイルが使われるタイミングが異なります。タイミングについては
「ネットワークインターフェース設定シーケンス」 を参照してください。
表5.1 ネットワーク設定ファイル
設定ファイル | 用途 |
---|
line.conf | SACM に接続するためのネットワーク設定を管理します。この設定ファイルは Armadillo 上に設定・保存します。 |
ネットワークモジュールコンフィグ | SACM と接続した後のネットワーク設定を管理します。この設定ファイルは SACM 上に設定・保存します。 |
リモートコンフィグや死活監視などを行うためには、Armadillo と SACM が互いに通信できる環境を用意する必要があります。
line.conf は Armadillo と SACM が互いに通信できる環境を作るための設定ファイルです。
line.conf にはデフォルト設定が存在します。デフォルト設定ではネットワークインターフェースに eth0 を使い、DHCP によるIPアドレス取得を行って SACM と通信します。
そのため、下記の3つの条件が揃っている場合、line.conf を変更する必要ありません。
line.conf の設定にはテキストエディタを使用します。node-eye パッケージをインストールすると、line.conf は /etc/armsd/ に配置されます。
vi で line.conf を編集するには、下記のコマンドを実行してください。
| |
---|
line.conf の編集は 「line.conf コンフィグ一覧」 と 「設定例」 を参考に行ってください。
line.conf のデフォルト設定を使用するには line.conf を空にするか、書き込んでいるコンフィグをすべてコメントアウトしてください。
|
line.conf を編集した後は、recovery パーティションに line.conf コピーしてください。
| |
---|
recovery パーテションにコピーした line.conf はリカバリーイメージが使用します。
ファームウェアアップデートの失敗などによりリカバリーイメージが起動した場合、SACM と通信を行うために line.conf が必要となります。
|
5.1.1.2. line.conf コンフィグ一覧
表5.2 eth0 で 使用可能な key 一覧
key | 説明 |
---|
ETHERNET_ENABLE | 無線LANの有効/無効 (true/false) |
STATIC_ADDRESS | IPアドレス |
STATIC_NETMASK | ネットマスク |
STATIC_GATEWAY | ゲートウェイ |
| |
---|
ETHERNET_ENABLE はnode-eyeパッケージ v0.2.0-1 以降で使用することができます。
|
表5.3 wwan で使用可能な key 一覧
key | 説明 |
---|
MOBILE_ID | 認証 ID(ユーザー名) |
MOBILE_PASS | パスワード |
MOBILE_APN | アクセスポイント名(APN) |
MOBILE_AUTH_TYPE | 認証方式 |
MOBILE_PDP_TYPE | PDPタイプ |
表5.4 wlan0 で使用可能な key 一覧
key | 説明 |
---|
WIRELESS_LAN_ENABLE | 無線LANの有効/無効 (true/false) |
WIRELESS_LAN_ESSID | ESSID |
WIRELESS_LAN_PASSPHRASE | パスフレーズ |
| |
---|
LS Pull における eth0 と wlan0 は排他になっているため、WIRELESS_LAN_ENABLE=true に設定した場合は eth0 による LS Pull はできません。
|
| |
---|
WIRELESS_LAN_ENABLE=false に設定した場合はETHERNET_ENABLE=true の設定を行わなくても eth0 が有効になります。
|
表5.5 resolv で使用可能な key 一覧
key | 説明 |
---|
RESOLV_SEARCH | resolv.conf の search |
RESOLV_NAMESERVER | resolv.conf の nameserver |
5.1.1.3.3. 無線LAN(wlan)を使う
ネットワークモジュールコンフィグを設定することで、リモートから Armadillo のネットワーク設定を管理できます。
ネットワークモジュールコンフィグにはデフォルト設定が無いため、必ず設定する必要があります。
以下はネットワークモジュールの設定例です。 必ず、VERSION=2
, interface_***=enable
が書かれていることに注目してください。
eth0 を使用する場合
wlan0 を使用する場合
5.1.2.2.4. 複数のインターフェースを同時に使う
本章では、Armadilloに書き込んだリカバリーイメージが正常に起動するか確認する方法を説明します。
手順の中で、既にArmadillo
に書き込まれているプライマリイメージを上書きします。リカバリーイメージの起動を確認した後に、元に戻すための正常なプライマリイメージファイルを用意しておいてください。
手順5.2 リカバリーイメージの起動テスト
起動しないプライマリイメージファイルを作る
正常に起動することができないイメージを書き込んだ状況を再現するため、サイズが1バイトのファイルをgzip圧縮して不正なプライマリイメージファイルとして用意します。次の手順をATDE等のLinuxマシンで行ってください。
起動しないプライマリイメージを Armadillo から接続可能なWebサーバーに配置する
作成した2つのファイルをArmadilloがアクセスすることのできるWebサーバーに配置してください。
node-eyeコントロールパネルから起動しないプライマリイメージを使ってファームウェアアップデートを実行する
node-eye コントロールパネル で対象となる Armadillo を選択して、
不正なプライマリイメージファイル "dummy.tar.gz" へのURLを [ユーザーランド] に入力し、
[アップデート完了後に再起動する] にチェックを入れた上で、ファームウェアアップデートを実行してください。
[カーネル] のテキストボックスには何も入力する必要はありません。
リカバリーイメージによってArmadilloが起動した事を確認する
起動しないプライマリイメージファイルによるファームウェアアップデートに成功してArmadilloは再起動を実行します。
しかし、起動しないプライマリイメージによって起動が失敗するため、自動的にリカバリーイメージで再起動します。
リカバリーイメージで再起動した Armadillo は
node-eyeコントロールパネル または SACMコントロールパネルからは
[切断中]
として認識されますが、Ping、Traceroute、再起動、ファームウェアアップデートは実行することができます。
起動しないプライマリイメージのアップデートによる再起動を実行してから15分以上経過した後に、
対象の Armadillo が node-eyeコントロールパネルから [切断中]
として表示される事と、 Ping が実行できる事を確認してください。
確認が終ったら正常なプライマリイメージを使ってファームウェアアップデートを実行してください。
5.4. node-eyeインストール済のユーザーランド ビルド方法
アットマークテクノが提供しているユーザーランドアーカイブには、標準でnode-eyeがインストールされていません。そのため、そのままファームウェアアップデートしてしまうとSACMに接続できなくなってしまいます。
本章では、node-eye環境をインストールしたユーザーランドの作成方法について説明します。
手順5.3 node-eye環境をインストールしたユーザーランドの作成方法
x1-debian-builderの準備
カスタマイズしたユーザーランドの作成には、専用のツールが必要です。アットマークテクノのダウンロードサイトからお使いの環境に合わせた機種,バージョンを選択し、「Debian GNU/Linux ルートファイルシステム 構築ツール」であるx1-debian-builderをATDE上にダウンロードしてください。
ダウンロード後は以下のように解凍し、該当するディレクトリ内に入ります。
パッケージインストールリストにnode-eye追加
x1-debian-builderのビルド時にインストールされる、パッケージのリストへnode-eyeを追加します。以下のようにpackagesファイルを開き、最下部に[node-eye]を追記してください。
line.confの作成
line.confをx1-debian-builder下に作成します。
line.confの説明,設定例は「line.conf」に記載しています。そちらを参考に、お客様のネットワーク環境に合わせたline.confを作成してください。
line.confの配置
作成したline.confをユーザーランドに配置します。
その後aiotg3_resources/resources/fixupにcpコマンドを追記します。これを行うことで、node-eyeインストール時に任意のline.confへ上書きできます。
x1-debian-builderのビルド
設定が完了したら、x1-debian-builderをビルドしてnode-eyeインストール済のユーザーランドを生成します。
ユーザーランドの生成確認
ビルド完了後、/x1-debian-builder-[version]下にユーザーランドが生成されます。
本章では、Armadillo に独自のモジュールを組込む手順について説明します。
モジュールを作成して Armadillo のユーザーランドに組込むためには、node-eye パッケージをインストールしておく必要があります。
モジュールはユーザーランドの下記のパスに配置します。
モジュール名はモジュール番号(ユーザー向けは4から15) + "_"で始まるファイル名で作成してください。
例えば、5_mymodule.sh というファイル名でモジュールを作成した場合、モジュール5 として実行されます。
ファイル名のモジュール番号は重複しないようにしてください。同じ番号が複数ある場合、ファイル名をasciiで
ソートして若い方の1つだけがモジュールの実装として機能します。
モジュールのサンプルは下記のパスに配置されています。
下記にその内容を記載します。
このモジュールは SACMコントロールパネル から モジュール4 として操作することができ、
任意コマンド実行 で与えるパラメーターを sh の引数として、Armadillo上で実行することができます。
文中のcase文で分岐する条件の OPS にはモジュールの
オペレーション
が文字列として代入されます。 実装することのできる
オペレーション
は下記のサンプルコード N_sample を参考にしてください。
各モジュールの case文に書く事のできるオペレーションの種類と、実行される条件は下記の通りです。
表5.6 各モジュールの case 文に書く事のできるオペレーションの種類と実行条件
オペレーション | 実行タイミング |
---|
start | armsdが SACM に接続を確立した直後 |
stop | SACM または node-eye コントロールパネルで 再起動 を実行 |
reconfig | SACMコントロールパネルで コンフィグ反映 を実行 |
status | SACMコントロールパネルで ステータス取得 を実行 |
command | SACMコントロールパネルで 任意コマンド を実行 |
モジュールを作る場合は、必ずしも全ての オペレーション に対応するcase文を書く必要はありません。
SACMコントロールパネルからの各オペレーションの実行方法についてはSACM マニュアル の
「オペレーション」タブ を参照してください。
個々のモジュールのタイムアウト時間は 180秒 です。
start/stop/command 等の
オペレーション
を呼び出してから、180秒以内に実行が終了しない
場合はモジュールの実行が中断されます。
モジュールの返り値はモジュールへのオペレーションの成功/失敗の判定に影響することはありません。
スクリプトのテスト等の用途で自由に設定することができます。