2012年7月25日水曜日

kobo内蔵SDカード探訪

koboの内蔵SDカードには3つのパーティションがあるが、よく見てみると先頭のパーティションがSDカードの先頭から始まっていない。そこで、バックアップ用に吸いだしたイメージをさっと眺めてみた。

先頭のブロックはMBR。ブートストラップコードはなし(ゼロパディング)で、パーティションテーブルは

先頭LBA(hex) ブロック数(hex)
4C0080001
84C0180001
104C0229C3FE

と、LBA=1~4BFFhの10MB弱の領域がすっぽり抜けている。 早速ここを覗いて見ると、LBA=1のブロック先頭にASCIIコードっぽいデータ列を発見。 …って、思いっきりシリアルナンバーじゃないか。この値を書くのはやめておく。

調子に乗ってstringsコマンドで文字列を拾ってみると、どうやらここにはU-BootとLinuxカーネルがあるっぽい。 この辺のドキュメントを見ると、MX50系はそもそもSDカードからブート可能みたい。 だから、U-BootとSDカードのドライバを入れたブート用フラッシュとか用意しなくても、いきなりSDカードの中のU-Bootを動かせるのか。

1MBずつsplitして各々圧縮してみたところ、2MB目と3MB目がほとんど縮まらなかった。 この辺りが圧縮カーネルかな? それらしき領域はLBA=1922hのブロックまで続いて、その後はオールゼロのブロックが続く。

このままゼロ埋めで終わりかと思ったら、LBA=3800hあたりからrootfsのパーティションのちょっと前あたりまで、 非常に単調な非圧縮データっぽいものが存在。 単なるゴミかもしれないけど、モノクロビットマップ画像かも? まあ、ダンプの見た目だけじゃ分からん。

0 件のコメント:

コメントを投稿