fukasawa
2019年6月5日 19時35分
日頃、お世話になっております。
Armadillo-440を新規に購入して、そのイメージファイルを新しいものに更新したところ、起動できなくなってしまいました。
対処方法を教えていただけると助かります。
# やったこと
https://armadillo.atmark-techno.com/armadillo-440/downloads
から最新のLinuxイメージとユーザーランドイメージをダウンロードしました。
それをUSBメモリ経由でArmadilloでnetflashで書き込みしました。
```
[root@armadillo440-0 (ttymxc1) /mnt]# netflash -knusbr /dev/flash/kernel linux-a400-2.07.bin.gz
...(略)
[root@armadillo440-0 (ttymxc1) /mnt]# netflash -knusbr /dev/flash/userland romfs-a440-2.04.img.gz
...(略)
netflash: got "romfs-a440-2.04.img.gz", length=15294660
netflash: programming FLASH device /dev/flash/userland
```
その後再起動したところ、起動に失敗するようになってしまいました。
```
[root@armadillo440-0 (ttymxc1) /mnt]# reboot
[root@armadillo440-0 (ttymxc1) /mnt]#
System is going down for system reboot now.
(略)
RAMDISK: ext2 filesystem found at block 0
RAMDISK: image too big! (40251KiB/32768KiB)
List of all partitions:
1f00 256 mtdblock0 (driver?)
1f01 2048 mtdblock1 (driver?)
1f02 30336 mtdblock2 (driver?)
1f03 128 mtdblock3 (driver?)
No filesystem could mount root, tried: ext3 ext2 msdos vfat
Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(1,0)
```
ログの全体を添付しました。
# ためした対処方法
https://armadillo.atmark-techno.com/faq/troubleshooting-a440-a420
を参考にHermitやLinuxの起動オプションは確認して、問題ありませんでした。
# 補足
別のArmadillo-440にも同様のことを実行したところ、同じ状態になったので、製品の初期不良ではないのではないかと思います。
# 環境
- Windows10 1803 64bit
- Intel Corei7
- VMware Workstation Player Ver 15.0.2
- ATDE5 amd64
ファイル | ファイルの説明 |
---|---|
Armadillo440 イメージ書き込み後エラーログ 190605.txt |
コメント
fukasawa
回答ありがとうございます。
頂いた情報を元に作業しました。
まず作業前にHermit-Atのバージョンが2.4.0であることを確認しました。
```
Hermit-At v2.4.0 (armadillo4x0) compiled at 07:42:06, Mar 30 2018
```
> shoehornによるアップデートで更新するようお願いします。
`shoehorn`によるローダーのアップデート、`hermit`によるHermitイメージファイルの更新を実施しました。
その後、Hermit-Atのバージョンが3.10.0であることを確認しました。
```
Hermit-At v3.10.0 (armadillo4x0/boot) compiled at 10:17:00, Nov 06 2017
```
その後LinuxカーネルとLinuxイメージを書き込み、無事にLinuxが3.14にアップデートできました。
```
atmark-dist v1.55.0 (AtmarkTechno/Armadillo-440)
Linux 3.14.36-at12 [armv5tejl arch]
```
ありがとうございました。
fukasawa
余談ですが、下記コマンドの前にたどり着くまで、かなり試行錯誤することになりました。
```
shoehorn --boot --terminal --target armadillo4x0 \
--initrd /dev/null \
--kernel /usr/lib/hermit-3/loader-armadillo4x0-boot-v3.10.0.bin \
--loader /usr/lib/shoehorn/shoehorn-armadillo4x0.bin \
--initfile /usr/lib/shoehorn/shoehorn-armadillo4x0.init \
--postfile /usr/lib/shoehorn/shoehorn-armadillo4x0.post --port /dev/ttyUSB1
```
というのも、以下の3つを混同していたためです。
文中の表現:loader-armadillo4x0-boot-v3.X.X.bin
ダウンロードした最新のローダー:loader-armadillo4x0-v3.11.0.bin
実際のコマンド:loader-armadillo4x0-boot-v3.10.0.bin
できればシリアルポートの読み替え([PORT]→[/dev/ttyUSB1])と同じように文中にフォローがあると助かります。
at_ohsawa
ポイントを絞って報告頂き、誠にありがとうございます。
そもそも、/usr/lib/hermit-3/以下に、期待する命名規則のファイルは
1つしかないので、
”--kernel /usr/lib/hermit-3/loader-armadillo4x0-boot-v3.*.bin”
と入力すれば人間が数値を入力する必要は無いですね…
tty以外はそのまま入力できる例に変更しました。
また、類似のファイル名が直後に出現するのは判りづらいので、
書き込みの直前にダウンロードするように手順を入れ替えました。
https://armadillo.atmark-techno.com/faq/troubleshooting-a440-a420
fukasawa
at_ohsawa
2019年6月5日 19時58分
Armadillo-440の出荷時のbootloader(hermit-at)は、
旧来のLinux-2.6.x系のカーネルに対応したものが書かれています。
今回書き換えて頂いた最新のLinux-3.14系のイメージを起動するには
bootloaderの書き換えも実施必要になります。
わかりづらくて申し訳ありません。
https://users.atmark-techno.com/armadillo-440/software
のブートローダーイメージを、「故障かなと思ったら」もしくは
ソフトウェアマニュアルに記載した、
shoehornによるアップデートで更新するようお願いします。