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