hlan131.exe を実行すると、
2003/09/09 17:27 3,006,967 FIRMIMG.BIN 2003/12/08 18:34 106,496 HD-HLAN FWUpdate.exe 2003/12/10 11:12 33,012,806 IMAGE.DAT 2003/12/08 09:32 13 linkstation_version.txt 2003/12/08 19:09 6,832 README.TXTが復元される
なお、ファームウェア アップデータ Ver.1.30 は、
2003/09/09 17:27 3,006,967 firmimg.bin 2003/09/11 13:08 106,496 HD-HLAN FWUpdate.exe 2003/09/10 10:56 32,804,895 IMAGE.DAT 2003/09/09 11:07 13 linkstation_version.txt 2003/09/11 16:46 6,053 README.TXTであった。
linkstatinVine# cat /dev/fl1 > /tmp/fl1して作成した /tmp/fl1 と同じであることを予想したが、 サイズからして違う。
linkstatinVine# strings /tmp/fl1 | head HD-HLAN(PLUS) FLASH 2.2 vmlinux iNx( M u* kIRuM ~bqJ lbM u cmoF DpM*と
linkstatinVine# strings FIRMIMG.BIN | head HD-HLAN(PLUS) FLASH 2.2 vmlinux iNx( M u* kIRuM ~bqJ lbM u cmoF DpM*との結果が同じなので、
/tmp/fl1 のサイズの 3145728 は16進で 300000、
つまり、FLASH ROM 全体が cat されただけで、
そのサイズに意味はないのかもしれない。
また、FIRMIMG.BIN のサイズは 3006967 であるが、
/tmp/fl1 の先頭から3006967 バイトを切り出して比較
linkstatinVine# head -c 3006967 /tmp/fl1 > /tmp/f linkstatinVine# cmp /tmp/f FIRMIMG.BINとすると差は出ないので、 単に FIRMIMG.BIN を /dev/fl1 に書くだけなのかも。
linkstatinVine# od -xc FIRMIMG.BIN | lessしていて、気が付いた。
109 バイト目に、gzip ファイルのマジックナンバである 0x1f8b が
あるのにも気が付いた。
119 バイト目からは vmlinux の文字が見えるので、
圧縮された vmlinuz に違いない。
109 バイト目以降を取り出してみる
linkstatinVine# tail -c 3006859 FIRMIMG.BIN > vmlinuz linkstatinVine# file vmlinuz vmlinuz: gzip compressed data, was "vmlinux", from Unix, max compressionついに Flash ROM (に書き込まれるイメージと思われるもの)から カーネルを取り出せた。
ただし、書き込み方の詳細は、相変わらず不明。
書き込み試して起動不能になっても困るし、
Flash ROM だから書くにもそれなりに手順が必要だろうし。
おそらく ap_servd がやってるように
TTTT / UUUU を AVR に送る事によって Flash ROM
書き込めるようになるんだろうけど。
linkstatinVine# unzip IMAGE.DAT Archive: IMAGE.DAT [IMAGE.DAT] tmpimage.tgz password:と zip フォーマットであるようだ。ただしパスワードがかかっている
linkstatinlinux# strings /usr/sbin/ap_servdを実行すると、書いてあった。
linkstatinVine# unzip IMAGE.DAT Archive: IMAGE.DAT [IMAGE.DAT] tmpimage.tgz password: inflating: tmpimage.tgz無事取り出すことができた。
linkstatinlinux# tar ztvf tmpimage.tgzを実行する。予想通り / からのファイルたちそのものが収められていた。
lib/modules 以下は、
drwxr-xr-x root/root 0 2003-09-05 19:53:27 ./lib/modules/ drwxr-xr-x root/root 0 2003-09-05 16:29:26 ./lib/modules/2.4.17_mvl21-sandpoint/ drwxr-xr-x root/root 0 2003-09-05 16:29:25 ./lib/modules/2.4.17_mvl21-sandpoint/kernel/ drwxr-xr-x root/root 0 2003-09-05 16:29:25 ./lib/modules/2.4.17_mvl21-sandpoint/kernel/drivers/ drwxr-xr-x root/root 0 2003-09-05 16:29:25 ./lib/modules/2.4.17_mvl21-sandpoint/kernel/drivers/scsi/ -rw-r--r-- root/root 103442 2003-09-05 16:29:25 ./lib/modules/2.4.17_mvl21-sandpoint/kernel/drivers/scsi/scsi_mod.o -rw-r--r-- root/root 21308 2003-09-05 16:29:25 ./lib/modules/2.4.17_mvl21-sandpoint/kernel/drivers/scsi/sd_mod.o drwxr-xr-x root/root 0 2003-09-05 16:29:25 ./lib/modules/2.4.17_mvl21-sandpoint/kernel/drivers/usb/ -rw-r--r-- root/root 106614 2003-09-05 16:29:25 ./lib/modules/2.4.17_mvl21-sandpoint/kernel/drivers/usb/usbcore.o -rw-r--r-- root/root 29476 2003-09-05 16:29:25 ./lib/modules/2.4.17_mvl21-sandpoint/kernel/drivers/usb/usb-ohci.o -rw-r--r-- root/root 12680 2003-09-05 16:29:25 ./lib/modules/2.4.17_mvl21-sandpoint/kernel/drivers/usb/printer.o drwxr-xr-x root/root 0 2003-09-05 16:29:25 ./lib/modules/2.4.17_mvl21-sandpoint/kernel/drivers/usb/hcd/ -rw-r--r-- root/root 26748 2003-09-05 16:29:25 ./lib/modules/2.4.17_mvl21-sandpoint/kernel/drivers/usb/hcd/ehci-hcd.o drwxr-xr-x root/root 0 2003-09-05 16:29:25 ./lib/modules/2.4.17_mvl21-sandpoint/kernel/drivers/usb/storage/ -rw-r--r-- root/root 35665 2003-09-05 16:29:25 ./lib/modules/2.4.17_mvl21-sandpoint/kernel/drivers/usb/storage/usb-storage.o lrwxrwxrwx root/root 0 2003-11-20 11:59:00 ./lib/modules/2.4.17_mvl21-sandpoint/build -> /home/toda/nas_project/hd-hlan/1.30/kernel_melext3 drwxr-xr-x root/root 0 2003-09-05 16:29:26 ./lib/modules/2.4.17_mvl21-sandpoint/pcmcia/となっていて、1.30 となんら変わりはない。
Link Station Linux のカーネル、カーネルモジュールしか使用していない私にとっては、 このアップデートは必要ないようである。
ところで、あちらこちらに出てくる toda って何だ?
埼玉県戸田市にBUFFALOの事業所は無いようだし、
開発担当の方のお名前か???