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