今日は、とうとううちの玄箱HG(Debian 4.0(etch))を「U-Boot」化しました。 (玄箱HG - Debian 5.0(lenny) 化の前準備として)
通常、「U−Boot」化するにはシリアルコンソールが必要のようですが、玄箱にそのような細工をするのは怖いし面倒なので、シリアルコンソールを使用しない方法、また「U-Boot」の起動確認は「netcat」を使用する方法をとりました。
作業記録
※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※ 失敗すると、玄 箱が単なるゴミになります。 個人の記録です。この記事を参考に作業される方は自己責任でお願いします。 当方も、十分に下調べした上での作業です。 当記事を参考にされてもよいですが、 実際に作業される場合は、自分で十分に調査して手順を整理してから行ってください。 ※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※※
■前提条件
- 玄箱HGにはDebian 4.0(etch) がインストール済み。
- 玄箱HGにはシリアルコンソールを取り付けていない(シリアルコンソールは使用しない)。
- クライアント側は WindowsXP マシンで、U-Boot の起動確認は「netcat」を使用。
1.必要なファイルを準備
GenBako Kernel Collectionから、uImage のカーネルイメージ(2.6.20)、U-Boot Loader、U-Boot Loaderのmd5をダウンロードする。
1 2 3 4 |
|
※ちなみに、u-boot-hg.serial.flash.bin, u-boot-hg.serial.flash.md5 は標準でシリアルを使って出力するためのもののようです。(今回はシリアル出力しないので[serial]のないバージョン)
2.「mtdblock1」の確認
「/dev」に「mtdblock1」があるのを確認。なければ以下のコマンドでデバイスを作っておく。 (当方は、「/dev」に「mtdblock1」があったので、この項は不実施)
1 2 |
|
3.システムマップの退避
念のため、「/boot」のシステムマップを退避。
1 2 |
|
4.「uImage」を展開
「uImage」のアーカイブを展開。(「/boot」に)
1
|
|
5.「U-Boot Loader」のチェックサム確認
「U-Boot Loader」が壊れているとフラッシュに書き込んでも取り返しのつかないことになるので、md5ファイルで「U-Boot Loader」のチェックサムを確認する。
1 2 3 |
|
6.「U-Boot Loader」の書き込み
ここで、フラッシュに「U-Boot Loader」を書き込む。 ※ここで失敗すると玄箱がお亡くなりになります。
1 2 3 4 |
|
※上記のコマンドの代わりに以下のコマンドでもOK。 “cat u-boot-hg.flash.bin > /dev/mtdblock1”
7.書き込み確認
フラッシュに書き込んだ「U-Boot Loader」がもとのファイルが同一か(ちゃんと書き込まれたか)を確認する。
1 2 |
|
8.「netcat」インストール(玄箱HG側)
当方の玄箱HGにはシリアルコンソールをつけていないので、シリアルコンソールの代わりに「netcat」を使います。
1
|
|
9.「netcat」インストール(WindowsXP側)
「http://www.genbako.com/u-boot_loader/」に 「nc111nt.zip」が置かれているので、ダウンロード・展開し、WindowsマシンのIPアドレスを「192.168.11.149」に設定する。 ※U-Boot起動時、IPアドレスが以下のように固定されているようです。
- 玄箱側のIPアドレス 192.168.11.150
- クライアント側 192.168.11.149
10.「netcat」監視開始
Windows マシンのコマンドプロンプトで「netcat」のフォルダへ移動後、以下のコマンドを実行すると監視が開始されます。
1 2 |
|
11.玄箱リブート
ここで、玄箱を再起動する。
1
|
|
12.確認
玄箱起動時に、Windows 側の「netcat」(コマンドプロンプト)で以下のような出力がされれば、大成功!
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
|
「U-Boot」化の作業は以上です。
もしも、このようにならなければ、「U-Boot」化失敗です。 玄箱はゴミになってしまったことになります。 ※でも、ハードハックできれば再起可能のようですが。。。(よくわかりませんが、超超玄人でないとできないと思います)
あと、「U-Boot」化したら、玄箱は今までどおりの方法でのEMモードでの起動はできません。
以下のようにするようです。
EM モードでの起動したい場合
Boot 待ちの時に s でストップ
- run writeng
run emboot
EMモードの状態から通常モードで起動したい場合
Boot 待ちの時に s でストップ
- run writeok
- boot
※fl3(mtdblock2) に echo -n “NGNG” しただけで再起動すると HDD にある 「/boot/vmlinux.UBoot」 で起動してしまうのでカーネルパニックになるようです。
玄箱HGが「U-Boot」化できたので、次回はいよいよ「Debian 5.0(lenny)」化ですかね~。
では、また。