シリアル接続無しで玄箱Proのカーネル気軽に入れ換えたい

概要

玄箱Proは結構色々やろうとするとシリアルケーブルが必要になって大変どうしようか、という気分になることがある。

そのひとつがカーネルのバージョンアップだろう。特に工夫せずにインストールした場合、ブート方法は/boot/uImage.buffaloにあるカーネル一択になり、 起動しないカーネルを入れてしまうと死亡。ハードディスクひっこ抜いて、どこか別のマシンで元に戻さないといけない。

が、u-bootにはTFTPでカーネルをダウンロードしてくる機能があるので、 それを使えば、シリアルケーブル無くても気軽にカーネル入れ換えられますよ、という話

用意するもの

nvram
玄箱ProのNANDの中に入ってます
玄箱以外のマシンで動くTFTPサーバ
TFTPのサーバです。
カーネル
カーネルです

注意

ちゅうい!! ここから先手順を間違えると玄箱Proがウンともスンとも言わなくなるおそれがあります!!自己責任(便利な言葉!!)。 そんなことないです。起動したときにピポパポ言ってくれます。ウンともスンとも言わないということはない。

とりあえず手順間違えたら諦めてシリアルケーブル調達してください。

手順

TFTPサーバから見えるところにuImage.buffaloという名前でuImage化したカーネルを置く

あとは玄箱のLinuxのプロンプトで以下のコマンドを入力するだけの簡単なお仕事です。

 nvram bootcmd 'tftp $(default_kernel_addr) $(kernel) ; setenv bootargs $(bootargs_base) $(bootargs_root) rw panic=5 ; bootm $(default_kernel_addr)'

説明

そのうち書く

その他

ファームウェア(NAND型フラッシュメモリ)初期化方法には「シリアル必要」って書いてあるけど、 このinitrdは、起動時にtelnetdが動くようになってるので実はシリアルいらない。