0

squashfs がディスク ブロック番号をファイル システム ブロックにマップする方法を誰か教えてください。基本的に私は squashfs の read_blocklist() について言っています。

ありがとう、カピル

4

1 に答える 1

0

通常のファイルの squashfs メタデータは、おおよそ次のようになります。

===== ヘッダー
start_block: ファイル内の最初のブロックの位置
file_size: ファイルのサイズ (バイト単位)
...
===== ブロックリスト
size0: 最初のブロックの 32 ビット ヘッダー
サイズ1
サイズ2
...
=====

ブロック ヘッダーには、ブロックの圧縮サイズが含まれます。したがって、start_block と先行するすべてのブロックのサイズを合計することで、特定のブロックの位置を計算できます。

純粋なルビーの squashfs パーサーをいじってみると役立つかもしれません: https://github.com/vasi/squash.rb

于 2012-05-26T02:32:19.080 に答える