エンジニアパパの雑記帖

あんまりこだわりのないブログです。LinuxやFreeBSD、iPod touchも。

installerでSheevaplugを初期化

2010-07-25 | Sheevaplug
しばらくSheevaplugをいじっていなかったのですが、それというのも色々いじっていたらFlashに入っているOSが壊れたらしく、U-boot以外はいじれなくなっていたのです。
今回、installerを利用してFlashを初期化できたので忘れないうちにメモしておきます。


環境
母艦OS: Ubuntu 10.4 (OpenOCDはインストール済み)
USBメモリ: IOdata 1GB (FAT32でフォーマット済み)
用意するファイル: sheevaplug-installer-v1.0.tar.gz (CDに入っているものまたはダウンロード)
追加したアプリ: php5-cli

手順
1、用意したsheevaplug-installer-v1.0.tar.gzを展開

2、展開したディレクトリがsheevaplug-installer-v1.0であれば、下記の場所にあるファイルを開いて、11行目に書いてあるMACアドレスを自分のSheevaplugの裏に書いてあるものに変更
 $ gedit ./sheevaplug-installer-v1.0/uboot/uboot-env/uboot-nand-custom.txt

3、./sheevaplug-installer-v1.0/installerのディレクトリにあるファイルをすべてUSBメモリにコピー

4、SheevaplugにUSBメモリを挿して、母艦とminiUSBでつないで電源を入れる

5、母艦側のターミナルでscreenを立ち上げ、Sheevaplugの画面を表示
 # screen /dev/ttyUSB0 115200

6、./sheevaplug-installer-v1.0/直下にあるrunme.phpを起動するのだが、そのままではOSとUSERの認識がうまくいかなかったので、runme.phpの7行目から13行目と43行目から44行目をコメントアウト
 $ gedit ./sheevaplug-installer-v1.0/runme.php

7行目から13行目
/*ここからif (strstr($_ENV["OS"], "Windows"))
$WIN32=1;

 if ($argc != 2){
print_help_message();
exit(1);
}ここまで*/

43行目から44行目
/*ここから if ($_ENV["USER"] != 'root')
* die("You must run this as rootn");ここまで*/

7、編集したrunme.phpがある場所に移動してrunme.phpを実行
 # cd ./sheevaplug-installer-v1.0/
 # php ./runme.php nand

8、正常に実行されればUSBメモリの中身がFlashに書き込まれていくはずなのだが、U-bootの画面で停止してしまったので、下のコマンドを入力してSheevaplugが再起動
 >> run recover1

9、これで晴れてFlashへの書き込みが始まる


Flashへの書き込みは進捗度合いを%で表示してくれるので、OpenOCDでU-bootを書き換えるときより時間が短く感じました。この方法がマスターできたので、ハードウェアが壊れない限りは元に戻せます。かなり無理なことをやっても大丈夫なので、安心して他のディストリビューションやOSを試すことができます。

参考にしたのはこちらこちら




コメントを投稿

ブログ作成者から承認されるまでコメントは反映されません。