2016年3月26日土曜日

Buffalo HD-HLAN を玄箱(初代)化

バッファローの NAS の HD-HLAN (HD-H160LAN) を玄人志向の玄箱(初代)にしてしまいました。


概要

HD-HLAN と玄箱(初代)のハードウェアは同一の構成のようです。違いはフラッシュメモリのデータと当初搭載されていたファームウェアの違いだけのようです。そこで玄箱(初代)のフラッシュメモリの全内容をそっくりそのまま HD-HLAN へ移植して、玄箱(初代)化を図りました。

このフラッシュメモリを入れ替える理由としては、単純に技術的な好奇心と、emboot 時のパスワードが不明であることの解消でした。emboot での作業は、緊急時の最後の手段となる部分なので、是非とも emboot で作業できるようにしておきたかったのです。

なお以前 u-boot の設定を間違えて u-boot のコンソールへアクセス出来なくなったときに、フラッシュメモリ全体の読み出しと書き込みを行っています。技術的には、その時の結果を応用したものとなります。
玄人志向 玄箱(Debian Jessie)で u-boot の設定を間違える
http://near-unix.blogspot.jp/2015/12/debian-jessie-u-boot.html

入れ替え作業

下記の通り入れ替え作業を行いました。

HD-HLAN と 玄箱(初代)のフラッシュメモリの認識を確認しました。
# ls /dev | grep mtd
mtd0
mtd0ro
mtdblock0

HD-HLAN と 玄箱(初代)のフラッシュメモリのデータを cat コマンドで吸い出しました。HD-HLAN のデータは、万が一に備えてバックアップを取得しておく意味があります。そして cmp コマンドで フラッシュメモリの中に残っているデータ吸いだしたデータ が一致することを確認しました。何も表示されないまま終了したときには、データが一致しています。
 -- HD-HLAN  --
# cat /dev/mtdblock0 > hd-hlan_flash.bin
# cmp hd-hlan_flash.bin /dev/mtdblock0

 -- 玄箱(初代) --
# cat /dev/mtdblock0 > kuro-basic_flash.bin
# cmp kuro-basic_flash.bin /dev/mtdblock0

私の場合、玄箱(初代)から作業パソコンを経由して HD-HLAN へフラッシュメモリのデータ(kuro-basic_flash.bin)をコピーしました。

玄箱(初代)のフラッシュメモリのデータを HD-HLAN のフラッシュメモリへ cat コマンドで書き込みました。なおフラッシュメモリへデータを書き込むために2〜3分の時間を要しました。そして書き込みデータとフラッシュメモリのデータが一致することを cmp コマンドで確認しました。
 -- HD-HLAN --
# cat kuro-basic_flash.bin > /dev/mtdblock0
# cmp kuro-basic_flash.bin /dev/mtdblock0

以上でフラッシュメモリへの書き込みを終了しました。そして再起動させて動作確認を行いました。

動作確認

まず最初に emboot を行ってみました。u-boot のコンソール上から NG ステータスへ変更した後、emboot を行いました。玄箱(初代)の emboot のログインプロンプトの "KURO-BOX-EM" を確認しました。そしてパスワード:kuro で無事ログインできました。
=> run writeng
Un-Protected 1 sectors
Flash erase: first = 55 @ 0xfff70000
             last  = 55 @ 0xfff70000
Flash erase: Done
Erased 1 sectors
Copy to Flash... done
=> run emboot
## Booting image at ffc00000 ...

******* Product Information *******
----------------------------------
Product Name: KURO-BOX(IETSUNA)
         VER: 1.02
        Date: 2004/4/16 11:46:41
----------------------------------
    ↓
    ↓
Kroutoshikou KURO-BOX (IETSUNA)
kernel 2.4.17-kuro-box on ppc


KURO-BOX-EM login: root
Password:

emboot が確認出来た後、flboot も確認しました。こちらは u-boot のコンソール上から OK ステータスへ変更した後、flboot を行いました。
=> run writeok
Un-Protected 1 sectors

Flash erase: first = 55 @ 0xfff70000
             last  = 55 @ 0xfff70000
Flash erase: Done
Erased 1 sectors
Copy to Flash... done

=> run flboot
## Booting image at ffc00000 ...

******* Product Information *******
----------------------------------
Product Name: KURO-BOX(IETSUNA)
         VER: 1.02
        Date: 2004/4/16 11:46:41
----------------------------------
Verifying checksum... OK
Uncompressing kernel...done.
Loading Ramdisk at 0x03C67000, end 0x03E6E647 ... OK
Booting the kernel
    ↓
    ↓
Kroutoshikou KURO-BOX (IETSUNA)
kernel 2.4.17_kuro-box on ppc

KURO-BOX login: root
Password:

最後に通常起動(電源を投入してそのまま放置)させて Debian Jessie が起動することを確認しました。

以上で、HD-HLAN の玄箱(初代)化が終わりました。これでハードディスクに障害が発生したときの対応が多少は楽になるかもしれません。・・・しないだろうな(笑)。 なぜならハードディスクに障害があった場合には、結局蓋を開いてハードディスクを取り出して作業することになりそうですから・・・。

0 件のコメント:

コメントを投稿