このエントリーをはてなブックマークに追加

Armadillo-IoT(G3L/G3)/X1:USBメモリでのアップデート方法

Armadillo-IoT(G3L/G3)/X1で、USBメモリでのアップデート方法です。
(下記の手順では、Armadillo-IoT(G3L)で説明しています。)

注意)node-eyeを使用している場合、ここで紹介するboot.scrを変更する方法は、使用できません。

1.USBメモリで起動可能にする

予め、 Howto : Armadillo-X1,Armadillo-IoT G3/G3LでUSBストレージ内のLinuxカーネルを起動する方法 の  U-Bootコマンドのテキストファイル(boot.txt)作成  boot.scrの生成  boot.scrの配置 の手順で、USBメモリのイメージで起動するboot.scrをArmadilloに書き込んでおきます。

2.アップデート用USBメモリの作成

2.1.USBメモリにルートファイルシステムを構築

Armadillo-IoT ゲートウェイ G3L製品マニュアル 第15章 SDブートの活用 の  15.3. LinuxカーネルイメージとDTBの配置 までの手順で「USBメモリ」(※)にブートディスクを作成します。 ※)手順内の"SDカード"等は、USBメモリと読み替える必要はありますが、コマンドは同じです。

2.2.USBメモリにusbboot_enable(※)を追加

※)手順1のboot.scrは、usbboot_enableファイルを見つけるとUSBブートするため。 手順2.1のUSBメモリをArmadilloに挿入します。 sda: sda1 sda2 という行が含まれるログが見えます。 下記のコマンドを実行します。
root@armadillo:~# mount /dev/sda1 /mnt
root@armadillo:~# touch /mnt/usbboot_enable
root@armadillo:~# sync
root@armadillo:~# umount /mnt

2.2.アップデート用イメージファイルとスクリプトの追加

ここでは、アップデート用イメージファイルを  ブートローダ:u-boot.bin  カーネル:uImage  DTB:armadillo_iotg_g3l.dtb  ルートファイルシステム:debian-jessie-armhf.tar.gz  ブートスクリプト(手順1のもの):boot.scr とします。
root@armadillo:~# mkdir /images
を実行して、/imagesディレクトリを作成して、上記のアップデート用イメージファイルを/imagesに置きます。 イメージアップデートのスクリプト /images/install.sh を下記のような内容で作成します。 /images/install.sh
#!/bin/sh
 
echo 1 > /sys/class/leds/led3/brightness
 
# 1. Bootloader
dd if=/images/u-boot.bin of=/dev/mtdblock0
sync
 
# 2. Kernel
mount -t vfat /dev/mmcblk2p1 /mnt
cp /images/uImage /mnt/uImage
umount /mnt
 
# 3. DTB
mount -t vfat /dev/mmcblk2p1 /mnt
cp /images/armadillo*.dtb /mnt/
umount /mnt
 
# 4. Debian
mount -t ext4 /dev/mmcblk2p2 /mnt
rm -rf /mnt/*
tar zxf /images/debian-jessie-armhf.tar.gz -C /mnt
umount /mnt
 
# 5. boot.scr
mount -t vfat /dev/mmcblk2p1 /mnt
cp /images/boot.scr /mnt/
umount /mnt
 
echo 0 > /sys/class/leds/led3/brightness
root@armadillo:~# chmod +x /images/install.sh
を実行して、install.shに実行権限を付けます。

2.3.ブート時にインストールスクリプトが実行されるよう設定

/etc/rc.local の末尾、exit 0の前に
sh /images/install.sh
poweroff
の2行を追加します。 以上で、アップデートディスクの作成は完了です。 USBメモリをArmadilloに挿入して電源をONにしてください。 /images/install.sh 内の echo 1 > /sys/class/leds/led3/brightness により、アップデート開始時にLED3が点灯します。 (LED3が点灯するまで30秒くらいかかります。) echo 0 > /sys/class/leds/led3/brightness により、アップデート終了時にLED3が消灯します。 (LED3が消灯するまで30秒くらいかかります。) LED4も消灯しましたら、Armadilloの電源をOFFにしてください。 (LED4が消灯するまで30秒くらいかかります。) USBメモリを抜いて、電源をONすると、アップデートされたイメージで起動します。

製品: 

  • Armadillo-X1
  • Armadillo-IoT G3L
  • Armadillo-IoT G3

タグ: 

  • Armadillo-IoT G3/G3L
  • Armadillo-X1
  • TIPS