fl2 を od していて気が付いたのだが、 ローダの後にもまだ何か入っているようだ。
0102260 6669 6c65 2065 7272 6f72 0000 0000 0000 f i l e e r r o r \0 \0 \0 \0 \0 \0 0102300 7374 7265 616d 2065 6e64 0000 0000 0000 s t r e a m e n d \0 \0 \0 \0 \0 \0 0102320 0000 0000 0000 0000 0000 0000 0000 0000 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 * 0110000 726f 6f74 3d2f 6465 762f 6864 6131 0000 r o o t = / d e v / h d a 1 \0 \0 0110020 0080 8050 0001 0000 0080 2e5c 0080 2e84 \0 200 200 P \0 001 \0 \0 \0 200 . \ \0 200 . 204 0110040 0080 355c 0000 0000 0080 8060 0001 0000 \0 200 5 \ \0 \0 \0 \0 \0 200 200 ` \0 001 \0 \0 0110060 0080 2ea8 0080 2ed0 0080 375c 0000 0000 \0 200 . 250 \0 200 . 320 \0 200 7 \ \0 \0 \0 \00110000 (0x9000) という切りの良いオフセットから、 カーネルの引数と思われる "root=/dev/hda1" が収められている。
カーネル?ローダのソースを探ることにする。
まず、物理アドレスを計算することから。
FLASH は fl1, fl2, fl3, fl0 の順で連続していて、
fl1 は 0xFFC00000 番地から始まる。
fl1 のサイズは 3145728 なので、fl2 は 0xFFF00000 から開始。
上記 0x9000 を足すと 0xFFF09000。
arch/ppc の下を 0xFFF0 や 0x9000 で grep しても、該当箇所なし。
やっぱり謎。何に使っている?
Documentation/i386/boot.txt には、
0x9000-0x90FF Kernel command lineという記述は見つけたが、i386 だし、、
← | LinkStation/玄箱 をハックしよう | → 設定初期化ボタンを押しながらの電源ON |