cramfs
This article needs additional citations for verification. (August 2016) |
| Introduced | 2001 with Linux |
|---|---|
| Limits | |
| Max volume size | <272 MiB |
| Max file size | 16 MiB |
| Other | |
| Supported operating systems | Linux, BSD |
| Website | sourceforge |
The compressed ROM/RAM file system (or cramfs) is a free (GPL'ed) read-only Linux file system designed for simplicity and space-efficiency. It is mainly used in embedded and small-footprint systems.
Unlike a compressed image of a conventional file system, a cramfs image can be used as it is, i.e. without first decompressing it. For this reason, some Linux distributions use cramfs for initrd images (Debian 3.1 in particular) and installation images (SUSE Linux in particular), where there are constraints on memory and image size.
In 2013, Linux maintainers indicated that cramfs was made obsolete by squashfs,[1] but the file system got rehabilitated in 2017 for use in low-memory devices where using squashfs may not be viable.[2]
Design
[edit | edit source]Files on cramfs file systems are zlib-compressed one page at a time to allow random read access. The metadata is not compressed, but is expressed in a terse representation that is more space-efficient than conventional file systems.
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 file system size is a little under 272MB. (The last file on the file system must begin before the 256MB block, but can extend past it.)
See also
[edit | edit source]Lua error in mw.title.lua at line 392: bad argument #2 to 'title.new' (unrecognized namespace name 'Portal').
- List of file systems
- Comparison of file systems
- SquashFS, a read-only compressed file system
- Util-linux contains the cramfs utilities
References
[edit | edit source]External links
[edit | edit source]- Official website
- Lua error in Module:Citation/CS1/Configuration at line 2172: attempt to index field '?' (a nil value).