1# SPDX-License-Identifier: GPL-2.0-only 2config JFFS2_FS 3 tristate "Journalling Flash File System v2 (JFFS2) support" 4 select CRC32 5 depends on MTD 6 help 7 JFFS2 is the second generation of the Journalling Flash File System 8 for use on diskless embedded devices. It provides improved wear 9 levelling, compression and support for hard links. You cannot use 10 this on normal block devices, only on 'MTD' devices. 11 12 Further information on the design and implementation of JFFS2 is 13 available at <http://sources.redhat.com/jffs2/>. 14 15config JFFS2_FS_DEBUG 16 int "JFFS2 debugging verbosity (0 = quiet, 2 = noisy)" 17 depends on JFFS2_FS 18 default "0" 19 help 20 This controls the amount of debugging messages produced by the JFFS2 21 code. Set it to zero for use in production systems. For evaluation, 22 testing and debugging, it's advisable to set it to one. This will 23 enable a few assertions and will print debugging messages at the 24 KERN_DEBUG loglevel, where they won't normally be visible. Level 2 25 is unlikely to be useful - it enables extra debugging in certain 26 areas which at one point needed debugging, but when the bugs were 27 located and fixed, the detailed messages were relegated to level 2. 28 29 If reporting bugs, please try to have available a full dump of the 30 messages at debug level 1 while the misbehaviour was occurring. 31 32config JFFS2_FS_WRITEBUFFER 33 bool "JFFS2 write-buffering support" 34 depends on JFFS2_FS 35 default y 36 help 37 This enables the write-buffering support in JFFS2. 38 39 This functionality is required to support JFFS2 on the following 40 types of flash devices: 41 - NAND flash 42 - NOR flash with transparent ECC 43 - DataFlash 44 45config JFFS2_FS_WBUF_VERIFY 46 bool "Verify JFFS2 write-buffer reads" 47 depends on JFFS2_FS_WRITEBUFFER 48 default n 49 help 50 This causes JFFS2 to read back every page written through the 51 write-buffer, and check for errors. 52 53config JFFS2_SUMMARY 54 bool "JFFS2 summary support" 55 depends on JFFS2_FS 56 default n 57 help 58 This feature makes it possible to use summary information 59 for faster filesystem mount. 60 61 The summary information can be inserted into a filesystem image 62 by the utility 'sumtool'. 63 64 If unsure, say 'N'. 65 66config JFFS2_FS_XATTR 67 bool "JFFS2 XATTR support" 68 depends on JFFS2_FS 69 default n 70 help 71 Extended attributes are name:value pairs associated with inodes by 72 the kernel or by users (see the attr(5) manual page for details). 73 74 If unsure, say N. 75 76config JFFS2_FS_POSIX_ACL 77 bool "JFFS2 POSIX Access Control Lists" 78 depends on JFFS2_FS_XATTR 79 default y 80 select FS_POSIX_ACL 81 help 82 Posix Access Control Lists (ACLs) support permissions for users and 83 groups beyond the owner/group/world scheme. 84 85 If you don't know what Access Control Lists are, say N 86 87config JFFS2_FS_SECURITY 88 bool "JFFS2 Security Labels" 89 depends on JFFS2_FS_XATTR 90 default y 91 help 92 Security labels support alternative access control models 93 implemented by security modules like SELinux. This option 94 enables an extended attribute handler for file security 95 labels in the jffs2 filesystem. 96 97 If you are not using a security module that requires using 98 extended attributes for file security labels, say N. 99 100config JFFS2_COMPRESSION_OPTIONS 101 bool "Advanced compression options for JFFS2" 102 depends on JFFS2_FS 103 default n 104 help 105 Enabling this option allows you to explicitly choose which 106 compression modules, if any, are enabled in JFFS2. Removing 107 compressors can mean you cannot read existing file systems, 108 and enabling experimental compressors can mean that you 109 write a file system which cannot be read by a standard kernel. 110 111 If unsure, you should _definitely_ say 'N'. 112 113config JFFS2_ZLIB 114 bool "JFFS2 ZLIB compression support" if JFFS2_COMPRESSION_OPTIONS 115 select ZLIB_INFLATE 116 select ZLIB_DEFLATE 117 depends on JFFS2_FS 118 default y 119 help 120 Zlib is designed to be a free, general-purpose, legally unencumbered, 121 lossless data-compression library for use on virtually any computer 122 hardware and operating system. See <http://www.gzip.org/zlib/> for 123 further information. 124 125 Say 'Y' if unsure. 126 127config JFFS2_LZO 128 bool "JFFS2 LZO compression support" if JFFS2_COMPRESSION_OPTIONS 129 select LZO_COMPRESS 130 select LZO_DECOMPRESS 131 depends on JFFS2_FS 132 default n 133 help 134 minilzo-based compression. Generally works better than Zlib. 135 136 This feature was added in July, 2007. Say 'N' if you need 137 compatibility with older bootloaders or kernels. 138 139config JFFS2_RTIME 140 bool "JFFS2 RTIME compression support" if JFFS2_COMPRESSION_OPTIONS 141 depends on JFFS2_FS 142 default y 143 help 144 Rtime does manage to recompress already-compressed data. Say 'Y' if unsure. 145 146config JFFS2_RUBIN 147 bool "JFFS2 RUBIN compression support" if JFFS2_COMPRESSION_OPTIONS 148 depends on JFFS2_FS 149 default n 150 help 151 RUBINMIPS and DYNRUBIN compressors. Say 'N' if unsure. 152 153choice 154 prompt "JFFS2 default compression mode" 155 default JFFS2_CMODE_PRIORITY 156 depends on JFFS2_COMPRESSION_OPTIONS 157 depends on JFFS2_FS 158 help 159 You can set here the default compression mode of JFFS2 from 160 the available compression modes. Don't touch if unsure. 161 162config JFFS2_CMODE_NONE 163 bool "no compression" 164 help 165 Uses no compression. 166 167config JFFS2_CMODE_PRIORITY 168 bool "priority" 169 help 170 Tries the compressors in a predefined order and chooses the first 171 successful one. 172 173config JFFS2_CMODE_SIZE 174 bool "size" 175 help 176 Tries all compressors and chooses the one which has the smallest 177 result. 178 179config JFFS2_CMODE_FAVOURLZO 180 bool "Favour LZO" 181 help 182 Tries all compressors and chooses the one which has the smallest 183 result but gives some preference to LZO (which has faster 184 decompression) at the expense of size. 185 186endchoice 187