| # SPDX-License-Identifier: GPL-2.0-only |
| config JFFS2_FS |
| tristate "Journalling Flash File System v2 (JFFS2) support" |
| select CRC32 |
| depends on MTD |
| help |
| JFFS2 is the second generation of the Journalling Flash File System |
| for use on diskless embedded devices. It provides improved wear |
| levelling, compression and support for hard links. You cannot use |
| this on normal block devices, only on 'MTD' devices. |
| |
| Further information on the design and implementation of JFFS2 is |
| available at <http://sources.redhat.com/jffs2/>. |
| |
| config JFFS2_FS_DEBUG |
| int "JFFS2 debugging verbosity (0 = quiet, 2 = noisy)" |
| depends on JFFS2_FS |
| default "0" |
| help |
| This controls the amount of debugging messages produced by the JFFS2 |
| code. Set it to zero for use in production systems. For evaluation, |
| testing and debugging, it's advisable to set it to one. This will |
| enable a few assertions and will print debugging messages at the |
| KERN_DEBUG loglevel, where they won't normally be visible. Level 2 |
| is unlikely to be useful - it enables extra debugging in certain |
| areas which at one point needed debugging, but when the bugs were |
| located and fixed, the detailed messages were relegated to level 2. |
| |
| If reporting bugs, please try to have available a full dump of the |
| messages at debug level 1 while the misbehaviour was occurring. |
| |
| config JFFS2_FS_WRITEBUFFER |
| bool "JFFS2 write-buffering support" |
| depends on JFFS2_FS |
| default y |
| help |
| This enables the write-buffering support in JFFS2. |
| |
| This functionality is required to support JFFS2 on the following |
| types of flash devices: |
| - NAND flash |
| - NOR flash with transparent ECC |
| - DataFlash |
| |
| config JFFS2_FS_WBUF_VERIFY |
| bool "Verify JFFS2 write-buffer reads" |
| depends on JFFS2_FS_WRITEBUFFER |
| default n |
| help |
| This causes JFFS2 to read back every page written through the |
| write-buffer, and check for errors. |
| |
| config JFFS2_SUMMARY |
| bool "JFFS2 summary support" |
| depends on JFFS2_FS |
| default n |
| help |
| This feature makes it possible to use summary information |
| for faster filesystem mount. |
| |
| The summary information can be inserted into a filesystem image |
| by the utility 'sumtool'. |
| |
| If unsure, say 'N'. |
| |
| config JFFS2_FS_XATTR |
| bool "JFFS2 XATTR support" |
| depends on JFFS2_FS |
| default n |
| help |
| Extended attributes are name:value pairs associated with inodes by |
| the kernel or by users (see the attr(5) manual page for details). |
| |
| If unsure, say N. |
| |
| config JFFS2_FS_POSIX_ACL |
| bool "JFFS2 POSIX Access Control Lists" |
| depends on JFFS2_FS_XATTR |
| default y |
| select FS_POSIX_ACL |
| help |
| Posix Access Control Lists (ACLs) support permissions for users and |
| groups beyond the owner/group/world scheme. |
| |
| If you don't know what Access Control Lists are, say N |
| |
| config JFFS2_FS_SECURITY |
| bool "JFFS2 Security Labels" |
| depends on JFFS2_FS_XATTR |
| default y |
| help |
| Security labels support alternative access control models |
| implemented by security modules like SELinux. This option |
| enables an extended attribute handler for file security |
| labels in the jffs2 filesystem. |
| |
| If you are not using a security module that requires using |
| extended attributes for file security labels, say N. |
| |
| config JFFS2_COMPRESSION_OPTIONS |
| bool "Advanced compression options for JFFS2" |
| depends on JFFS2_FS |
| default n |
| help |
| Enabling this option allows you to explicitly choose which |
| compression modules, if any, are enabled in JFFS2. Removing |
| compressors can mean you cannot read existing file systems, |
| and enabling experimental compressors can mean that you |
| write a file system which cannot be read by a standard kernel. |
| |
| If unsure, you should _definitely_ say 'N'. |
| |
| config JFFS2_ZLIB |
| bool "JFFS2 ZLIB compression support" if JFFS2_COMPRESSION_OPTIONS |
| select ZLIB_INFLATE |
| select ZLIB_DEFLATE |
| depends on JFFS2_FS |
| default y |
| help |
| Zlib is designed to be a free, general-purpose, legally unencumbered, |
| lossless data-compression library for use on virtually any computer |
| hardware and operating system. See <http://www.gzip.org/zlib/> for |
| further information. |
| |
| Say 'Y' if unsure. |
| |
| config JFFS2_LZO |
| bool "JFFS2 LZO compression support" if JFFS2_COMPRESSION_OPTIONS |
| select LZO_COMPRESS |
| select LZO_DECOMPRESS |
| depends on JFFS2_FS |
| default n |
| help |
| minilzo-based compression. Generally works better than Zlib. |
| |
| This feature was added in July, 2007. Say 'N' if you need |
| compatibility with older bootloaders or kernels. |
| |
| config JFFS2_RTIME |
| bool "JFFS2 RTIME compression support" if JFFS2_COMPRESSION_OPTIONS |
| depends on JFFS2_FS |
| default y |
| help |
| Rtime does manage to recompress already-compressed data. Say 'Y' if unsure. |
| |
| config JFFS2_RUBIN |
| bool "JFFS2 RUBIN compression support" if JFFS2_COMPRESSION_OPTIONS |
| depends on JFFS2_FS |
| default n |
| help |
| RUBINMIPS and DYNRUBIN compressors. Say 'N' if unsure. |
| |
| choice |
| prompt "JFFS2 default compression mode" |
| default JFFS2_CMODE_PRIORITY |
| depends on JFFS2_COMPRESSION_OPTIONS |
| depends on JFFS2_FS |
| help |
| You can set here the default compression mode of JFFS2 from |
| the available compression modes. Don't touch if unsure. |
| |
| config JFFS2_CMODE_NONE |
| bool "no compression" |
| help |
| Uses no compression. |
| |
| config JFFS2_CMODE_PRIORITY |
| bool "priority" |
| help |
| Tries the compressors in a predefined order and chooses the first |
| successful one. |
| |
| config JFFS2_CMODE_SIZE |
| bool "size" |
| help |
| Tries all compressors and chooses the one which has the smallest |
| result. |
| |
| config JFFS2_CMODE_FAVOURLZO |
| bool "Favour LZO" |
| help |
| Tries all compressors and chooses the one which has the smallest |
| result but gives some preference to LZO (which has faster |
| decompression) at the expense of size. |
| |
| endchoice |