Armadillo-X2の拡張I/F(CON11)のデバイスツリーをカスタマイズする一連の手順です。
備考)拡張I/Fの詳細情報(使用可能な機能など)は、
Armadillo-X2 マルチプレクス表のサイトより
ダウンロード可能なマルチプレクス表を参照ください。
0. 前提(Linuxカーネルの準備)
本手順に先立って、予めLinuxカーネルを準備しておく必要があります。
Armadillo-IoT(G4)/X2:Linuxカーネルのビルド~Armadilloへの書き込み(一連の手順)を実施し、
以下の手順で作成されるデバイスツリーに対応したLinuxカーネルをArmadilloに書き込んでおきます。
補足)後述の手順にて、上記ブログ手順内の
「
図3.9 initial_setup.swu 初回生成時の各種設定」で設定した
「証明書の鍵のパスワード」「abos-web のパスワード」が必要になります。
1. 拡張I/Fのデバイスツリーをat-dtwebでカスタマイズ
「Armadillo-X2製品マニュアル」「3.5. Device Treeをカスタマイズする」
の「3.5.2. at-dtweb のインストール」~「3.5.4.4. 機能の削除」を参考に、at-dtwebで拡張I/Fの端子を設定します。
(ここでは、具体的な設定は省略します)
「3.5.4.5. Device Tree のファイルの生成」の「図3.73 dtbo/desc の生成完了」までを実施し、at-dtwebを閉じます。
2. デバイスツリーのソースコードをカスタマイズ(必要な場合のみ)
at-dtwebで対応していない設定(使用するデバイスドライバ、GPIOの用法等)のカスタマイズは、
デバイスツリーのソースコードの編集が必要な場合があります。
デバイスツリーのソースコードにカスタマイズを施す場合は、下記のファイルを編集します。
linux-[VERSION]/arch/arm64/boot/dts/freescale/armadillo_iotg_g4-at-dtweb.dts
備考)Armadillo-X2は、Armadillo-IoT G4と同じDTB(armadillo_iotg_g4- から始まるdtb)で動作します。
注意)デバイスツリーのソースコード編集後に、at-dtwebを使用する場合
at-dtwebで「Save」すると、armadillo_iotg_g4-at-dtweb.dtsはat-dtweb上の設定情報で上書きされます。
armadillo_iotg_g4-at-dtweb.dtsのバックアップを残す場合は、別ファイル名で保存しておきます。
デバイスツリーのみビルドします。
[ATDE ~/linux-[VERSION]]$ make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- -j5 freescale/armadillo_iotg_g4-at-dtweb.dtbo
手順4実施のため、ビルドしたデバイスツリー(armadillo_iotg_g4-at-dtweb.dtbo)を
アップデートファイル作成用ディレクトリ(~/mkswu/at-dtweb-Armadillo-X2)にコピーします。
[ATDE ~/linux-[VERSION]]$ cp arch/arm64/boot/dts/freescale/armadillo_iotg_g4-at-dtweb.dtbo ~/mkswu/at-dtweb-Armadillo-X2
3. デバイスツリーのアップデートファイルの設定(必要に応じて実施)
アップデートの設定ファイル(at-dtweb.desc)を、下記の場合に応じて編集ください。
デバイスツリーのソースコードのカスタマイズ(手順2)を実施した場合
~/mkswu/at-dtweb-Armadillo-X2/at-dtweb.descの下記の行の[version]をインクリメント(※)します。
swdesc_option version=[version]
※)[version]に指定できる文字は、下記を参考ください。
Armadillo-X2製品マニュアル「6.4.1. インストールバージョンを指定する」
デバイスツリーをArmadilloに書き込んだ後、自動的に再起動させない場合(※)
※)書き込んだデバイスツリーで起動する前に、拡張I/Fに接続する対向基板を交換する、等。
~/mkswu/at-dtweb-Armadillo-X2/at-dtweb.descの末尾に下記を記述します。
swdesc_option POST_ACTION=poweroff
4. デバイスツリーのアップデートファイル(at-dtweb.swu)を作成
Armadilloに書き込むためのアップデートファイル(at-dtweb.swu)を作成します。
[ATDE ~/linux-[VERSION]]$ cd ~/mkswu/at-dtweb-Armadillo-X2 [ATDE ~/mkswu/at-dtweb-Armadillo-X2]$ mkswu at-dtweb.desc Enter pass phrase for /home/atmark/mkswu/swupdate.key: # 「証明書の鍵のパスワード」(※)を入力します。 at-dtweb.swu を作成しました。
※)上記手順「0. 前提」で設定した「証明書の鍵のパスワード」
5. デバイスツリーをArmadilloに書き込む
デバイスツリーのアップデートファイル(at-dtweb.swu)で、Armadilloに書き込みます。
書き込み方法は、
Armadillo-X2製品マニュアル「3.3.3. アップデート機能について」「3.3.3.5. SWU イメージのインストール」
に記載の通り複数ありますが、ここでは一例として、ABOS Webを使った手順で説明します。
(下記手順は、ATDEからArmadilloに対して、ネットワーク名(armadillo.local)か、[ArmadilloのIPアドレス]で
ネットワーク接続可能な場合に有効です。)
下記のどちらかのコマンドで、ABOS Webを開きます。
# Armadilloのネットワーク名が「armadillo.local」で見えている場合 [ATDE ~/linux-[VERSION]]$ firefox --url https://armadillo.local:58080 # ArmadilloのIPアドレスを直接指定する場合 [ATDE ~/linux-[VERSION]]$ firefox --url https://[ArmadilloのIPアドレス]:58080
①ログイン画面では、上記手順「0. 前提」で設定した「abos-web のパスワード」を入力してログインします。
②ABOS Webの画面で「SWUインストール」をクリックします。
③「SWUファイル入力」のウィンドウで「参照」をクリックします。
④「ファイルのアップロード」のウィンドウで、「/home/atmark/mkswu/at-dtweb-Armadillo-X2」ディレクトリ内の
「at-dtweb.swu」を選択します。
⑤「SWUファイル入力」のウィンドウに戻ったら「インストール」をクリックします。
以上で、Armadilloにデバイスツリーが書き込まれた後、自動的に再起動、または、poweroff(※)します。
※)手順3で「デバイスツリーをArmadilloに書き込んだ後、自動的に再起動させない場合」を実施した場合は、
poweroffが実行されます。