at_ito
2015年3月30日 6時58分
netflashコマンドでイメージをフラッシュ書いた後、正しく書かれたかチェックしたい場合があるかと思います。
ここでは、netflashコマンドで、正しくイメージが書かれたかどうかをチェックする機能について紹介します。
1. チェック方法
netflashには-Cオプションがあり、このオプションを付けることによって、指定されたイメージと同じイメージが、フラッシュにかかれているかどうかをチェックすることができます。
コマンド例としては、以下のようになります。
netflash -knubC -r /dev/flash/kernel linux.bin.gz
2. ベリファイ実行例
2.1. kernel領域に、linux-a400-1.08.bin.gzイメージを書き込む
以下のコマンドを実行して、kernel領域にlinux-a400-1.08.bin.gzイメージを 書き込みます。この際オプションに"-b"を付けて自動的に再起動しないように しておきます。
# netflash -knub -r /dev/flash/kernel http://download.atmark-techno.com/armadillo-440/image/linux-a400-1.08.bin.gz ..................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................... .. ............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................. netflash: got "http://download.atmark-techno.com/armadillo-440/image/linux-a400-1.08.bin.gz", length=1763476 netflash: programming FLASH device /dev/flash/kernel ................
2.2. kernel領域に書き込まれたイメージが正しいかのチェックを行う
2.2.1. ベリファイ例
kernel領域に書き込まれたイメージが引数に渡されたファイルと 同じかどうかのチェックを行います。 チェックを行う際は、netflashの"-C"オプションを付けて実行します。 ("-C"オプションを付けたときは、チェックのみ行い、フラッシュへの書き込みは行いません)
例えば、kernel領域にlinux-a400-1.08.bin.gzが書き込まれた状態で、 フラッシュのデータが、linux-a400-1.08.bin.gzと同じかどうかを チェックすると、以下のような結果となります。
[root@armadillo440-0 (ttymxc1) ~]# netflash -knubC -r /dev/flash/kernel http://download.atmark-techno.com/armadillo-440/image/linux-a400-1.08.bin.gz > /dev/null [root@armadillo440-0 (ttymxc1) ~]#
2.2.2. ベリファイ時のエラー例
例えば、kernel領域にlinux-a400-1.08.bin.gzが書き込まれた状態で、 フラッシュのデータが、linux-a400-1.07.bin.gzと同じかどうかを チェックすると、以下のような結果となります。
[root@armadillo440-0 (ttymxc1) ~]# netflash -knubC -r /dev/flash/kernel http://download.atmark-techno.com/armadillo-440/image/linux-a400-1.07.bin.gz > /dev/null netflash: check failed, pos=0 netflash: check failed, pos=20000 netflash: check failed, pos=40000 netflash: check failed, pos=60000 netflash: check failed, pos=80000 netflash: check failed, pos=a0000 netflash: check failed, pos=c0000 netflash: check failed, pos=e0000 netflash: check failed, pos=100000 netflash: check failed, pos=120000 netflash: check failed, pos=140000 netflash: check failed, pos=160000 netflash: check failed, pos=180000 netflash: check failed, pos=1a0000 [root@armadillo440-0 (ttymxc1) ~]#