# SPDX-License-Identifier: GPL-2.0-only config CRAMFS tristate "Compressed ROM file system support (cramfs)" select ZLIB_INFLATE help Saying Y here includes support for CramFs (Compressed ROM File System). CramFs is designed to be a simple, small, and compressed file system for ROM based embedded systems. CramFs is read-only, limited to 256MB file systems (with 16MB files), and doesn't support 16/32 bits uid/gid, hard links and timestamps. See <file:Documentation/filesystems/cramfs.rst> and <file:fs/cramfs/README> for further information. To compile this as a module, choose M here: the module will be called cramfs. Note that the root file system (the one containing the directory /) cannot be compiled as a module. This filesystem is limited in capabilities and performance on purpose to remain small and low on RAM usage. It is most suitable for small embedded systems. If you have ample RAM to spare, you may consider a more capable compressed filesystem such as SquashFS which is much better in terms of performance and features. If unsure, say N. config CRAMFS_BLOCKDEV bool "Support CramFs image over a regular block device" if EXPERT depends on CRAMFS && BLOCK default y help This option allows the CramFs driver to load data from a regular block device such a disk partition or a ramdisk. config CRAMFS_MTD bool "Support CramFs image directly mapped in physical memory" depends on CRAMFS && CRAMFS <= MTD default y if !CRAMFS_BLOCKDEV help This option allows the CramFs driver to load data directly from a linear adressed memory range (usually non volatile memory like flash) instead of going through the block device layer. This saves some memory since no intermediate buffering is necessary. The location of the CramFs image is determined by a MTD device capable of direct memory mapping e.g. from the 'physmap' map driver or a resulting MTD partition. For example, this would mount the cramfs image stored in the MTD partition named "xip_fs" on the /mnt mountpoint: mount -t cramfs mtd:xip_fs /mnt If unsure, say N.