3. プロビジョニング#
Terminal System OS 2 イメージをエッジコンピューターに書き込み、利用できる状態にする(プロビジョニング)方法について説明します。
主な用語
- プロビジョニング
エッジコンピューターのrootfsパーティションおよびdataパーティションにイメージを書き込みます。 また、エッジコンピューターの初回起動時にMenderサーバーとの 1. Menderサーバーへの接続を許可する で利用されるキーペアを自動生成します。
- rootfsパーティション
Linuxカーネルを含むシステムパーティションです。 rootfsパーティションはA/Bの2つの領域で構成され、OSアップデートアーティファクトにより更新されます。
- dataパーティション
Menderの更新間で保持するデータを格納するパーティションです。 通常はアップデートで更新されません。
- 作業PC
エッジコンピューターにTerminal System OS 2のイメージを書き込むために使用するPCです。エッジコンピューターとの間はUSBで接続します。
推奨作業環境#
プロビジョニング作業に必要な作業PC環境はエッジコンピューターに応じて異なります。以下の推奨環境で実施してください。
書き込み先エッジコンピュータ |
作業PCの推奨環境 |
備考 |
---|---|---|
EDGEPLANT T1 |
Ubuntu 16.04 or 18.04 |
作業PCには以下のパッケージのインストールが必要です。
インストール方法の例: $ sudo apt update
$ sudo apt install qemu-user-static python jq
|
イメージの入手#
ソフトウェアの提供元からTerminal System OS 2 イメージを入手し、作業PCに保存します。
プロビジョニングする#
重要
再セットアップの場合
Terminal System OS 2がインストールされているエッジコンピューターに対して再度Terminal System OS 2をセットアップする場合、以下のいずれかを参照して、先に拡張ストレージの初期化を行ってください。
拡張ストレージの初期化を行った後、以降のプロビジョニングの手順に進んでください。
プロビジョニング手順はエッジコンピューターごとに異なります。
EDGEPLANT T1#
作業PCからEDGEPLANT T1にTerminal System OS 2イメージを書き込むには、以下のようにします。
EDGEPLANT T1をリカバリーモードで起動し、作業PCと接続します。
Nano SIMスロットのカバーを取り外します。
リカバリーボタンを押しながら、電源を投入します。
作業PCとEDGEPLANT T1のリカバリーUSB端子をUSBケーブルで接続します。
作業PC側でEDGEPLANT T1をUSBデバイスとして認識していることを確認します。
$ lsusb -d 0955: Bus 001 Device 004: ID 0955:7418 NVIDIA Corp. APX
注釈
リカバリーボタンなど各部の位置については、 取扱説明書 を参照してください。
(以下の手順はすべて、作業PCでの操作です)Terminal System OS 2 イメージ(<terminal_system_2_image>.tegraflash.zip)を、ディレクトリを指定して展開します。
$ mkdir -p ~/Downloads/image $ unzip <terminal_system_2_image>.tegraflash.zip -d ~/Downloads/image
展開先のディレクトリに移動します。
$ cd ~/Downloads/image
以下のようにコマンドを実行して、Terminal System OS 2のイメージを書き込みます。 このとき、環境変数を使ってプロビジョニング設定を与えます。
例: 各種パスワードおよびシリアル番号を設定して書き込む
$ sudo \ API_USER_PASS_ADMIN='$apr1$aNOi.ZS1$3MNDjruW3MMlHK.EXAMPLE' \ API_USER_PASS_USER='$apr1$iF4xMF6v$Yp9FJV3BspvL/8.EXAMPLE' \ USER_PASS_ROOT='$6$3RgJeiy2nEpwmNX4$RjjGNuDJDFpDGkpkBCUvkPqqAhvrChBNlWouLaJbDqQEdzGvdxPz.vdfoLe3ckmyPcHNx5E3liqhgA.EXAMPLE' \ USER_PASS_ADMIN='$6$2tVW/W64.el6cwCo$VIPVt5ELUe8HZLpgRwUr8FBEoqcSaDwTRtg1o6F3gWXBfonGZE3/FvLcdq6TUcd8PKDyS3tUBvZzsq.EXAMPLE' \ USER_PASS_MAINT='$6$w98XqSkF.6YajkT7$pkVGXTFXh0l6jgQdMgzGr4ZWNc8lpsN2P8egxvzCAwpKjJ57RtKECy11zUZoJlskWFGZC9ZrpBTCl5.EXAMPLE' \ SERIAL_NUMBER='0110000112345' \ ./doflash.sh
例: 各種パスワード、シリアル番号およびMenderサーバーの接続設定を設定して書き込む
$ sudo \ API_USER_PASS_ADMIN='$apr1$aNOi.ZS1$3MNDjruW3MMlHK.EXAMPLE' \ API_USER_PASS_USER='$apr1$iF4xMF6v$Yp9FJV3BspvL/8.EXAMPLE' \ USER_PASS_ROOT='$6$3RgJeiy2nEpwmNX4$RjjGNuDJDFpDGkpkBCUvkPqqAhvrChBNlWouLaJbDqQEdzGvdxPz.vdfoLe3ckmyPcHNx5E3liqhgA.EXAMPLE' \ USER_PASS_ADMIN='$6$2tVW/W64.el6cwCo$VIPVt5ELUe8HZLpgRwUr8FBEoqcSaDwTRtg1o6F3gWXBfonGZE3/FvLcdq6TUcd8PKDyS3tUBvZzsq.EXAMPLE' \ USER_PASS_MAINT='$6$w98XqSkF.6YajkT7$pkVGXTFXh0l6jgQdMgzGr4ZWNc8lpsN2P8egxvzCAwpKjJ57RtKECy11zUZoJlskWFGZC9ZrpBTCl5.EXAMPLE' \ SERIAL_NUMBER='0110000112345' \ OPT_MENDER_SERVER_URL='https://hosted.mender.io' \ OPT_MENDER_TENANT_TOKEN='eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCJ9...omitted...EXAMPLE' \ ./doflash.sh
例: Menderサーバーを利用せず、各種パスワードのみを設定して書き込む
$ sudo \ API_USER_PASS_ADMIN='$apr1$aNOi.ZS1$3MNDjruW3MMlHK.EXAMPLE' \ API_USER_PASS_USER='$apr1$iF4xMF6v$Yp9FJV3BspvL/8.EXAMPLE' \ USER_PASS_ROOT='$6$3RgJeiy2nEpwmNX4$RjjGNuDJDFpDGkpkBCUvkPqqAhvrChBNlWouLaJbDqQEdzGvdxPz.vdfoLe3ckmyPcHNx5E3liqhgA.EXAMPLE' \ USER_PASS_ADMIN='$6$2tVW/W64.el6cwCo$VIPVt5ELUe8HZLpgRwUr8FBEoqcSaDwTRtg1o6F3gWXBfonGZE3/FvLcdq6TUcd8PKDyS3tUBvZzsq.EXAMPLE' \ USER_PASS_MAINT='$6$w98XqSkF.6YajkT7$pkVGXTFXh0l6jgQdMgzGr4ZWNc8lpsN2P8egxvzCAwpKjJ57RtKECy11zUZoJlskWFGZC9ZrpBTCl5.EXAMPLE' \ OPT_USE_MENDER='false' \ ./doflash.sh
設定可能な項目については、下の表を参照してください。
環境変数 (
*
は必須項目)説明
入力規則(正規表現)
API_USER_PASS_ADMIN
*
Terminal System API Basic認証パスワード(adminユーザー)
セットアップ担当者・管理者が 事前設定 や各種操作で使用します。
^\$apr1\$
1API_USER_PASS_USER
*
Terminal System API Basic認証パスワード(userユーザー)
ユーザーが各種操作で使用します。
^\$apr1\$
1USER_PASS_ROOT
*
ユーザーパスワード(root)
^\$6\$
2USER_PASS_ADMIN
*
ユーザーパスワード(admin)
ローカルネットワークからログイン するadminユーザーのパスワードです。
^\$6\$
2USER_PASS_MAINT
*
ユーザーパスワード(maint)
リモートターミナル でログインするmaintユーザーのパスワードです。
^\$6\$
2SERIAL_NUMBER
*
4Menderのデバイス識別情報として利用するシリアル番号
^[0-9a-zA-Z_.-]*$
3OPT_USE_MENDER
Menderサーバーの利用設定
^(true|false)$
5OPT_MENDER_SERVER_URL
MenderサーバーURL
^https?://.*$
6OPT_MENDER_TENANT_TOKEN
Menderテナントトークン (Organization token)
^.+$
6注釈
作業PCとして仮想マシンを使用する場合の注意点
仮想マシンでイメージの書込みを行う場合、書込み処理の途中でUSBの再接続に失敗して、以下のような表示で停止することがあります。
... [ 10.2706 ] tegrarcm_v2 --boot recovery [ 10.2718 ] Applet version 01.00.0000 [ 10.3302 ] [ 11.3332 ] tegrarcm_v2 --isapplet
このようなケースでは、USBケーブルを再接続することで書込み処理が再開されます。
書き込みが完了すると、EDGEPLANT T1が自動的に再起動し、Terminal Systemが起動します。
- 1(1,2)
API Basic認証パスワードはMD5(apr1)で暗号化された文字列を使用してください。( openssl を利用して生成する例:
echo p@ssword | openssl passwd -apr1 -stdin
)- 2(1,2,3)
ログインユーザーパスワードはSHA-512で暗号化された文字列を使用してください。( openssl を利用して生成する例:
echo p@ssword | openssl passwd -6 -stdin
)- 3
シリアル番号には、底面パネルに記載されているシリアル番号を指定してください。その他の文字列を指定する場合はエンドユーザーにシリアル番号を通知する必要があります。
- 4
Menderサーバーを利用する場合のみ必須です。
- 5
記載を省略した場合は、Menderサーバーを利用する設定(
true
)が使用されます。- 6(1,2)
設定を省略した場合は、Terminal System OS 2イメージ内に設定されたデフォルトが使用されます。