xref: /openbmc/linux/fs/jffs2/Kconfig (revision 31db6e9e)
131db6e9eSAlexey Dobriyanconfig JFFS2_FS
231db6e9eSAlexey Dobriyan	tristate "Journalling Flash File System v2 (JFFS2) support"
331db6e9eSAlexey Dobriyan	select CRC32
431db6e9eSAlexey Dobriyan	depends on MTD
531db6e9eSAlexey Dobriyan	help
631db6e9eSAlexey Dobriyan	  JFFS2 is the second generation of the Journalling Flash File System
731db6e9eSAlexey Dobriyan	  for use on diskless embedded devices. It provides improved wear
831db6e9eSAlexey Dobriyan	  levelling, compression and support for hard links. You cannot use
931db6e9eSAlexey Dobriyan	  this on normal block devices, only on 'MTD' devices.
1031db6e9eSAlexey Dobriyan
1131db6e9eSAlexey Dobriyan	  Further information on the design and implementation of JFFS2 is
1231db6e9eSAlexey Dobriyan	  available at <http://sources.redhat.com/jffs2/>.
1331db6e9eSAlexey Dobriyan
1431db6e9eSAlexey Dobriyanconfig JFFS2_FS_DEBUG
1531db6e9eSAlexey Dobriyan	int "JFFS2 debugging verbosity (0 = quiet, 2 = noisy)"
1631db6e9eSAlexey Dobriyan	depends on JFFS2_FS
1731db6e9eSAlexey Dobriyan	default "0"
1831db6e9eSAlexey Dobriyan	help
1931db6e9eSAlexey Dobriyan	  This controls the amount of debugging messages produced by the JFFS2
2031db6e9eSAlexey Dobriyan	  code. Set it to zero for use in production systems. For evaluation,
2131db6e9eSAlexey Dobriyan	  testing and debugging, it's advisable to set it to one. This will
2231db6e9eSAlexey Dobriyan	  enable a few assertions and will print debugging messages at the
2331db6e9eSAlexey Dobriyan	  KERN_DEBUG loglevel, where they won't normally be visible. Level 2
2431db6e9eSAlexey Dobriyan	  is unlikely to be useful - it enables extra debugging in certain
2531db6e9eSAlexey Dobriyan	  areas which at one point needed debugging, but when the bugs were
2631db6e9eSAlexey Dobriyan	  located and fixed, the detailed messages were relegated to level 2.
2731db6e9eSAlexey Dobriyan
2831db6e9eSAlexey Dobriyan	  If reporting bugs, please try to have available a full dump of the
2931db6e9eSAlexey Dobriyan	  messages at debug level 1 while the misbehaviour was occurring.
3031db6e9eSAlexey Dobriyan
3131db6e9eSAlexey Dobriyanconfig JFFS2_FS_WRITEBUFFER
3231db6e9eSAlexey Dobriyan	bool "JFFS2 write-buffering support"
3331db6e9eSAlexey Dobriyan	depends on JFFS2_FS
3431db6e9eSAlexey Dobriyan	default y
3531db6e9eSAlexey Dobriyan	help
3631db6e9eSAlexey Dobriyan	  This enables the write-buffering support in JFFS2.
3731db6e9eSAlexey Dobriyan
3831db6e9eSAlexey Dobriyan	  This functionality is required to support JFFS2 on the following
3931db6e9eSAlexey Dobriyan	  types of flash devices:
4031db6e9eSAlexey Dobriyan	    - NAND flash
4131db6e9eSAlexey Dobriyan	    - NOR flash with transparent ECC
4231db6e9eSAlexey Dobriyan	    - DataFlash
4331db6e9eSAlexey Dobriyan
4431db6e9eSAlexey Dobriyanconfig JFFS2_FS_WBUF_VERIFY
4531db6e9eSAlexey Dobriyan	bool "Verify JFFS2 write-buffer reads"
4631db6e9eSAlexey Dobriyan	depends on JFFS2_FS_WRITEBUFFER
4731db6e9eSAlexey Dobriyan	default n
4831db6e9eSAlexey Dobriyan	help
4931db6e9eSAlexey Dobriyan	  This causes JFFS2 to read back every page written through the
5031db6e9eSAlexey Dobriyan	  write-buffer, and check for errors.
5131db6e9eSAlexey Dobriyan
5231db6e9eSAlexey Dobriyanconfig JFFS2_SUMMARY
5331db6e9eSAlexey Dobriyan	bool "JFFS2 summary support (EXPERIMENTAL)"
5431db6e9eSAlexey Dobriyan	depends on JFFS2_FS && EXPERIMENTAL
5531db6e9eSAlexey Dobriyan	default n
5631db6e9eSAlexey Dobriyan	help
5731db6e9eSAlexey Dobriyan	  This feature makes it possible to use summary information
5831db6e9eSAlexey Dobriyan	  for faster filesystem mount.
5931db6e9eSAlexey Dobriyan
6031db6e9eSAlexey Dobriyan	  The summary information can be inserted into a filesystem image
6131db6e9eSAlexey Dobriyan	  by the utility 'sumtool'.
6231db6e9eSAlexey Dobriyan
6331db6e9eSAlexey Dobriyan	  If unsure, say 'N'.
6431db6e9eSAlexey Dobriyan
6531db6e9eSAlexey Dobriyanconfig JFFS2_FS_XATTR
6631db6e9eSAlexey Dobriyan	bool "JFFS2 XATTR support (EXPERIMENTAL)"
6731db6e9eSAlexey Dobriyan	depends on JFFS2_FS && EXPERIMENTAL
6831db6e9eSAlexey Dobriyan	default n
6931db6e9eSAlexey Dobriyan	help
7031db6e9eSAlexey Dobriyan	  Extended attributes are name:value pairs associated with inodes by
7131db6e9eSAlexey Dobriyan	  the kernel or by users (see the attr(5) manual page, or visit
7231db6e9eSAlexey Dobriyan	  <http://acl.bestbits.at/> for details).
7331db6e9eSAlexey Dobriyan
7431db6e9eSAlexey Dobriyan	  If unsure, say N.
7531db6e9eSAlexey Dobriyan
7631db6e9eSAlexey Dobriyanconfig JFFS2_FS_POSIX_ACL
7731db6e9eSAlexey Dobriyan	bool "JFFS2 POSIX Access Control Lists"
7831db6e9eSAlexey Dobriyan	depends on JFFS2_FS_XATTR
7931db6e9eSAlexey Dobriyan	default y
8031db6e9eSAlexey Dobriyan	select FS_POSIX_ACL
8131db6e9eSAlexey Dobriyan	help
8231db6e9eSAlexey Dobriyan	  Posix Access Control Lists (ACLs) support permissions for users and
8331db6e9eSAlexey Dobriyan	  groups beyond the owner/group/world scheme.
8431db6e9eSAlexey Dobriyan
8531db6e9eSAlexey Dobriyan	  To learn more about Access Control Lists, visit the Posix ACLs for
8631db6e9eSAlexey Dobriyan	  Linux website <http://acl.bestbits.at/>.
8731db6e9eSAlexey Dobriyan
8831db6e9eSAlexey Dobriyan	  If you don't know what Access Control Lists are, say N
8931db6e9eSAlexey Dobriyan
9031db6e9eSAlexey Dobriyanconfig JFFS2_FS_SECURITY
9131db6e9eSAlexey Dobriyan	bool "JFFS2 Security Labels"
9231db6e9eSAlexey Dobriyan	depends on JFFS2_FS_XATTR
9331db6e9eSAlexey Dobriyan	default y
9431db6e9eSAlexey Dobriyan	help
9531db6e9eSAlexey Dobriyan	  Security labels support alternative access control models
9631db6e9eSAlexey Dobriyan	  implemented by security modules like SELinux.  This option
9731db6e9eSAlexey Dobriyan	  enables an extended attribute handler for file security
9831db6e9eSAlexey Dobriyan	  labels in the jffs2 filesystem.
9931db6e9eSAlexey Dobriyan
10031db6e9eSAlexey Dobriyan	  If you are not using a security module that requires using
10131db6e9eSAlexey Dobriyan	  extended attributes for file security labels, say N.
10231db6e9eSAlexey Dobriyan
10331db6e9eSAlexey Dobriyanconfig JFFS2_COMPRESSION_OPTIONS
10431db6e9eSAlexey Dobriyan	bool "Advanced compression options for JFFS2"
10531db6e9eSAlexey Dobriyan	depends on JFFS2_FS
10631db6e9eSAlexey Dobriyan	default n
10731db6e9eSAlexey Dobriyan	help
10831db6e9eSAlexey Dobriyan	  Enabling this option allows you to explicitly choose which
10931db6e9eSAlexey Dobriyan	  compression modules, if any, are enabled in JFFS2. Removing
11031db6e9eSAlexey Dobriyan	  compressors can mean you cannot read existing file systems,
11131db6e9eSAlexey Dobriyan	  and enabling experimental compressors can mean that you
11231db6e9eSAlexey Dobriyan	  write a file system which cannot be read by a standard kernel.
11331db6e9eSAlexey Dobriyan
11431db6e9eSAlexey Dobriyan	  If unsure, you should _definitely_ say 'N'.
11531db6e9eSAlexey Dobriyan
11631db6e9eSAlexey Dobriyanconfig JFFS2_ZLIB
11731db6e9eSAlexey Dobriyan	bool "JFFS2 ZLIB compression support" if JFFS2_COMPRESSION_OPTIONS
11831db6e9eSAlexey Dobriyan	select ZLIB_INFLATE
11931db6e9eSAlexey Dobriyan	select ZLIB_DEFLATE
12031db6e9eSAlexey Dobriyan	depends on JFFS2_FS
12131db6e9eSAlexey Dobriyan	default y
12231db6e9eSAlexey Dobriyan	help
12331db6e9eSAlexey Dobriyan	  Zlib is designed to be a free, general-purpose, legally unencumbered,
12431db6e9eSAlexey Dobriyan	  lossless data-compression library for use on virtually any computer
12531db6e9eSAlexey Dobriyan	  hardware and operating system. See <http://www.gzip.org/zlib/> for
12631db6e9eSAlexey Dobriyan	  further information.
12731db6e9eSAlexey Dobriyan
12831db6e9eSAlexey Dobriyan	  Say 'Y' if unsure.
12931db6e9eSAlexey Dobriyan
13031db6e9eSAlexey Dobriyanconfig JFFS2_LZO
13131db6e9eSAlexey Dobriyan	bool "JFFS2 LZO compression support" if JFFS2_COMPRESSION_OPTIONS
13231db6e9eSAlexey Dobriyan	select LZO_COMPRESS
13331db6e9eSAlexey Dobriyan	select LZO_DECOMPRESS
13431db6e9eSAlexey Dobriyan	depends on JFFS2_FS
13531db6e9eSAlexey Dobriyan	default n
13631db6e9eSAlexey Dobriyan	help
13731db6e9eSAlexey Dobriyan	  minilzo-based compression. Generally works better than Zlib.
13831db6e9eSAlexey Dobriyan
13931db6e9eSAlexey Dobriyan	  This feature was added in July, 2007. Say 'N' if you need
14031db6e9eSAlexey Dobriyan	  compatibility with older bootloaders or kernels.
14131db6e9eSAlexey Dobriyan
14231db6e9eSAlexey Dobriyanconfig JFFS2_RTIME
14331db6e9eSAlexey Dobriyan	bool "JFFS2 RTIME compression support" if JFFS2_COMPRESSION_OPTIONS
14431db6e9eSAlexey Dobriyan	depends on JFFS2_FS
14531db6e9eSAlexey Dobriyan	default y
14631db6e9eSAlexey Dobriyan	help
14731db6e9eSAlexey Dobriyan	  Rtime does manage to recompress already-compressed data. Say 'Y' if unsure.
14831db6e9eSAlexey Dobriyan
14931db6e9eSAlexey Dobriyanconfig JFFS2_RUBIN
15031db6e9eSAlexey Dobriyan	bool "JFFS2 RUBIN compression support" if JFFS2_COMPRESSION_OPTIONS
15131db6e9eSAlexey Dobriyan	depends on JFFS2_FS
15231db6e9eSAlexey Dobriyan	default n
15331db6e9eSAlexey Dobriyan	help
15431db6e9eSAlexey Dobriyan	  RUBINMIPS and DYNRUBIN compressors. Say 'N' if unsure.
15531db6e9eSAlexey Dobriyan
15631db6e9eSAlexey Dobriyanchoice
15731db6e9eSAlexey Dobriyan	prompt "JFFS2 default compression mode" if JFFS2_COMPRESSION_OPTIONS
15831db6e9eSAlexey Dobriyan	default JFFS2_CMODE_PRIORITY
15931db6e9eSAlexey Dobriyan	depends on JFFS2_FS
16031db6e9eSAlexey Dobriyan	help
16131db6e9eSAlexey Dobriyan	  You can set here the default compression mode of JFFS2 from
16231db6e9eSAlexey Dobriyan	  the available compression modes. Don't touch if unsure.
16331db6e9eSAlexey Dobriyan
16431db6e9eSAlexey Dobriyanconfig JFFS2_CMODE_NONE
16531db6e9eSAlexey Dobriyan	bool "no compression"
16631db6e9eSAlexey Dobriyan	help
16731db6e9eSAlexey Dobriyan	  Uses no compression.
16831db6e9eSAlexey Dobriyan
16931db6e9eSAlexey Dobriyanconfig JFFS2_CMODE_PRIORITY
17031db6e9eSAlexey Dobriyan	bool "priority"
17131db6e9eSAlexey Dobriyan	help
17231db6e9eSAlexey Dobriyan	  Tries the compressors in a predefined order and chooses the first
17331db6e9eSAlexey Dobriyan	  successful one.
17431db6e9eSAlexey Dobriyan
17531db6e9eSAlexey Dobriyanconfig JFFS2_CMODE_SIZE
17631db6e9eSAlexey Dobriyan	bool "size (EXPERIMENTAL)"
17731db6e9eSAlexey Dobriyan	help
17831db6e9eSAlexey Dobriyan	  Tries all compressors and chooses the one which has the smallest
17931db6e9eSAlexey Dobriyan	  result.
18031db6e9eSAlexey Dobriyan
18131db6e9eSAlexey Dobriyanconfig JFFS2_CMODE_FAVOURLZO
18231db6e9eSAlexey Dobriyan	bool "Favour LZO"
18331db6e9eSAlexey Dobriyan	help
18431db6e9eSAlexey Dobriyan	  Tries all compressors and chooses the one which has the smallest
18531db6e9eSAlexey Dobriyan	  result but gives some preference to LZO (which has faster
18631db6e9eSAlexey Dobriyan	  decompression) at the expense of size.
18731db6e9eSAlexey Dobriyan
18831db6e9eSAlexey Dobriyanendchoice
189