кто-нибудь может рассказать, как squashfs сопоставляет номера блоков диска с блоками файловой системы. В основном я говорю о read_blocklist() в squashfs.
Спасибо, Капил.
кто-нибудь может рассказать, как squashfs сопоставляет номера блоков диска с блоками файловой системы. В основном я говорю о read_blocklist() в squashfs.
Спасибо, Капил.
Метаданные squashfs для обычного файла выглядят примерно так:
===== 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 ... =====
Заголовок блока содержит сжатый размер блока. Таким образом, мы можем вычислить позицию любого заданного блока, сложив start_block и размеры всех предшествующих блоков.
Может помочь игра с моим чисто рубиновым парсером squashfs: https://github.com/vasi/squash.rb