Cramfs
From Wikipedia, the free encyclopedia
The compressed ROM filesystem (or cramfs) is a free (GPL'ed) read-only Linux file system designed for simplicity and space-efficiency. It is mainly used in embedded systems and small-footprint systems.
Unlike a compressed image of a conventional filesystem, a cramfs image can be used as it as i.e. without the need to decompress the image first. For this reason, some Linux distributions also use cramfs as a file system for initial ramdisks (initrd) (Debian in particular) and installation images (SuSE in particular), where there are onerous constraints on memory and image size.
[edit] Design
Files on cramfs file systems are zlib-compressed one page at a time to allow random read access. The meta-data is not compressed, but is expressed in a terse representation that is more space-efficient than conventional filesystems.
The file system is intentionally read-only to simplify its design: random write access for compressed files is difficult to implement. cramfs ships with a utility (mkcramfs
) to pack files into new cramfs images.
File sizes are limited to less than 16MB.
Maximum filesystem size is a little over 256MB. (The last file on the filesystem is allowed to extend past 256MB.)
[edit] See also
- List of file systems
- Comparison of file systems
- Squashfs, a read-only compressed file system