Thanks Driven Life

日々是感謝

GuruPlug 復旧

uboot が起動しなくなってとても残念なことになりました。
復旧するには、NAND Flash の uboot 領域に
起動可能な uboot イメージを書き込む必要がある。


OpenOCD を使えばどうにかなるらしい。


これまたいろいろ調べたんだけどわからなくて、
いろんな方法試したけどほとんどうまくいかなかった。
Mac OS X だと調子わるかったので
わざわざ VirtualboxDebian を作ってそこでやったりとかね。


guruplug-installer だとうまくいかなかったし。よくわかんない。


最終的にうまくいったのはこれ。
前回とってきた testenv の中にあるものを使います。

 # testenv/sheevaplug/openocd.binaries/bin/
 # ./openocd -f target/board/sheevaplug.cfg -c init -c sheevaplug_reflash_uboot -c exit

ここらへんかなり眠かったので、testenv に含まれてた openocd を
実行するのに必要なライブラリとかあまり覚えてない。
そのまま動くかもしれないし、libusb とかそこらへんもとらないといけないかも。


で、上のを実行すると、USB で接続してる JTAG 経由で
GuruPlug に対して、uboot 領域に uboot イメージを書き込む的な。
見事うまくいき、こんどこそ Marvell プロンプトが出て安心しました。


あとは当初の目的通り、uboot をちゃんと正しく正しく書き込む

 Marvell>> setenv serverip 192.168.0.2
 Marvell>> setenv ipaddr 192.168.0.3
 Marvell>> tftp 0x6400000 uboot.guruplug.bin
 Marvell>> nand erase 0x0 0x100000
 Marvell>> nand write.e 0x6400000 0x0 0x100000


今度こそ間違いなく uboot を書き込みました。
reset して Linux が起動するのも確認しました。安心した。