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 \0
0110000 (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 |