Last Update: "2009/06/14 17:53:39 makoto"
firmbin.img
firmbin.img の中身はどうなっているのかなという話:
- TeraStation で遊ぼう - ファームウェアいじり
-
http://www.geocities.jp/trstat/firmhack.html
- ファームウェアのアップデートをする
-
http://www.daily-labo.com/hardware/kuro07.html
firmimgtool
firmimg.bin いじりツール
を使うと、firmware の中を見たり、変更したりすることが可能になります。
ただし、
作業を始めるかどうかは、
BUFFALO さまの「ダウンロードソフトウェア使用許諾」を良く読み、
また GPL とは何なのか、この使用許諾は合法なのかを良く考えてからにした方が良いです。
さて良く考えた末の先です。中は次のようになっています。
firmimg | = | kernel | + | initrd |
| | カーネル | | RAM disk の中身 (gzip 圧縮) |
例えば、次のようにします。
firmimgtool.c をもらって来て cc しておきます。
cc -o firmimgtool firmimgtool.c
これで中の様子を見ると次のように表示されます。
ttypc:makoto@bologna 15:34:27/070513(...kuro-box/firmimgtool)> ./firmimgtool /tmp/t/firmimg.bin
---- firmimg_file information ----
filename : /tmp/t/firmimg.bin
checksum : 00000000
---- firmware information ----
info_ver : 00000001
firmid : 00000004
firmname : HD-HGLAN(IEMITSU)
subver : FLASH 1.2
version : 2.06, build 0000
date : 2005/08/03 09:32:03
firmsize : 002C4CC5
checksum : C3FF6BC6
kernel : offset 0000006C, size 000D0F6B
initrd : offset 000D0FD7, size 001F3CEE
ttypc:makoto@bologna 15:34:29/070513(...kuro-box/firmimgtool)>
また (NetBSD でしたら) vnconfig を使い、次のように
取出した中の initrd.gz を mount して見ます。
124 15:38 ./firmimgtool -c -r initrd /tmp/t/firmimg.bin
128 15:38 mv initrd initrd.gz
129 15:38 gunzip initrd
134 15:39 sudo vnconfig /dev/vnd0c initrd
137 15:39 sudo mkdir /vnd
139 15:39 sudo mount -t ext2fs /dev/vnd0c /vnd
140 15:39 ls /vnd
これで中を見たり変更したり出来るようになります。
|