18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0-only 28c2ecf20Sopenharmony_ciconfig JFFS2_FS 38c2ecf20Sopenharmony_ci tristate "Journalling Flash File System v2 (JFFS2) support" 48c2ecf20Sopenharmony_ci select CRC32 58c2ecf20Sopenharmony_ci depends on MTD 68c2ecf20Sopenharmony_ci help 78c2ecf20Sopenharmony_ci JFFS2 is the second generation of the Journalling Flash File System 88c2ecf20Sopenharmony_ci for use on diskless embedded devices. It provides improved wear 98c2ecf20Sopenharmony_ci levelling, compression and support for hard links. You cannot use 108c2ecf20Sopenharmony_ci this on normal block devices, only on 'MTD' devices. 118c2ecf20Sopenharmony_ci 128c2ecf20Sopenharmony_ci Further information on the design and implementation of JFFS2 is 138c2ecf20Sopenharmony_ci available at <http://sources.redhat.com/jffs2/>. 148c2ecf20Sopenharmony_ci 158c2ecf20Sopenharmony_ciconfig JFFS2_FS_DEBUG 168c2ecf20Sopenharmony_ci int "JFFS2 debugging verbosity (0 = quiet, 2 = noisy)" 178c2ecf20Sopenharmony_ci depends on JFFS2_FS 188c2ecf20Sopenharmony_ci default "0" 198c2ecf20Sopenharmony_ci help 208c2ecf20Sopenharmony_ci This controls the amount of debugging messages produced by the JFFS2 218c2ecf20Sopenharmony_ci code. Set it to zero for use in production systems. For evaluation, 228c2ecf20Sopenharmony_ci testing and debugging, it's advisable to set it to one. This will 238c2ecf20Sopenharmony_ci enable a few assertions and will print debugging messages at the 248c2ecf20Sopenharmony_ci KERN_DEBUG loglevel, where they won't normally be visible. Level 2 258c2ecf20Sopenharmony_ci is unlikely to be useful - it enables extra debugging in certain 268c2ecf20Sopenharmony_ci areas which at one point needed debugging, but when the bugs were 278c2ecf20Sopenharmony_ci located and fixed, the detailed messages were relegated to level 2. 288c2ecf20Sopenharmony_ci 298c2ecf20Sopenharmony_ci If reporting bugs, please try to have available a full dump of the 308c2ecf20Sopenharmony_ci messages at debug level 1 while the misbehaviour was occurring. 318c2ecf20Sopenharmony_ci 328c2ecf20Sopenharmony_ciconfig JFFS2_FS_WRITEBUFFER 338c2ecf20Sopenharmony_ci bool "JFFS2 write-buffering support" 348c2ecf20Sopenharmony_ci depends on JFFS2_FS 358c2ecf20Sopenharmony_ci default y 368c2ecf20Sopenharmony_ci help 378c2ecf20Sopenharmony_ci This enables the write-buffering support in JFFS2. 388c2ecf20Sopenharmony_ci 398c2ecf20Sopenharmony_ci This functionality is required to support JFFS2 on the following 408c2ecf20Sopenharmony_ci types of flash devices: 418c2ecf20Sopenharmony_ci - NAND flash 428c2ecf20Sopenharmony_ci - NOR flash with transparent ECC 438c2ecf20Sopenharmony_ci - DataFlash 448c2ecf20Sopenharmony_ci 458c2ecf20Sopenharmony_ciconfig JFFS2_FS_WBUF_VERIFY 468c2ecf20Sopenharmony_ci bool "Verify JFFS2 write-buffer reads" 478c2ecf20Sopenharmony_ci depends on JFFS2_FS_WRITEBUFFER 488c2ecf20Sopenharmony_ci default n 498c2ecf20Sopenharmony_ci help 508c2ecf20Sopenharmony_ci This causes JFFS2 to read back every page written through the 518c2ecf20Sopenharmony_ci write-buffer, and check for errors. 528c2ecf20Sopenharmony_ci 538c2ecf20Sopenharmony_ciconfig JFFS2_SUMMARY 548c2ecf20Sopenharmony_ci bool "JFFS2 summary support" 558c2ecf20Sopenharmony_ci depends on JFFS2_FS 568c2ecf20Sopenharmony_ci default n 578c2ecf20Sopenharmony_ci help 588c2ecf20Sopenharmony_ci This feature makes it possible to use summary information 598c2ecf20Sopenharmony_ci for faster filesystem mount. 608c2ecf20Sopenharmony_ci 618c2ecf20Sopenharmony_ci The summary information can be inserted into a filesystem image 628c2ecf20Sopenharmony_ci by the utility 'sumtool'. 638c2ecf20Sopenharmony_ci 648c2ecf20Sopenharmony_ci If unsure, say 'N'. 658c2ecf20Sopenharmony_ci 668c2ecf20Sopenharmony_ciconfig JFFS2_FS_XATTR 678c2ecf20Sopenharmony_ci bool "JFFS2 XATTR support" 688c2ecf20Sopenharmony_ci depends on JFFS2_FS 698c2ecf20Sopenharmony_ci default n 708c2ecf20Sopenharmony_ci help 718c2ecf20Sopenharmony_ci Extended attributes are name:value pairs associated with inodes by 728c2ecf20Sopenharmony_ci the kernel or by users (see the attr(5) manual page for details). 738c2ecf20Sopenharmony_ci 748c2ecf20Sopenharmony_ci If unsure, say N. 758c2ecf20Sopenharmony_ci 768c2ecf20Sopenharmony_ciconfig JFFS2_FS_POSIX_ACL 778c2ecf20Sopenharmony_ci bool "JFFS2 POSIX Access Control Lists" 788c2ecf20Sopenharmony_ci depends on JFFS2_FS_XATTR 798c2ecf20Sopenharmony_ci default y 808c2ecf20Sopenharmony_ci select FS_POSIX_ACL 818c2ecf20Sopenharmony_ci help 828c2ecf20Sopenharmony_ci Posix Access Control Lists (ACLs) support permissions for users and 838c2ecf20Sopenharmony_ci groups beyond the owner/group/world scheme. 848c2ecf20Sopenharmony_ci 858c2ecf20Sopenharmony_ci If you don't know what Access Control Lists are, say N 868c2ecf20Sopenharmony_ci 878c2ecf20Sopenharmony_ciconfig JFFS2_FS_SECURITY 888c2ecf20Sopenharmony_ci bool "JFFS2 Security Labels" 898c2ecf20Sopenharmony_ci depends on JFFS2_FS_XATTR 908c2ecf20Sopenharmony_ci default y 918c2ecf20Sopenharmony_ci help 928c2ecf20Sopenharmony_ci Security labels support alternative access control models 938c2ecf20Sopenharmony_ci implemented by security modules like SELinux. This option 948c2ecf20Sopenharmony_ci enables an extended attribute handler for file security 958c2ecf20Sopenharmony_ci labels in the jffs2 filesystem. 968c2ecf20Sopenharmony_ci 978c2ecf20Sopenharmony_ci If you are not using a security module that requires using 988c2ecf20Sopenharmony_ci extended attributes for file security labels, say N. 998c2ecf20Sopenharmony_ci 1008c2ecf20Sopenharmony_ciconfig JFFS2_COMPRESSION_OPTIONS 1018c2ecf20Sopenharmony_ci bool "Advanced compression options for JFFS2" 1028c2ecf20Sopenharmony_ci depends on JFFS2_FS 1038c2ecf20Sopenharmony_ci default n 1048c2ecf20Sopenharmony_ci help 1058c2ecf20Sopenharmony_ci Enabling this option allows you to explicitly choose which 1068c2ecf20Sopenharmony_ci compression modules, if any, are enabled in JFFS2. Removing 1078c2ecf20Sopenharmony_ci compressors can mean you cannot read existing file systems, 1088c2ecf20Sopenharmony_ci and enabling experimental compressors can mean that you 1098c2ecf20Sopenharmony_ci write a file system which cannot be read by a standard kernel. 1108c2ecf20Sopenharmony_ci 1118c2ecf20Sopenharmony_ci If unsure, you should _definitely_ say 'N'. 1128c2ecf20Sopenharmony_ci 1138c2ecf20Sopenharmony_ciconfig JFFS2_ZLIB 1148c2ecf20Sopenharmony_ci bool "JFFS2 ZLIB compression support" if JFFS2_COMPRESSION_OPTIONS 1158c2ecf20Sopenharmony_ci select ZLIB_INFLATE 1168c2ecf20Sopenharmony_ci select ZLIB_DEFLATE 1178c2ecf20Sopenharmony_ci depends on JFFS2_FS 1188c2ecf20Sopenharmony_ci default y 1198c2ecf20Sopenharmony_ci help 1208c2ecf20Sopenharmony_ci Zlib is designed to be a free, general-purpose, legally unencumbered, 1218c2ecf20Sopenharmony_ci lossless data-compression library for use on virtually any computer 1228c2ecf20Sopenharmony_ci hardware and operating system. See <http://www.gzip.org/zlib/> for 1238c2ecf20Sopenharmony_ci further information. 1248c2ecf20Sopenharmony_ci 1258c2ecf20Sopenharmony_ci Say 'Y' if unsure. 1268c2ecf20Sopenharmony_ci 1278c2ecf20Sopenharmony_ciconfig JFFS2_LZO 1288c2ecf20Sopenharmony_ci bool "JFFS2 LZO compression support" if JFFS2_COMPRESSION_OPTIONS 1298c2ecf20Sopenharmony_ci select LZO_COMPRESS 1308c2ecf20Sopenharmony_ci select LZO_DECOMPRESS 1318c2ecf20Sopenharmony_ci depends on JFFS2_FS 1328c2ecf20Sopenharmony_ci default n 1338c2ecf20Sopenharmony_ci help 1348c2ecf20Sopenharmony_ci minilzo-based compression. Generally works better than Zlib. 1358c2ecf20Sopenharmony_ci 1368c2ecf20Sopenharmony_ci This feature was added in July, 2007. Say 'N' if you need 1378c2ecf20Sopenharmony_ci compatibility with older bootloaders or kernels. 1388c2ecf20Sopenharmony_ci 1398c2ecf20Sopenharmony_ciconfig JFFS2_RTIME 1408c2ecf20Sopenharmony_ci bool "JFFS2 RTIME compression support" if JFFS2_COMPRESSION_OPTIONS 1418c2ecf20Sopenharmony_ci depends on JFFS2_FS 1428c2ecf20Sopenharmony_ci default y 1438c2ecf20Sopenharmony_ci help 1448c2ecf20Sopenharmony_ci Rtime does manage to recompress already-compressed data. Say 'Y' if unsure. 1458c2ecf20Sopenharmony_ci 1468c2ecf20Sopenharmony_ciconfig JFFS2_RUBIN 1478c2ecf20Sopenharmony_ci bool "JFFS2 RUBIN compression support" if JFFS2_COMPRESSION_OPTIONS 1488c2ecf20Sopenharmony_ci depends on JFFS2_FS 1498c2ecf20Sopenharmony_ci default n 1508c2ecf20Sopenharmony_ci help 1518c2ecf20Sopenharmony_ci RUBINMIPS and DYNRUBIN compressors. Say 'N' if unsure. 1528c2ecf20Sopenharmony_ci 1538c2ecf20Sopenharmony_cichoice 1548c2ecf20Sopenharmony_ci prompt "JFFS2 default compression mode" if JFFS2_COMPRESSION_OPTIONS 1558c2ecf20Sopenharmony_ci default JFFS2_CMODE_PRIORITY 1568c2ecf20Sopenharmony_ci depends on JFFS2_FS 1578c2ecf20Sopenharmony_ci help 1588c2ecf20Sopenharmony_ci You can set here the default compression mode of JFFS2 from 1598c2ecf20Sopenharmony_ci the available compression modes. Don't touch if unsure. 1608c2ecf20Sopenharmony_ci 1618c2ecf20Sopenharmony_ciconfig JFFS2_CMODE_NONE 1628c2ecf20Sopenharmony_ci bool "no compression" 1638c2ecf20Sopenharmony_ci help 1648c2ecf20Sopenharmony_ci Uses no compression. 1658c2ecf20Sopenharmony_ci 1668c2ecf20Sopenharmony_ciconfig JFFS2_CMODE_PRIORITY 1678c2ecf20Sopenharmony_ci bool "priority" 1688c2ecf20Sopenharmony_ci help 1698c2ecf20Sopenharmony_ci Tries the compressors in a predefined order and chooses the first 1708c2ecf20Sopenharmony_ci successful one. 1718c2ecf20Sopenharmony_ci 1728c2ecf20Sopenharmony_ciconfig JFFS2_CMODE_SIZE 1738c2ecf20Sopenharmony_ci bool "size" 1748c2ecf20Sopenharmony_ci help 1758c2ecf20Sopenharmony_ci Tries all compressors and chooses the one which has the smallest 1768c2ecf20Sopenharmony_ci result. 1778c2ecf20Sopenharmony_ci 1788c2ecf20Sopenharmony_ciconfig JFFS2_CMODE_FAVOURLZO 1798c2ecf20Sopenharmony_ci bool "Favour LZO" 1808c2ecf20Sopenharmony_ci help 1818c2ecf20Sopenharmony_ci Tries all compressors and chooses the one which has the smallest 1828c2ecf20Sopenharmony_ci result but gives some preference to LZO (which has faster 1838c2ecf20Sopenharmony_ci decompression) at the expense of size. 1848c2ecf20Sopenharmony_ci 1858c2ecf20Sopenharmony_ciendchoice 186