fl2 を od していて気が付いた。
0103300 ffff eac0 ffff eb90 ffff ec84 ffff ecfc 377 377 352 300 377 377 353 220 377 377 354 204 377 377 354 374 0103320 ffff edd0 ffff ee38 ffff ef78 ffff f070 377 377 355 320 377 377 356 8 377 377 357 x 377 377 360 p 0103340 ffff f0c0 ffff f0dc 302e 3935 5000 0000 377 377 360 300 377 377 360 334 0 . 9 5 P \0 \0 \0 0103360 6275 6666 6572 2065 7272 6f72 0000 0000 b u f f e r e r r o r \0 \0 \0 \0 0103400 696e 7375 6666 6963 6965 6e74 206d 656d i n s u f f i c i e n t m e m 0103420 6f72 7900 6461 7461 2065 7272 6f72 0000 o r y \0 d a t a e r r o r \0 \0 0103440 7374 7265 616d 2065 7272 6f72 0000 0000 s t r e a m e r r o r \0 \0 \0 \0 0103460 6669 6c65 2065 7272 6f72 0000 0000 0000 f i l e e r r o r \0 \0 \0 \0 \0 \0 0103500 7374 7265 616d 2065 6e64 0000 0000 0000 s t r e a m e n d \0 \0 \0 \0 \0 \0 0103520 0000 0000 0000 0000 0000 0000 0000 0000 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0"stream end" までは bootcode.bin である。
zlib.c には
char *zlib_version = ZLIB_VERSION;と書かれていて、ZLIB_VERSION は include/linux/zlib.h で
#define ZLIB_VERSION "1.0.4P"となっている。
0102140 ffff f190 ffff f1ac 302e 3935 5000 0000 377 377 361 220 377 377 361 254 0 . 9 5 P \0 \0 \0と 0.95P となっている。
やっぱり提供されたソースと /dev/fl2 内のバイナリとは違うもののようだ。
ソースが違えば、Flash ROM 内のバイナリと、
コンパイルして出来上がった bootcode.bin とを
バイナリで比較しても同じになるはずがない。
カーネルをコンパイルするときにも
Flash ROM 内のバイナリと、
コンパイルして出来上がった vmlinux とを
バイナリで比較しても同じであれば手順、コンフィギュレーションが
間違っていないと判断できると思ったが、先行きが思いやられる。
(コンパイラの問題もあるし、、、)
← | LinkStation/玄箱 をハックしよう | → /dev/fl2 の2ブロック目? |