Skip to main content

Crate lamfold_cramfs

Crate lamfold_cramfs 

Source
Expand description

§lamfold-cramfs — the cramfs frontend of the lamfold read-only media stack.

Clean-room reader for cramfs (the Compressed ROM filesystem): the small, per-page-zlib read-only format long used for embedded firmware and rescue images. Like squashfs it compresses, but with a far terser structure — a 12-byte bitfield inode and a flat per-page block index — which is exactly why it stays useful where squashfs is too heavy.

Reads over a lamfold lamfold::BlockSource and implements lamfold::FoldFrontend; every compressed page is inflated through the shared substrate codec (Codec::Zlib), so this frontend carries only the on-disk structure.

Scope: little-endian classic cramfs — superblock, the 12-byte bitfield inode, directory records, the per-page zlib block index (with hole/zero-fill), and symlinks. Big-endian images and the EXT_BLOCK_POINTERS extension are rejected cleanly (Unsupported) rather than mis-read.

Derived only from the public format (kernel Documentation/filesystems/cramfs.rst + cramfs_fs.h); the GPL-2 fs/cramfs driver is fenced off. The upstream cramfs crate is unbuildable, so there was nothing permissive to reuse.

Structs§

Cramfs
A mounted cramfs volume.