Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Cramfs
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
{{Short description|File system}} {{refimprove|date=August 2016}} {{DISPLAYTITLE:cramfs}} {{ infobox file system | name = Cramfs | developer = | full_name = | variants = | introduction_date = 2001 | introduction_os = Linux | partition_id = | directory_struct = | file_struct = | file_types = | bad_blocks_struct = | bootable = | min_volume_size = | max_volume_size = <272 MiB | max_file_size = 16 MiB | file_size_granularity = | max_files_no = | max_filename_size = | max_dirname_size = | max_directory_depth = | filename_character_set = | dates_recorded = | date_range = | date_resolution = | forks_streams = | attributes = | file_system_permissions = | compression = | encryption = | data_deduplication = | copy_on_write = | OS = [[Linux]], [[BSD]] | website = {{url|http://sourceforge.net/projects/cramfs/}} }} The '''compressed ROM/RAM file system''' (or '''cramfs''') is a [[Free software|free]] ([[GNU General Public License|GPL]]'ed) read-only [[Linux kernel|Linux]] [[file system]] designed for simplicity and space-efficiency. It is mainly used in [[embedded system|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 distribution]]s 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]],<ref>[https://github.com/torvalds/linux/commit/54886a7153353ea2bf21ebfc1b8e030e71d151d7 github/torvalds/linux: cramfs: mark as obsolete]</ref> but the file system got rehabilitated in 2017 for use in low-memory devices where using squashfs may not be viable.<ref>[https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/fs/cramfs?id=8d59598c35dc1071e6c36f86c9a95f26dd08b4e5 cramfs: rehabilitate it]</ref> ==Design== Files on cramfs file systems are [[zlib]]-compressed one [[Page (computer memory)|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 (<code>mkcramfs</code>) 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== {{Portal|Free and open-source software}} * [[List of file systems]] * [[Comparison of file systems]] * [[SquashFS]], a read-only compressed file system * [[Util-linux]] contains the cramfs utilities ==References== {{Reflist}} ==External links== * {{official website|http://sourceforge.net/projects/cramfs/}} * {{cite web|title=Cramfs - cram a filesystem onto a small ROM|url=https://www.kernel.org/doc/Documentation/filesystems/cramfs.txt|website=kernel.org|access-date=July 21, 2017}} {{Filesystem}} [[Category:Free special-purpose file systems]] [[Category:Compression file systems]] [[Category:Read-only file systems supported by the Linux kernel]]
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)
Pages transcluded onto the current version of this page
(
help
)
:
Template:Cite web
(
edit
)
Template:Filesystem
(
edit
)
Template:Infobox file system
(
edit
)
Template:Official website
(
edit
)
Template:Portal
(
edit
)
Template:Refimprove
(
edit
)
Template:Reflist
(
edit
)
Template:Short description
(
edit
)