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