Armadillo-X1, Armadillo-IoT G3/G3L: 自動でブート用SDを作成するツールの使用方法

Armadillo-X1,Armadillo-IoT G3/G3L のブート用SD作成ツールを作りました。本ブログではこのツールについて紹介をしていきます。
また、ツールはこちらからダウンロードしてください。

1.はじめに

このブート用SD作成ツールは、Armadillo-X1,Armadillo-IoT G3/G3Lの自動でブート用SDカードを作成する事ができるツールです。
これまでブート用SDカードを作成する場合は製品マニュアルを参考に作業を行っていましたが、このツールを用いる事で、間違い防止と作業の高速化をすることができます。
このツールを利用する事で、以下の作業を自動化する事ができます。

・最新イメージファイルのダウンロード
・SDカードのパーティション作成
・Debian GNU/Linuxのルートファイルシステムを構築
・LinuxカーネルイメージとDTBの配置

また、決められたディレクトリにイメージファイルを配置することで最新のイメージファイルのダウンロードは行わずに、独自環境のブート用SDカードを作成する事も可能です。詳しくは「3.ディレクトリ構成」を参照してください。

2.事前準備

ツールを実行する環境によってコマンドがインストールされていない可能性があるので、環境に応じて不足しているコマンドのインストールを行ってください。詳しくはダウンロードしたツールのディレクトリ内にあるREADMEを参照してください。

実行環境がATDE5およびATDE6の場合はコマンドのインストールを行う必要はありません。

3.ディレクトリ構成

このツールのディレクトリ構成は以下のようになっています。

make_x1_boot_sd/
├── make_x1_boot_sd.sh .............. スクリプト本体
├── README .......................... README
└── resources/ ...................... イメージ配置ディレクトリ(*)
   ├── bootloader ................... ブートローダー配置ディレクトリ(*)
   ├── kernel ....................... カーネルイメージ配置ディレクトリ(*)
   ├── dtb .......................... DTB配置ディレクトリ(*)
   └── rootfs ....................... rootfs配置ディレクトリ(*)

(*) resources/ ディレクトリが存在しない場合、ツールが自動で resources/ ディレクトリとその配下のディレクトリを作成します。
また、 resources/ ディレクトリ配下のディレクトリ(bootloader/,kernel/,dtb/,rootfs/)に各イメージファイルが存在しない場合、アットマークテクノのサイトから最新イメージファイルのダウンロードを実行し、それぞれ以下の名前で保存を行います。

・make_x1_boot_sd/resources/bootloader/
  ・u-boot-x1-sd-[version].bin                                   : ブートローダー

・make_x1_boot_sd/resources/kernel/
  ・uImage-x1-[version]                                          : カーネルイメージ

・make_x1_boot_sd/resources/dtb/
  ・armadillo_[x1/iotg_g3/iotg_g3l]-[version].dtb                : DTB(Device Tree Blob)

・make_x1_boot_sd/resources/rootfs/
  ・debian-jessie-armhf_[x1/aiotg-g3/aiotg-g3l]_[version].tar.gz : rootfs

独自環境のブート用SDカードを作成する場合は、以下を参考に各イメージファイルを格納した上でツールを実行してください。

・make_x1_boot_sd/resources/bootloader/
  ・[filename].bin                                                : ブートローダー

・make_x1_boot_sd/resources/kernel/
  ・[filename]                                                    : カーネルイメージ

・make_x1_boot_sd/resources/dtb/
  ・[filename].dtb                                                : DTB(Device Tree Blob)

・make_x1_boot_sd/resources/rootfs/
  ・[filename].tar.gz                                             : rootfs

※[filename]はどのような名称でも問題ありませんが、カーネルイメージ以外のイメージファイルにはそれぞれ拡張子が必要です。
※各ディレクトリには1つのファイルだけ格納して下さい。(複数のファイルがあるとツール実行時にエラーとなります。)

また、一部のイメージファイルだけ用意し、他のイメージファイルはアットマークテクノのサイトから最新版をダウンロードさせる事もできます。例えばmake_x1_boot_sd/resources/kernel/に独自環境のカーネルイメージを格納してツールを実行すると、ブートローダー・DTB・rootfsは最新のイメージファイルをダウンロードして、ブート用SDカードの作成を行う事ができます。

4.使い方

1.root権限でツールを実行してください。
引数にはArmadilloの種類(ax1/aiotg3/aiotg3l)を指定します。

[PC ~]$  sudo ./make_x1_boot_sd.sh ax1

2.以下のメッセージが表示されるので、タイムアウト(20秒)以内SDカードをPCに差し込んでください。

Please insert SD Card
Waiting for device
.....

3.差し込んだSDカードのデバイスのパスが表示されることを確認してください。
(マルチカードリーダーやUSBハブを用いると一度に複数のデバイスのパスが表示される事があります。
以下はUSBハブにSDカードリーダーとUSBフラッシュメモリを挿した状態で実行した例です。)

0: /dev/sdh (default)
1: /dev/sdg
Please select device number (default:0 -> /dev/sdh)

4.デバイスの選択をしてください。
・デフォルトで指定されているデバイス(今回の例では"/dev/sdh")で問題なければそのままEnterを押下する。

>                                   <- そのままEnterを押下する

・別のデバイスを選択する場合は、手動でデバイスの番号を入力しEnterを押下する。

>1

5.確認画面が表示されるので、"Y"を入力してください。

Create a boot disk in /dev/sdh
Do you want to continue? [Y/n]
Y                                  <- "Y"を入力してEnterを押下する

6.ツールの処理が正常終了するまで待ちます。(処理が終了するまで数分かかります。)

Partition #1 contains a vfat signature.
Partition #2 contains a ext4 signature.
368+1 records in
368+1 records out
377760 bytes (378 kB, 369 KiB) copied, 0.0811887 s, 4.7 MB/s
128+0 records in
128+0 records out
131072 bytes (131 kB, 128 KiB) copied, 9.5704e-05 s, 1.4 GB/s
128+0 records in
128+0 records out
131072 bytes (131 kB, 128 KiB) copied, 0.0401262 s, 3.3 MB/s
[PC ~]$ 

5.エラーが発生した場合

もしツールを実行中にエラーが発生し、ツールが異常終了した場合はエラーメッセージが表示されます。
以下に発生する可能性があるエラーメッセージの例を示します。

表示されるエラーの例1:

ERROR: device not found. Please try again

ツールを実行してからタイムアウトまでの時間で新しいSDカードを検出できないときに表示されます。もう一度ツールを実行し、タイムアウトまでにSDカードをPCに差し込んでください。

表示されるエラーの例2:

ERROR: /dev/sdg is not found

処理の実行中にSDカードが認識できなくなった場合に表示されます。ツールを実行した後、物理的にSDカードを抜き差ししていないか確認してください。

上記のように、エラーが発生した場合はそのエラーメッセージの内容に沿った対応を行ってください。

製品: 
Armadillo-X1
Armadillo-IoT G3L
Armadillo-IoT G3
タグ: 
Armadillo-X1
Armadillo-IoT G3/G3L