Kconfig 5.5 KB

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