SL-A300のカーネルイメージ

足stantさんとこに59414d41さんが切り出しツール置いてると書いてたので、早速ソースを見てみる。all.nb0の60000〜15FFFFがzImage(カーネル)なのか。
ふと思い出したようにSL-A300の本体システムアップデートに含まれるupdater.proを見てみると「;ZIMAGE,BIN,0x0060000,1024」とか書いてある。先頭の「;」はコメントで、次がファイル名の主部と拡張子、そして開始オフセット、最後はKB単位での大きさか。
こうしてupdater.proからall.nb0(恐らくROM領域まるごと)の中身を予測すると以下のような感じ。16384KB(16MB)あるはずなんだけど、all.nb0は16256KBと128KB少ない。

不明       000000〜01FFFF 128KB
DIAG.NB0   020000〜03FFFF 128KB
BLOB.NB0   040000〜05FFFF 128KB
ZIMAGE.BIN 060000〜15FFFF 1024KB(カーネルイメージ 1MB)
INITRD.BIN 160000〜F7FFFF 14464KB(ルートファイルシステム 14MB強)
PARAM.BIN  F80000〜FFFFFF 512KB(all.nb0には先頭384KBしか含まれていない)

まあ、何にしても59414d41さんがやってるようにddコマンドでall.nb0から好きな部分を切り出せば、下記のように自由に取り出せることになる。

bash-2.05# dd if=all.nb0 of=nazo.bin bs=65536 count=2
bash-2.05# dd if=all.nb0 of=diag.nb0 bs=65536 skip=2 count=2
bash-2.05# dd if=all.nb0 of=blob.nb0 bs=65536 skip=4 count=2
bash-2.05# dd if=all.nb0 of=zimage.bin bs=65536 skip=6 count=16
bash-2.05# dd if=all.nb0 of=initrd.bin bs=65536 skip=22 count=226
bash-2.05# dd if=all.nb0 of=param.bin bs=65536 skip=248 count=6