162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only 262306a36Sopenharmony_ciconfig JFFS2_FS 362306a36Sopenharmony_ci tristate "Journalling Flash File System v2 (JFFS2) support" 462306a36Sopenharmony_ci select CRC32 562306a36Sopenharmony_ci depends on MTD 662306a36Sopenharmony_ci help 762306a36Sopenharmony_ci JFFS2 is the second generation of the Journalling Flash File System 862306a36Sopenharmony_ci for use on diskless embedded devices. It provides improved wear 962306a36Sopenharmony_ci levelling, compression and support for hard links. You cannot use 1062306a36Sopenharmony_ci this on normal block devices, only on 'MTD' devices. 1162306a36Sopenharmony_ci 1262306a36Sopenharmony_ci Further information on the design and implementation of JFFS2 is 1362306a36Sopenharmony_ci available at <http://sources.redhat.com/jffs2/>. 1462306a36Sopenharmony_ci 1562306a36Sopenharmony_ciconfig JFFS2_FS_DEBUG 1662306a36Sopenharmony_ci int "JFFS2 debugging verbosity (0 = quiet, 2 = noisy)" 1762306a36Sopenharmony_ci depends on JFFS2_FS 1862306a36Sopenharmony_ci default "0" 1962306a36Sopenharmony_ci help 2062306a36Sopenharmony_ci This controls the amount of debugging messages produced by the JFFS2 2162306a36Sopenharmony_ci code. Set it to zero for use in production systems. For evaluation, 2262306a36Sopenharmony_ci testing and debugging, it's advisable to set it to one. This will 2362306a36Sopenharmony_ci enable a few assertions and will print debugging messages at the 2462306a36Sopenharmony_ci KERN_DEBUG loglevel, where they won't normally be visible. Level 2 2562306a36Sopenharmony_ci is unlikely to be useful - it enables extra debugging in certain 2662306a36Sopenharmony_ci areas which at one point needed debugging, but when the bugs were 2762306a36Sopenharmony_ci located and fixed, the detailed messages were relegated to level 2. 2862306a36Sopenharmony_ci 2962306a36Sopenharmony_ci If reporting bugs, please try to have available a full dump of the 3062306a36Sopenharmony_ci messages at debug level 1 while the misbehaviour was occurring. 3162306a36Sopenharmony_ci 3262306a36Sopenharmony_ciconfig JFFS2_FS_WRITEBUFFER 3362306a36Sopenharmony_ci bool "JFFS2 write-buffering support" 3462306a36Sopenharmony_ci depends on JFFS2_FS 3562306a36Sopenharmony_ci default y 3662306a36Sopenharmony_ci help 3762306a36Sopenharmony_ci This enables the write-buffering support in JFFS2. 3862306a36Sopenharmony_ci 3962306a36Sopenharmony_ci This functionality is required to support JFFS2 on the following 4062306a36Sopenharmony_ci types of flash devices: 4162306a36Sopenharmony_ci - NAND flash 4262306a36Sopenharmony_ci - NOR flash with transparent ECC 4362306a36Sopenharmony_ci - DataFlash 4462306a36Sopenharmony_ci 4562306a36Sopenharmony_ciconfig JFFS2_FS_WBUF_VERIFY 4662306a36Sopenharmony_ci bool "Verify JFFS2 write-buffer reads" 4762306a36Sopenharmony_ci depends on JFFS2_FS_WRITEBUFFER 4862306a36Sopenharmony_ci default n 4962306a36Sopenharmony_ci help 5062306a36Sopenharmony_ci This causes JFFS2 to read back every page written through the 5162306a36Sopenharmony_ci write-buffer, and check for errors. 5262306a36Sopenharmony_ci 5362306a36Sopenharmony_ciconfig JFFS2_SUMMARY 5462306a36Sopenharmony_ci bool "JFFS2 summary support" 5562306a36Sopenharmony_ci depends on JFFS2_FS 5662306a36Sopenharmony_ci default n 5762306a36Sopenharmony_ci help 5862306a36Sopenharmony_ci This feature makes it possible to use summary information 5962306a36Sopenharmony_ci for faster filesystem mount. 6062306a36Sopenharmony_ci 6162306a36Sopenharmony_ci The summary information can be inserted into a filesystem image 6262306a36Sopenharmony_ci by the utility 'sumtool'. 6362306a36Sopenharmony_ci 6462306a36Sopenharmony_ci If unsure, say 'N'. 6562306a36Sopenharmony_ci 6662306a36Sopenharmony_ciconfig JFFS2_FS_XATTR 6762306a36Sopenharmony_ci bool "JFFS2 XATTR support" 6862306a36Sopenharmony_ci depends on JFFS2_FS 6962306a36Sopenharmony_ci default n 7062306a36Sopenharmony_ci help 7162306a36Sopenharmony_ci Extended attributes are name:value pairs associated with inodes by 7262306a36Sopenharmony_ci the kernel or by users (see the attr(5) manual page for details). 7362306a36Sopenharmony_ci 7462306a36Sopenharmony_ci If unsure, say N. 7562306a36Sopenharmony_ci 7662306a36Sopenharmony_ciconfig JFFS2_FS_POSIX_ACL 7762306a36Sopenharmony_ci bool "JFFS2 POSIX Access Control Lists" 7862306a36Sopenharmony_ci depends on JFFS2_FS_XATTR 7962306a36Sopenharmony_ci default y 8062306a36Sopenharmony_ci select FS_POSIX_ACL 8162306a36Sopenharmony_ci help 8262306a36Sopenharmony_ci Posix Access Control Lists (ACLs) support permissions for users and 8362306a36Sopenharmony_ci groups beyond the owner/group/world scheme. 8462306a36Sopenharmony_ci 8562306a36Sopenharmony_ci If you don't know what Access Control Lists are, say N 8662306a36Sopenharmony_ci 8762306a36Sopenharmony_ciconfig JFFS2_FS_SECURITY 8862306a36Sopenharmony_ci bool "JFFS2 Security Labels" 8962306a36Sopenharmony_ci depends on JFFS2_FS_XATTR 9062306a36Sopenharmony_ci default y 9162306a36Sopenharmony_ci help 9262306a36Sopenharmony_ci Security labels support alternative access control models 9362306a36Sopenharmony_ci implemented by security modules like SELinux. This option 9462306a36Sopenharmony_ci enables an extended attribute handler for file security 9562306a36Sopenharmony_ci labels in the jffs2 filesystem. 9662306a36Sopenharmony_ci 9762306a36Sopenharmony_ci If you are not using a security module that requires using 9862306a36Sopenharmony_ci extended attributes for file security labels, say N. 9962306a36Sopenharmony_ci 10062306a36Sopenharmony_ciconfig JFFS2_COMPRESSION_OPTIONS 10162306a36Sopenharmony_ci bool "Advanced compression options for JFFS2" 10262306a36Sopenharmony_ci depends on JFFS2_FS 10362306a36Sopenharmony_ci default n 10462306a36Sopenharmony_ci help 10562306a36Sopenharmony_ci Enabling this option allows you to explicitly choose which 10662306a36Sopenharmony_ci compression modules, if any, are enabled in JFFS2. Removing 10762306a36Sopenharmony_ci compressors can mean you cannot read existing file systems, 10862306a36Sopenharmony_ci and enabling experimental compressors can mean that you 10962306a36Sopenharmony_ci write a file system which cannot be read by a standard kernel. 11062306a36Sopenharmony_ci 11162306a36Sopenharmony_ci If unsure, you should _definitely_ say 'N'. 11262306a36Sopenharmony_ci 11362306a36Sopenharmony_ciconfig JFFS2_ZLIB 11462306a36Sopenharmony_ci bool "JFFS2 ZLIB compression support" if JFFS2_COMPRESSION_OPTIONS 11562306a36Sopenharmony_ci select ZLIB_INFLATE 11662306a36Sopenharmony_ci select ZLIB_DEFLATE 11762306a36Sopenharmony_ci depends on JFFS2_FS 11862306a36Sopenharmony_ci default y 11962306a36Sopenharmony_ci help 12062306a36Sopenharmony_ci Zlib is designed to be a free, general-purpose, legally unencumbered, 12162306a36Sopenharmony_ci lossless data-compression library for use on virtually any computer 12262306a36Sopenharmony_ci hardware and operating system. See <http://www.gzip.org/zlib/> for 12362306a36Sopenharmony_ci further information. 12462306a36Sopenharmony_ci 12562306a36Sopenharmony_ci Say 'Y' if unsure. 12662306a36Sopenharmony_ci 12762306a36Sopenharmony_ciconfig JFFS2_LZO 12862306a36Sopenharmony_ci bool "JFFS2 LZO compression support" if JFFS2_COMPRESSION_OPTIONS 12962306a36Sopenharmony_ci select LZO_COMPRESS 13062306a36Sopenharmony_ci select LZO_DECOMPRESS 13162306a36Sopenharmony_ci depends on JFFS2_FS 13262306a36Sopenharmony_ci default n 13362306a36Sopenharmony_ci help 13462306a36Sopenharmony_ci minilzo-based compression. Generally works better than Zlib. 13562306a36Sopenharmony_ci 13662306a36Sopenharmony_ci This feature was added in July, 2007. Say 'N' if you need 13762306a36Sopenharmony_ci compatibility with older bootloaders or kernels. 13862306a36Sopenharmony_ci 13962306a36Sopenharmony_ciconfig JFFS2_RTIME 14062306a36Sopenharmony_ci bool "JFFS2 RTIME compression support" if JFFS2_COMPRESSION_OPTIONS 14162306a36Sopenharmony_ci depends on JFFS2_FS 14262306a36Sopenharmony_ci default y 14362306a36Sopenharmony_ci help 14462306a36Sopenharmony_ci Rtime does manage to recompress already-compressed data. Say 'Y' if unsure. 14562306a36Sopenharmony_ci 14662306a36Sopenharmony_ciconfig JFFS2_RUBIN 14762306a36Sopenharmony_ci bool "JFFS2 RUBIN compression support" if JFFS2_COMPRESSION_OPTIONS 14862306a36Sopenharmony_ci depends on JFFS2_FS 14962306a36Sopenharmony_ci default n 15062306a36Sopenharmony_ci help 15162306a36Sopenharmony_ci RUBINMIPS and DYNRUBIN compressors. Say 'N' if unsure. 15262306a36Sopenharmony_ci 15362306a36Sopenharmony_cichoice 15462306a36Sopenharmony_ci prompt "JFFS2 default compression mode" if JFFS2_COMPRESSION_OPTIONS 15562306a36Sopenharmony_ci default JFFS2_CMODE_PRIORITY 15662306a36Sopenharmony_ci depends on JFFS2_FS 15762306a36Sopenharmony_ci help 15862306a36Sopenharmony_ci You can set here the default compression mode of JFFS2 from 15962306a36Sopenharmony_ci the available compression modes. Don't touch if unsure. 16062306a36Sopenharmony_ci 16162306a36Sopenharmony_ciconfig JFFS2_CMODE_NONE 16262306a36Sopenharmony_ci bool "no compression" 16362306a36Sopenharmony_ci help 16462306a36Sopenharmony_ci Uses no compression. 16562306a36Sopenharmony_ci 16662306a36Sopenharmony_ciconfig JFFS2_CMODE_PRIORITY 16762306a36Sopenharmony_ci bool "priority" 16862306a36Sopenharmony_ci help 16962306a36Sopenharmony_ci Tries the compressors in a predefined order and chooses the first 17062306a36Sopenharmony_ci successful one. 17162306a36Sopenharmony_ci 17262306a36Sopenharmony_ciconfig JFFS2_CMODE_SIZE 17362306a36Sopenharmony_ci bool "size" 17462306a36Sopenharmony_ci help 17562306a36Sopenharmony_ci Tries all compressors and chooses the one which has the smallest 17662306a36Sopenharmony_ci result. 17762306a36Sopenharmony_ci 17862306a36Sopenharmony_ciconfig JFFS2_CMODE_FAVOURLZO 17962306a36Sopenharmony_ci bool "Favour LZO" 18062306a36Sopenharmony_ci help 18162306a36Sopenharmony_ci Tries all compressors and chooses the one which has the smallest 18262306a36Sopenharmony_ci result but gives some preference to LZO (which has faster 18362306a36Sopenharmony_ci decompression) at the expense of size. 18462306a36Sopenharmony_ci 18562306a36Sopenharmony_ciendchoice 186