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