玄箱HGにU-Boot導入
2008年7月10日(Thursday) 12:20am 玄箱玄箱HGのブートローダーをU-Bootというものに入れ替えた。
U-Bootは/dev/hda1の/bootディレクトリにあるvmlinux.UBootという名前のkernelファイルを読みに行くプログラム。
(玄箱の通常のブートローダーも同じ方式でブートするものと思い込んでいたが、実は一度FlashROM内のLinux Kernelをブートしているらしい)
無理に導入する必要もないものだが、いざというときには対話ブートで原因追究できるので便利ではある。
U-Bootのインストール
インストール手順じたいはhttp://www.genbako.com/u-boot_loader/How_to_write.txtの説明どおり非常に単純。
オリジナルカーネルで起動します。
機種を確認しましょう。間違えると再起不能です。(JTAG対応可)
玄箱 u-boot-hd.flash.bin
玄箱HG u-boot-hg.flash.binwgetでu-bootをダウンロードします。
md5sumの確認をします。書き込みます。
/boot# cat u-boot-hg.flash.bin >/dev/fl2リブートします。
/boot# reboot
必要なファイルもhttp://www.genbako.com/u-boot_loader/に用意されている。
要するにデバイスファイルにバイナリを書き込むだけだが、ブートローダなので失敗すると終わる。
ハードウェアHackすれば直せるらしいが、そこまで行くと玄人志向ではなく純玄人の領域になってしまう。
今回はレスキュー用の「EMモード」で実施したが、適切なデバイスファイル名を指定すればEMモードでなくても書き込めるようだ。
U-Boot対応Kernelのインストール
http://www.genbako.com/uImage/にkernelファイルがあるので機種別に1つ選択して、/dev/hda1の/bootディレクトリでtarで解凍する(だけ)。
kernelモジュールはhttp://www.genbako.com/にある同バージョンのものを利用すれば良いようだ(/lib/modulesディレクトリでtarで解凍)。
準備ができたら、
# echo -n 'OKOK' > /dev/fl3
などで、EMモードを抜ける設定にしておく(重要)。
これを忘れるとブート途中で止まり、コンセントを抜いて停止するしかなくなる(致命的に壊れる可能性は低いが面倒)。
参考:EM モードにする/戻す(LinkStation/玄箱 Tips)
U-Boot画面へのネットワーク接続
U-Boot導入後にうまく起動できなかった場合、Linuxカーネル起動前のU-Boot画面にネットワーク接続して設定を見直す必要がある。
Windowsパソコンからhttp://www.genbako.com/u-boot_loader/nc111nt.zipを使用することで接続できる。
まず、玄箱とパソコンを物理的にLAN接続できるように接続して、パソコン側のIPアドレスを198.168.11.149に設定しておく。
コマンドプロンプトからzipを解凍したフォルダに移動して、以下のコマンドを実行してnc.exeを起動する(http://www.genbako.com/u-boot_loader/readme.txtの末尾に書いてある)。
nc -v -v -n -u -s 192.168.11.149 -p 6666 192.168.11.150 6666
これで192.168.11.150をウォッチする状態になるので、玄箱を起動する。
設定が正しい場合は放っておけば/dev/hda1のカーネルで通常通りブートする。
このnc接続以外にもhttp://www.genbako.com/u-boot_loader/select_mode.txtで紹介されている電源ボタンによる切り替えも可能だ。
分かりにくいトラブルとして、通常のカーネルを読み込むところまで行って無応答になるパターンがあるが、その場合は非EMモードへの切り替えを忘れているパターンが考えられる。
U-boot メニューから EM モードでの起動(うぇぶ道らく)の手順でEMモードを切り替えられる。
感想
nc接続が面倒なので、U-Bootのメニューからオプション指定する気になれないのだが、いちおうU-Bootをインストールすればネットワークブートなどの多彩なブート手段を利用できるようになる。
U-Bootのオプションについてはuloaderとu-bootにヘルプコマンドの出力が掲載されている。
2台同時USB充電「モバイルクルーザーツイン」
ロウアーミドルの衝撃
Javaデザインパターンハンドブック
インポッシブル・シンキング 最新脳科学が教える固定観念を打ち砕く技法
ほぼ日刊イトイ新聞の本

2008年7月12日(Saturday) 12:20pm
玄箱DebianをLennyにアップグレード…
玄箱にDebianインストールするための手順はわりと知られているが、EtchからLennyにアップグレードする手順は今のところあまり知られていない。
まず、U-BootをEtchの環境で事前にインストー….