xref: /linux/fs/cramfs/Kconfig (revision a8c6db00bff2bdb466d80b7ec7ff25d327071f9b)
12a22783bSAlexey Dobriyanconfig CRAMFS
28d59598cSNicolas Pitre	tristate "Compressed ROM file system support (cramfs)"
32a22783bSAlexey Dobriyan	select ZLIB_INFLATE
42a22783bSAlexey Dobriyan	help
52a22783bSAlexey Dobriyan	  Saying Y here includes support for CramFs (Compressed ROM File
62a22783bSAlexey Dobriyan	  System).  CramFs is designed to be a simple, small, and compressed
72a22783bSAlexey Dobriyan	  file system for ROM based embedded systems.  CramFs is read-only,
82a22783bSAlexey Dobriyan	  limited to 256MB file systems (with 16MB files), and doesn't support
92a22783bSAlexey Dobriyan	  16/32 bits uid/gid, hard links and timestamps.
102a22783bSAlexey Dobriyan
112a22783bSAlexey Dobriyan	  See <file:Documentation/filesystems/cramfs.txt> and
122a22783bSAlexey Dobriyan	  <file:fs/cramfs/README> for further information.
132a22783bSAlexey Dobriyan
142a22783bSAlexey Dobriyan	  To compile this as a module, choose M here: the module will be called
152a22783bSAlexey Dobriyan	  cramfs.  Note that the root file system (the one containing the
162a22783bSAlexey Dobriyan	  directory /) cannot be compiled as a module.
172a22783bSAlexey Dobriyan
188d59598cSNicolas Pitre	  This filesystem is limited in capabilities and performance on
198d59598cSNicolas Pitre	  purpose to remain small and low on RAM usage. It is most suitable
208d59598cSNicolas Pitre	  for small embedded systems. If you have ample RAM to spare, you may
218d59598cSNicolas Pitre	  consider a more capable compressed filesystem such as SquashFS
228d59598cSNicolas Pitre	  which is much better in terms of performance and features.
2354886a71SMichael Opdenacker
242a22783bSAlexey Dobriyan	  If unsure, say N.
2599c18ce5SNicolas Pitre
2699c18ce5SNicolas Pitreconfig CRAMFS_BLOCKDEV
2799c18ce5SNicolas Pitre	bool "Support CramFs image over a regular block device" if EXPERT
2899c18ce5SNicolas Pitre	depends on CRAMFS && BLOCK
2999c18ce5SNicolas Pitre	default y
3099c18ce5SNicolas Pitre	help
3199c18ce5SNicolas Pitre	  This option allows the CramFs driver to load data from a regular
3299c18ce5SNicolas Pitre	  block device such a disk partition or a ramdisk.
3399c18ce5SNicolas Pitre
3499c18ce5SNicolas Pitreconfig CRAMFS_MTD
3599c18ce5SNicolas Pitre	bool "Support CramFs image directly mapped in physical memory"
36*a8c6db00SNicolas Pitre	depends on CRAMFS && CRAMFS <= MTD
3799c18ce5SNicolas Pitre	default y if !CRAMFS_BLOCKDEV
3899c18ce5SNicolas Pitre	help
3999c18ce5SNicolas Pitre	  This option allows the CramFs driver to load data directly from
4099c18ce5SNicolas Pitre	  a linear adressed memory range (usually non volatile memory
4199c18ce5SNicolas Pitre	  like flash) instead of going through the block device layer.
4299c18ce5SNicolas Pitre	  This saves some memory since no intermediate buffering is
4399c18ce5SNicolas Pitre	  necessary.
4499c18ce5SNicolas Pitre
4599c18ce5SNicolas Pitre	  The location of the CramFs image is determined by a
4699c18ce5SNicolas Pitre	  MTD device capable of direct memory mapping e.g. from
4799c18ce5SNicolas Pitre	  the 'physmap' map driver or a resulting MTD partition.
4899c18ce5SNicolas Pitre	  For example, this would mount the cramfs image stored in
4999c18ce5SNicolas Pitre	  the MTD partition named "xip_fs" on the /mnt mountpoint:
5099c18ce5SNicolas Pitre
5199c18ce5SNicolas Pitre	  mount -t cramfs mtd:xip_fs /mnt
5299c18ce5SNicolas Pitre
5399c18ce5SNicolas Pitre	  If unsure, say N.
54