162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only 262306a36Sopenharmony_ciconfig CRAMFS 362306a36Sopenharmony_ci tristate "Compressed ROM file system support (cramfs)" 462306a36Sopenharmony_ci select ZLIB_INFLATE 562306a36Sopenharmony_ci help 662306a36Sopenharmony_ci Saying Y here includes support for CramFs (Compressed ROM File 762306a36Sopenharmony_ci System). CramFs is designed to be a simple, small, and compressed 862306a36Sopenharmony_ci file system for ROM based embedded systems. CramFs is read-only, 962306a36Sopenharmony_ci limited to 256MB file systems (with 16MB files), and doesn't support 1062306a36Sopenharmony_ci 16/32 bits uid/gid, hard links and timestamps. 1162306a36Sopenharmony_ci 1262306a36Sopenharmony_ci See <file:Documentation/filesystems/cramfs.rst> and 1362306a36Sopenharmony_ci <file:fs/cramfs/README> for further information. 1462306a36Sopenharmony_ci 1562306a36Sopenharmony_ci To compile this as a module, choose M here: the module will be called 1662306a36Sopenharmony_ci cramfs. Note that the root file system (the one containing the 1762306a36Sopenharmony_ci directory /) cannot be compiled as a module. 1862306a36Sopenharmony_ci 1962306a36Sopenharmony_ci This filesystem is limited in capabilities and performance on 2062306a36Sopenharmony_ci purpose to remain small and low on RAM usage. It is most suitable 2162306a36Sopenharmony_ci for small embedded systems. If you have ample RAM to spare, you may 2262306a36Sopenharmony_ci consider a more capable compressed filesystem such as SquashFS 2362306a36Sopenharmony_ci which is much better in terms of performance and features. 2462306a36Sopenharmony_ci 2562306a36Sopenharmony_ci If unsure, say N. 2662306a36Sopenharmony_ci 2762306a36Sopenharmony_ciconfig CRAMFS_BLOCKDEV 2862306a36Sopenharmony_ci bool "Support CramFs image over a regular block device" if EXPERT 2962306a36Sopenharmony_ci depends on CRAMFS && BLOCK 3062306a36Sopenharmony_ci default y 3162306a36Sopenharmony_ci help 3262306a36Sopenharmony_ci This option allows the CramFs driver to load data from a regular 3362306a36Sopenharmony_ci block device such a disk partition or a ramdisk. 3462306a36Sopenharmony_ci 3562306a36Sopenharmony_ciconfig CRAMFS_MTD 3662306a36Sopenharmony_ci bool "Support CramFs image directly mapped in physical memory" 3762306a36Sopenharmony_ci depends on CRAMFS && CRAMFS <= MTD 3862306a36Sopenharmony_ci default y if !CRAMFS_BLOCKDEV 3962306a36Sopenharmony_ci help 4062306a36Sopenharmony_ci This option allows the CramFs driver to load data directly from 4162306a36Sopenharmony_ci a linear addressed memory range (usually non-volatile memory 4262306a36Sopenharmony_ci like flash) instead of going through the block device layer. 4362306a36Sopenharmony_ci This saves some memory since no intermediate buffering is 4462306a36Sopenharmony_ci necessary. 4562306a36Sopenharmony_ci 4662306a36Sopenharmony_ci The location of the CramFs image is determined by a 4762306a36Sopenharmony_ci MTD device capable of direct memory mapping e.g. from 4862306a36Sopenharmony_ci the 'physmap' map driver or a resulting MTD partition. 4962306a36Sopenharmony_ci For example, this would mount the cramfs image stored in 5062306a36Sopenharmony_ci the MTD partition named "xip_fs" on the /mnt mountpoint: 5162306a36Sopenharmony_ci 5262306a36Sopenharmony_ci mount -t cramfs mtd:xip_fs /mnt 5362306a36Sopenharmony_ci 5462306a36Sopenharmony_ci If unsure, say N. 55