4.5.5.1. ファームウェアアップデート機能を使用して書き込む
「ファームウェアアップデートを行う」で説明した方法と同様に、ATDEで必要なファイルの名前変更とZIP圧縮を行った後に所定の位置へ設置します。
[PC ~]$
ls
armadillo_x1.dtb uImage
[PC ~]$
mv uimage uImage.recovery
[PC ~]$
mv armadillo_x1.dtb armadillo_x1.dtb.recovery
[PC ~]$
zip uImage.recovery.dtb.zip armadillo_x1.dtb.recovery
[PC ~]$
ls
armadillo_x1.dtb.recovery uImage.recovery uImage.recovery.dtb.zip
[PC ~]$
md5sum uImage.recovery > uImage.recovery.md5
[PC ~]$
md5sum uImage.recovery.dtb.zip > uImage.recovery.dtb.zip.md5
[PC ~]$
ls
armadillo_x1.dtb.recovery uImage.recovery uImage.recovery.dtb.zip uImage.recovery.dtb.zip.md5 uImage.recovery.md5
[PC ~]$
sudo cp uImage.recovery* /var/www/html
次に、「ファームウェアアップデートを行う」で説明した方法と同様に、接続中デバイスから[ファームウェアアップデート]項目に移動します。
その後、下記のようにフォームへ入力してください([ATDEのIPアドレス]
はご利用の環境にあわせて変更してください)。
表4.10 リカバリーイメージアップデート
フォーム | 入力内容 |
---|
プライマリ/リカバリ | リカバリ |
リカバリ | http://[ATDEのIPアドレス] /uImage.recovery |
アップデート完了時に再起動する | |
[実行]をクリックし、リカバリーイメージのアップデートを行ってください。
4.5.5.2. インストールディスクを使用して書き込む
インストールディスク作成ツールを使用して、リカバリーイメージを含めたインストールディスクを作成し書き込みます。
ATDEで必要なファイルの名前変更を行います。
[PC ~]$
ls
armadillo_x1.dtb uImage
[PC ~]$
mv uimage uImage.recovery
[PC ~]$
mv armadillo_x1.dtb armadillo_x1.dtb.recovery
version 1.4.0 以降のインストールディスクイメージ作成ツールを使用して、リカバリーイメージがインストールされたインストールディスクを作成します。
サンプルファイルsample_config_fileを参考に、インストールディスクイメージ作成ツールの[CONFIG]
ファイルを作成し、実行時にオプションを指定することでリカバリーイメージをインストールディスクに組み込むことができます。
[PC ~/make_install_disk_image]$
cat sample_config_file
BOARD=""
UBOOT=""
KERNEL=""
DTB=""
USERLAND=""
BOOTSCR=""
RECOVERY=""
RECOVERY_DTB=""
RECOVERY_BOOTSCR=""
表4.11 イメージファイルと変数の対応
変数 | 説明 | ファイル名称 |
---|
BOARD | x1 を指定 | - |
UBOOT | ブートローダーイメージ | u-boot-x1-[version] .bin |
KERNEL | Linuxカーネルイメージ | uImage-x1-[version] |
DTB | Device Tree Blob | armadillo_x1-[version] .dtb |
USERLAND | Debian 10 buster用ルートファイルシステム | debian-buster-armhf_ax1_[version] .tar.gz |
Debian 12 bookworm用ルートファイルシステム | debian-bookworm-armhf_ax1_[version] .tar.gz |
BOOTSCR | U-Bootブートスクリプト (オプション) | boot.scr |
RECOVERY | リカバリー用Linuxカーネルイメージ | uImage.recovery |
RECOVERY_DTB | リカバリー用Device Tree Blob | armadillo_x1.dtb.recovery |
RECOVERY_BOOTSCR | リカバリー用U-Bootブートスクリプト | boot.scr.recovery |
通常のインストールディスクイメージ作成ツールの実行とは異なり、-fオプションを付与して実行します。
[PC ~/make_install_disk_image]$
sudo ./build.sh -f [CONFIG]
0+0 レコード入力
0+0 レコード出力
0 bytes copied, 5.9211e-05 s, 0.0 kB/s
Checking that no-one is using this disk right now ... OK
Disk /dev/loop1: 590 MiB, 618659840 bytes, 1208320 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
>>> Created a new DOS disklabel with disk identifier 0xdbdd7cee.
/dev/loop1p1: Created a new partition 1 of type 'W95 FAT32' and of size 14 MiB.
/dev/loop1p2: Created a new partition 2 of type 'Linux' and of size 575 MiB.
/dev/loop1p3: Done.
New situation:
Disklabel type: dos
Disk identifier: 0xdbdd7cee
Device Boot Start End Sectors Size Id Type
/dev/loop1p1 2048 30719 28672 14M b W95 FAT32
/dev/loop1p2 30720 1208319 1177600 575M 83 Linux
The partition table has been altered.
Calling ioctl() to re-read partition table.
Syncing disks.
mkfs.fat 4.1 (2017-01-24)
mke2fs 1.44.5 (15-Dec-2018)
Discarding device blocks: done
Creating filesystem with 147200 4k blocks and 36800 inodes
Filesystem UUID: 70f1bf35-95de-4eb2-b1c4-ab1fdd18d98c
Superblock backups stored on blocks:
32768, 98304
Allocating group tables: done
Writing inode tables: done
Creating journal (4096 blocks): done
Writing superblocks and filesystem accounting information: done
370+1 レコード入力
370+1 レコード出力
378936 bytes (379 kB, 370 KiB) copied, 0.0625746 s, 6.1 MB/s
これにより作成されたインストールディスクイメージを使用することで、リカバリーイメージ用のパーティションmmcblk2p3に必要なイメージが書き込まれます。
[armadillo ~]#
mount /dev/mmcblk2p3 /mnt/
[armadillo ~]#
ls /mnt/
armadillo_iotg_g3l.dtb.recovery boot.scr uImage.recovery