GuruPlug の JTAG を単品で注文するという残念なことをしました。
なので今いろいろ遊んでいます。
とりあえずカーネルをあげようかなと。
# wget http://sheeva.with-linux.com/sheeva/README-2.6.34.6 # sh README-2.6.34.6 --nandkernel # shutdown -r now
その後 JTAG つないで Uboot の出力みてたんだけど
カーネルが立ち上がってる途中で止まってた。
いろいろ見てたら、出荷時の uboot のバージョン (Marvell-Plug2L) だと
新しめのカーネルが起動しないらしい。なのでまずは uboot からアップデート。
ここで失敗しました。
アップデートする uboot イメージを持ってくる
まずは uboot のイメージとかその他いろいろあるやつを取ってくる
# wget http://guruplug.googlecode.com/files/testenv.zip.00{1,2,3} # cat testenv.zip* > testenv.zip # unzip testenv.zip # tar jxf testenv.tar.bz2
アップデート自体は MacBookPro で TFTP サーバを立ち上げてやるので
展開したやつを tftpd の場所に移動
# mv testenv/* /private/tftpboot/
GuruPlug JTAG を Mac Book に認識させる
FTDI のドライバーをとってきてインストールする。
http://www.ftdichip.com/Drivers/VCP.htm
設定ファイルに、JTAG 用の設定を書く。
すでにある設定を見て、適当なとこに追加すればいいとおもう。
# vi /System/Library/Extensions/FTDIUSBSerialDriver.kext/Contents/Info.plist
<key>SheevaPlug JTAGKey FT2232D A</key> <dict> <key>CFBundleIdentifier</key> <string>com.FTDI.driver.FTDIUSBSerialDriver</string> <key>IOClass</key> <string>FTDIUSBSerialDriver</string> <key>IOProviderClass</key> <string>IOUSBInterface</string> <key>bConfigurationValue</key> <integer>1</integer> <key>bInterfaceNumber</key> <integer>0</integer> <key>idProduct</key> <integer>40591</integer> <key>idVendor</key> <integer>40584</integer> </dict> <key>SheevaPlug JTAGKey FT2232D B</key> <dict> <key>CFBundleIdentifier</key> <string>com.FTDI.driver.FTDIUSBSerialDriver</string> <key>IOClass</key> <string>FTDIUSBSerialDriver</string> <key>IOProviderClass</key> <string>IOUSBInterface</string> <key>bConfigurationValue</key> <integer>1</integer> <key>bInterfaceNumber</key> <integer>1</integer> <key>idProduct</key> <integer>40591</integer> <key>idVendor</key> <integer>40584</integer> </dict>
そんでもってドライバロード
# kextload /System/Library/Extensions/FTDIUSBSerialDriver.kext
Uboot アップデート
準備おkなので JTAG を GuruPlug とつなげる
# screen /dev/tty.usbserial-XXXXB 115200
「XXXX」は環境によって変わるとおもうので予め調べとく。
つなげたあと、uboot 起動。reboot 後キーを叩けば出るはず。
次に、uboot イメージを tftp サーバから取ってくるためのじゅんび
Marvell>> setenv serverip 192.168.0.2 # tftp のサーバ。 Marvell>> setenv ipaddr 192.168.0.3 # GuruPlug 。同じセグメントで適当に
実際にイメージをとってきて、NAND に書き込む
・・・わかる人にはわかると思うけど、ここでミスりました。
Marvell>> tftp 0x6400000 rootfs.ubi.img # tftp サーバの /private/tftpboo/rootfs.ubi.img のこと Marvell>> nand erase 0x0 0x100000 Marvell>> nand write.e 0x6400000 0x0 0x100000
rootfs.ubi.img ってのはそのなのとおり、rootfs のイメージ。
こいつを nand write で uboot イメージの領域に書き込んだ。
結果:uboot が起動しなくなった。
その後はシリアルコンソールでもつながらなくなった。
なにもできない。これぞ何もできない!!
続く