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