Howto

Armadillo-X1, Armadillo-IoT G3/G3L: U-Bootブートスクリプト(boot.scr)の使い方

このHowtoでは、Armadillo-X1,Armadillo-IoT G3/G3L(以降Armadilloと記載)で、U-Bootブートスクリプトを使用する方法をご紹介します。

1.はじめに

Armadilloで採用しているブートローダであるU-Bootには、起動時にスクリプトファイル(boot.scr)を読み込んで自動起動してくれる機能あります。boot.scrはu-bootコマンドを記述したテキストファイルを作成し、mkimageツールを使って生成することができます。 複数のArmadilloで同一のsetenv環境変数設定を行いたい場合などに便利です。

このHowtoでは例としてLinuxカーネル起動オプションでoverlayfsを有効にします。

2.u-bootコマンドを記述したテキストファイルの作成

ATDE上でテキストファイル"boot.txt"を作成します。

[ATDE]$ vi boot.txt

"boot.txt"は以下のように記載します。

setenv optargs overlay
mmc dev ${mmcdev};
if mmc rescan; then
 if run loadimage; then
   run mmcboot;
 fi
fi

3.boot.scrの生成

ATDE上でboot.scrを生成します。

[ATDE]$ mkimage -A arm -O linux -T script -C none -a 0 -e 0 -d boot.txt boot.scr

生成した"boot.scr"をArmadilloに転送して下さい。

4.boot.scrの配置

ATDEからArmadilloに転送した"boot.scr"を、eMMCの第1パーティション(/dev/mmcblk2p1)にコピーします。

[armadillo]$ sudo mount /dev/mmcblk2p1 /mnt/
[armadillo]$ cp boot.scr /mnt/
[armadillo]$ sync
[armadillo]$ sudo umount /mnt/

5.再起動とLinuxカーネル起動オプションとoverlayfsの確認

Armadilloを再起動して、設定が反映されている事を確認します。

[armadillo]$ sudo reboot

catコマンドを用いて/proc/cmdlineを確認し、Linuxカーネル起動オプション"overlay"が有効になっていることを確認します。

[armadillo]$ cat /proc/cmdline 
console=ttymxc4,115200 root=/dev/mmcblk2p2 rootwait rw overlay

dfコマンドを用いてファイルシステムの状態を確認します。

[armadillo]$ df
Filesystem     1K-blocks    Used Available Use% Mounted on
overlay           262144    1256    260888   1% /
udev               10240       0     10240   0% /dev
tmpfs             100272    4828     95444   5% /run
/dev/mmcblk2p2   3457408 1242848   2019216  39% /overlay/system
none              262144    1256    260888   1% /overlay/ramdisk
tmpfs             250672       0    250672   0% /dev/shm
tmpfs               5120       0      5120   0% /run/lock
tmpfs             250672       0    250672   0% /sys/fs/cgroup
tmpfs              50136       0     50136   0% /run/user/0

コマンド結果よりルートディレクトリ("Mounted on"の値が"/"になっている行)の"Filesystem"の値が"overlay"になっている事が確認できます。

6.注意点

IoTゲートウェイ管理クラウド「node-eye」に必要なnode-eyeパッケージをArmadilloにインストールすると、node-eye専用のboot.scrに上書されますのでご注意ください。 また、独自作成した"boot.scr"を使用したい場合、IoTゲートウェイ管理クラウド「node-eye」を利用することが出来ませんのでご注意ください。