0001 # SPDX-License-Identifier: GPL-2.0-only
0002 config JFFS2_FS
0003 tristate "Journalling Flash File System v2 (JFFS2) support"
0004 select CRC32
0005 depends on MTD
0006 help
0007 JFFS2 is the second generation of the Journalling Flash File System
0008 for use on diskless embedded devices. It provides improved wear
0009 levelling, compression and support for hard links. You cannot use
0010 this on normal block devices, only on 'MTD' devices.
0011
0012 Further information on the design and implementation of JFFS2 is
0013 available at <http://sources.redhat.com/jffs2/>.
0014
0015 config JFFS2_FS_DEBUG
0016 int "JFFS2 debugging verbosity (0 = quiet, 2 = noisy)"
0017 depends on JFFS2_FS
0018 default "0"
0019 help
0020 This controls the amount of debugging messages produced by the JFFS2
0021 code. Set it to zero for use in production systems. For evaluation,
0022 testing and debugging, it's advisable to set it to one. This will
0023 enable a few assertions and will print debugging messages at the
0024 KERN_DEBUG loglevel, where they won't normally be visible. Level 2
0025 is unlikely to be useful - it enables extra debugging in certain
0026 areas which at one point needed debugging, but when the bugs were
0027 located and fixed, the detailed messages were relegated to level 2.
0028
0029 If reporting bugs, please try to have available a full dump of the
0030 messages at debug level 1 while the misbehaviour was occurring.
0031
0032 config JFFS2_FS_WRITEBUFFER
0033 bool "JFFS2 write-buffering support"
0034 depends on JFFS2_FS
0035 default y
0036 help
0037 This enables the write-buffering support in JFFS2.
0038
0039 This functionality is required to support JFFS2 on the following
0040 types of flash devices:
0041 - NAND flash
0042 - NOR flash with transparent ECC
0043 - DataFlash
0044
0045 config JFFS2_FS_WBUF_VERIFY
0046 bool "Verify JFFS2 write-buffer reads"
0047 depends on JFFS2_FS_WRITEBUFFER
0048 default n
0049 help
0050 This causes JFFS2 to read back every page written through the
0051 write-buffer, and check for errors.
0052
0053 config JFFS2_SUMMARY
0054 bool "JFFS2 summary support"
0055 depends on JFFS2_FS
0056 default n
0057 help
0058 This feature makes it possible to use summary information
0059 for faster filesystem mount.
0060
0061 The summary information can be inserted into a filesystem image
0062 by the utility 'sumtool'.
0063
0064 If unsure, say 'N'.
0065
0066 config JFFS2_FS_XATTR
0067 bool "JFFS2 XATTR support"
0068 depends on JFFS2_FS
0069 default n
0070 help
0071 Extended attributes are name:value pairs associated with inodes by
0072 the kernel or by users (see the attr(5) manual page for details).
0073
0074 If unsure, say N.
0075
0076 config JFFS2_FS_POSIX_ACL
0077 bool "JFFS2 POSIX Access Control Lists"
0078 depends on JFFS2_FS_XATTR
0079 default y
0080 select FS_POSIX_ACL
0081 help
0082 Posix Access Control Lists (ACLs) support permissions for users and
0083 groups beyond the owner/group/world scheme.
0084
0085 If you don't know what Access Control Lists are, say N
0086
0087 config JFFS2_FS_SECURITY
0088 bool "JFFS2 Security Labels"
0089 depends on JFFS2_FS_XATTR
0090 default y
0091 help
0092 Security labels support alternative access control models
0093 implemented by security modules like SELinux. This option
0094 enables an extended attribute handler for file security
0095 labels in the jffs2 filesystem.
0096
0097 If you are not using a security module that requires using
0098 extended attributes for file security labels, say N.
0099
0100 config JFFS2_COMPRESSION_OPTIONS
0101 bool "Advanced compression options for JFFS2"
0102 depends on JFFS2_FS
0103 default n
0104 help
0105 Enabling this option allows you to explicitly choose which
0106 compression modules, if any, are enabled in JFFS2. Removing
0107 compressors can mean you cannot read existing file systems,
0108 and enabling experimental compressors can mean that you
0109 write a file system which cannot be read by a standard kernel.
0110
0111 If unsure, you should _definitely_ say 'N'.
0112
0113 config JFFS2_ZLIB
0114 bool "JFFS2 ZLIB compression support" if JFFS2_COMPRESSION_OPTIONS
0115 select ZLIB_INFLATE
0116 select ZLIB_DEFLATE
0117 depends on JFFS2_FS
0118 default y
0119 help
0120 Zlib is designed to be a free, general-purpose, legally unencumbered,
0121 lossless data-compression library for use on virtually any computer
0122 hardware and operating system. See <http://www.gzip.org/zlib/> for
0123 further information.
0124
0125 Say 'Y' if unsure.
0126
0127 config JFFS2_LZO
0128 bool "JFFS2 LZO compression support" if JFFS2_COMPRESSION_OPTIONS
0129 select LZO_COMPRESS
0130 select LZO_DECOMPRESS
0131 depends on JFFS2_FS
0132 default n
0133 help
0134 minilzo-based compression. Generally works better than Zlib.
0135
0136 This feature was added in July, 2007. Say 'N' if you need
0137 compatibility with older bootloaders or kernels.
0138
0139 config JFFS2_RTIME
0140 bool "JFFS2 RTIME compression support" if JFFS2_COMPRESSION_OPTIONS
0141 depends on JFFS2_FS
0142 default y
0143 help
0144 Rtime does manage to recompress already-compressed data. Say 'Y' if unsure.
0145
0146 config JFFS2_RUBIN
0147 bool "JFFS2 RUBIN compression support" if JFFS2_COMPRESSION_OPTIONS
0148 depends on JFFS2_FS
0149 default n
0150 help
0151 RUBINMIPS and DYNRUBIN compressors. Say 'N' if unsure.
0152
0153 choice
0154 prompt "JFFS2 default compression mode" if JFFS2_COMPRESSION_OPTIONS
0155 default JFFS2_CMODE_PRIORITY
0156 depends on JFFS2_FS
0157 help
0158 You can set here the default compression mode of JFFS2 from
0159 the available compression modes. Don't touch if unsure.
0160
0161 config JFFS2_CMODE_NONE
0162 bool "no compression"
0163 help
0164 Uses no compression.
0165
0166 config JFFS2_CMODE_PRIORITY
0167 bool "priority"
0168 help
0169 Tries the compressors in a predefined order and chooses the first
0170 successful one.
0171
0172 config JFFS2_CMODE_SIZE
0173 bool "size"
0174 help
0175 Tries all compressors and chooses the one which has the smallest
0176 result.
0177
0178 config JFFS2_CMODE_FAVOURLZO
0179 bool "Favour LZO"
0180 help
0181 Tries all compressors and chooses the one which has the smallest
0182 result but gives some preference to LZO (which has faster
0183 decompression) at the expense of size.
0184
0185 endchoice