문제

can anybody please tell how the squashfs maps the disk block numbers to file system blocks. Basically i am saying about read_blocklist() in squashfs.

Thanks, Kapil

도움이 되었습니까?

해결책

The squashfs metadata for a regular file looks roughly like this:

===== Header
start_block: Position of the first block in the file
file_size: Size of the file in bytes
...
===== Block list
size0: 32-bit header for the first block
size1
size2
...
=====

The block header contains the compressed size of the block. So we can calculate the position of any given block by adding up start_block and the sizes of all preceding blocks.

Playing around with my pure-ruby squashfs parser might help: https://github.com/vasi/squash.rb

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top