18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only 28c2ecf20Sopenharmony_ciconfig CRAMFS 38c2ecf20Sopenharmony_ci tristate "Compressed ROM file system support (cramfs)" 48c2ecf20Sopenharmony_ci select ZLIB_INFLATE 58c2ecf20Sopenharmony_ci help 68c2ecf20Sopenharmony_ci Saying Y here includes support for CramFs (Compressed ROM File 78c2ecf20Sopenharmony_ci System). CramFs is designed to be a simple, small, and compressed 88c2ecf20Sopenharmony_ci file system for ROM based embedded systems. CramFs is read-only, 98c2ecf20Sopenharmony_ci limited to 256MB file systems (with 16MB files), and doesn't support 108c2ecf20Sopenharmony_ci 16/32 bits uid/gid, hard links and timestamps. 118c2ecf20Sopenharmony_ci 128c2ecf20Sopenharmony_ci See <file:Documentation/filesystems/cramfs.rst> and 138c2ecf20Sopenharmony_ci <file:fs/cramfs/README> for further information. 148c2ecf20Sopenharmony_ci 158c2ecf20Sopenharmony_ci To compile this as a module, choose M here: the module will be called 168c2ecf20Sopenharmony_ci cramfs. Note that the root file system (the one containing the 178c2ecf20Sopenharmony_ci directory /) cannot be compiled as a module. 188c2ecf20Sopenharmony_ci 198c2ecf20Sopenharmony_ci This filesystem is limited in capabilities and performance on 208c2ecf20Sopenharmony_ci purpose to remain small and low on RAM usage. It is most suitable 218c2ecf20Sopenharmony_ci for small embedded systems. If you have ample RAM to spare, you may 228c2ecf20Sopenharmony_ci consider a more capable compressed filesystem such as SquashFS 238c2ecf20Sopenharmony_ci which is much better in terms of performance and features. 248c2ecf20Sopenharmony_ci 258c2ecf20Sopenharmony_ci If unsure, say N. 268c2ecf20Sopenharmony_ci 278c2ecf20Sopenharmony_ciconfig CRAMFS_BLOCKDEV 288c2ecf20Sopenharmony_ci bool "Support CramFs image over a regular block device" if EXPERT 298c2ecf20Sopenharmony_ci depends on CRAMFS && BLOCK 308c2ecf20Sopenharmony_ci default y 318c2ecf20Sopenharmony_ci help 328c2ecf20Sopenharmony_ci This option allows the CramFs driver to load data from a regular 338c2ecf20Sopenharmony_ci block device such a disk partition or a ramdisk. 348c2ecf20Sopenharmony_ci 358c2ecf20Sopenharmony_ciconfig CRAMFS_MTD 368c2ecf20Sopenharmony_ci bool "Support CramFs image directly mapped in physical memory" 378c2ecf20Sopenharmony_ci depends on CRAMFS && CRAMFS <= MTD 388c2ecf20Sopenharmony_ci default y if !CRAMFS_BLOCKDEV 398c2ecf20Sopenharmony_ci help 408c2ecf20Sopenharmony_ci This option allows the CramFs driver to load data directly from 418c2ecf20Sopenharmony_ci a linear adressed memory range (usually non volatile memory 428c2ecf20Sopenharmony_ci like flash) instead of going through the block device layer. 438c2ecf20Sopenharmony_ci This saves some memory since no intermediate buffering is 448c2ecf20Sopenharmony_ci necessary. 458c2ecf20Sopenharmony_ci 468c2ecf20Sopenharmony_ci The location of the CramFs image is determined by a 478c2ecf20Sopenharmony_ci MTD device capable of direct memory mapping e.g. from 488c2ecf20Sopenharmony_ci the 'physmap' map driver or a resulting MTD partition. 498c2ecf20Sopenharmony_ci For example, this would mount the cramfs image stored in 508c2ecf20Sopenharmony_ci the MTD partition named "xip_fs" on the /mnt mountpoint: 518c2ecf20Sopenharmony_ci 528c2ecf20Sopenharmony_ci mount -t cramfs mtd:xip_fs /mnt 538c2ecf20Sopenharmony_ci 548c2ecf20Sopenharmony_ci If unsure, say N. 55