1*4882a593Smuzhiyun# SPDX-License-Identifier: GPL-2.0-only 2*4882a593Smuzhiyunconfig CRAMFS 3*4882a593Smuzhiyun tristate "Compressed ROM file system support (cramfs)" 4*4882a593Smuzhiyun select ZLIB_INFLATE 5*4882a593Smuzhiyun help 6*4882a593Smuzhiyun Saying Y here includes support for CramFs (Compressed ROM File 7*4882a593Smuzhiyun System). CramFs is designed to be a simple, small, and compressed 8*4882a593Smuzhiyun file system for ROM based embedded systems. CramFs is read-only, 9*4882a593Smuzhiyun limited to 256MB file systems (with 16MB files), and doesn't support 10*4882a593Smuzhiyun 16/32 bits uid/gid, hard links and timestamps. 11*4882a593Smuzhiyun 12*4882a593Smuzhiyun See <file:Documentation/filesystems/cramfs.rst> and 13*4882a593Smuzhiyun <file:fs/cramfs/README> for further information. 14*4882a593Smuzhiyun 15*4882a593Smuzhiyun To compile this as a module, choose M here: the module will be called 16*4882a593Smuzhiyun cramfs. Note that the root file system (the one containing the 17*4882a593Smuzhiyun directory /) cannot be compiled as a module. 18*4882a593Smuzhiyun 19*4882a593Smuzhiyun This filesystem is limited in capabilities and performance on 20*4882a593Smuzhiyun purpose to remain small and low on RAM usage. It is most suitable 21*4882a593Smuzhiyun for small embedded systems. If you have ample RAM to spare, you may 22*4882a593Smuzhiyun consider a more capable compressed filesystem such as SquashFS 23*4882a593Smuzhiyun which is much better in terms of performance and features. 24*4882a593Smuzhiyun 25*4882a593Smuzhiyun If unsure, say N. 26*4882a593Smuzhiyun 27*4882a593Smuzhiyunconfig CRAMFS_BLOCKDEV 28*4882a593Smuzhiyun bool "Support CramFs image over a regular block device" if EXPERT 29*4882a593Smuzhiyun depends on CRAMFS && BLOCK 30*4882a593Smuzhiyun default y 31*4882a593Smuzhiyun help 32*4882a593Smuzhiyun This option allows the CramFs driver to load data from a regular 33*4882a593Smuzhiyun block device such a disk partition or a ramdisk. 34*4882a593Smuzhiyun 35*4882a593Smuzhiyunconfig CRAMFS_MTD 36*4882a593Smuzhiyun bool "Support CramFs image directly mapped in physical memory" 37*4882a593Smuzhiyun depends on CRAMFS && CRAMFS <= MTD 38*4882a593Smuzhiyun default y if !CRAMFS_BLOCKDEV 39*4882a593Smuzhiyun help 40*4882a593Smuzhiyun This option allows the CramFs driver to load data directly from 41*4882a593Smuzhiyun a linear adressed memory range (usually non volatile memory 42*4882a593Smuzhiyun like flash) instead of going through the block device layer. 43*4882a593Smuzhiyun This saves some memory since no intermediate buffering is 44*4882a593Smuzhiyun necessary. 45*4882a593Smuzhiyun 46*4882a593Smuzhiyun The location of the CramFs image is determined by a 47*4882a593Smuzhiyun MTD device capable of direct memory mapping e.g. from 48*4882a593Smuzhiyun the 'physmap' map driver or a resulting MTD partition. 49*4882a593Smuzhiyun For example, this would mount the cramfs image stored in 50*4882a593Smuzhiyun the MTD partition named "xip_fs" on the /mnt mountpoint: 51*4882a593Smuzhiyun 52*4882a593Smuzhiyun mount -t cramfs mtd:xip_fs /mnt 53*4882a593Smuzhiyun 54*4882a593Smuzhiyun If unsure, say N. 55