xref: /OK3568_Linux_fs/kernel/fs/cramfs/Kconfig (revision 4882a59341e53eb6f0b4789bf948001014eff981)
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