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