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