xref: /linux/fs/squashfs/Kconfig (revision 7a43ae523744c01b6187013e781f44c2281c579c)
122635ec9SAlexey Dobriyanconfig SQUASHFS
222635ec9SAlexey Dobriyan	tristate "SquashFS 4.0 - Squashed file system support"
322635ec9SAlexey Dobriyan	depends on BLOCK
422635ec9SAlexey Dobriyan	select ZLIB_INFLATE
522635ec9SAlexey Dobriyan	help
622635ec9SAlexey Dobriyan	  Saying Y here includes support for SquashFS 4.0 (a Compressed
722635ec9SAlexey Dobriyan	  Read-Only File System).  Squashfs is a highly compressed read-only
84b676d2dSPhillip Lougher	  filesystem for Linux.  It uses zlib/lzo compression to compress both
922635ec9SAlexey Dobriyan	  files, inodes and directories.  Inodes in the system are very small
1022635ec9SAlexey Dobriyan	  and all blocks are packed to minimise data overhead. Block sizes
1122635ec9SAlexey Dobriyan	  greater than 4K are supported up to a maximum of 1 Mbytes (default
1222635ec9SAlexey Dobriyan	  block size 128K).  SquashFS 4.0 supports 64 bit filesystems and files
1322635ec9SAlexey Dobriyan	  (larger than 4GB), full uid/gid information, hard links and
1422635ec9SAlexey Dobriyan	  timestamps.
1522635ec9SAlexey Dobriyan
1622635ec9SAlexey Dobriyan	  Squashfs is intended for general read-only filesystem use, for
1722635ec9SAlexey Dobriyan	  archival use (i.e. in cases where a .tar.gz file may be used), and in
1822635ec9SAlexey Dobriyan	  embedded systems where low overhead is needed.  Further information
1922635ec9SAlexey Dobriyan	  and tools are available from http://squashfs.sourceforge.net.
2022635ec9SAlexey Dobriyan
2122635ec9SAlexey Dobriyan	  If you want to compile this as a module ( = code which can be
2222635ec9SAlexey Dobriyan	  inserted in and removed from the running kernel whenever you want),
2322635ec9SAlexey Dobriyan	  say M here and read <file:Documentation/modules.txt>.  The module
2422635ec9SAlexey Dobriyan	  will be called squashfs.  Note that the root file system (the one
2522635ec9SAlexey Dobriyan	  containing the directory /) cannot be compiled as a module.
2622635ec9SAlexey Dobriyan
2722635ec9SAlexey Dobriyan	  If unsure, say N.
2822635ec9SAlexey Dobriyan
29637d5c9aSPhillip Lougherconfig SQUASHFS_XATTR
3001e5b4e4SPhillip Lougher	bool "Squashfs XATTR support"
3101e5b4e4SPhillip Lougher	depends on SQUASHFS
3201e5b4e4SPhillip Lougher	default n
3301e5b4e4SPhillip Lougher	help
3401e5b4e4SPhillip Lougher	  Saying Y here includes support for extended attributes (xattrs).
3501e5b4e4SPhillip Lougher	  Xattrs are name:value pairs associated with inodes by
3601e5b4e4SPhillip Lougher	  the kernel or by users (see the attr(5) manual page).
3701e5b4e4SPhillip Lougher
3801e5b4e4SPhillip Lougher	  If unsure, say N.
3901e5b4e4SPhillip Lougher
4079cb8cedSChan Jeongconfig SQUASHFS_LZO
4179cb8cedSChan Jeong	bool "Include support for LZO compressed file systems"
4279cb8cedSChan Jeong	depends on SQUASHFS
434b676d2dSPhillip Lougher	default n
4479cb8cedSChan Jeong	select LZO_DECOMPRESS
454b676d2dSPhillip Lougher	help
464b676d2dSPhillip Lougher	  Saying Y here includes support for reading Squashfs file systems
474b676d2dSPhillip Lougher	  compressed with LZO compresssion.  LZO compression is mainly
484b676d2dSPhillip Lougher	  aimed at embedded systems with slower CPUs where the overheads
494b676d2dSPhillip Lougher	  of zlib are too high.
504b676d2dSPhillip Lougher
514b676d2dSPhillip Lougher	  LZO is not the standard compression used in Squashfs and so most
524b676d2dSPhillip Lougher	  file systems will be readable without selecting this option.
534b676d2dSPhillip Lougher
544b676d2dSPhillip Lougher	  If unsure, say N.
5579cb8cedSChan Jeong
56*7a43ae52SPhillip Lougherconfig SQUASHFS_XZ
57*7a43ae52SPhillip Lougher	bool "Include support for XZ compressed file systems"
58*7a43ae52SPhillip Lougher	depends on SQUASHFS
59*7a43ae52SPhillip Lougher	select XZ_DEC
60*7a43ae52SPhillip Lougher	help
61*7a43ae52SPhillip Lougher	  Saying Y here includes support for reading Squashfs file systems
62*7a43ae52SPhillip Lougher	  compressed with XZ compresssion.  XZ gives better compression than
63*7a43ae52SPhillip Lougher	  the default zlib compression, at the expense of greater CPU and
64*7a43ae52SPhillip Lougher	  memory overhead.
65*7a43ae52SPhillip Lougher
66*7a43ae52SPhillip Lougher	  XZ is not the standard compression used in Squashfs and so most
67*7a43ae52SPhillip Lougher	  file systems will be readable without selecting this option.
68*7a43ae52SPhillip Lougher
69*7a43ae52SPhillip Lougher	  If unsure, say N.
70*7a43ae52SPhillip Lougher
7122635ec9SAlexey Dobriyanconfig SQUASHFS_EMBEDDED
7222635ec9SAlexey Dobriyan	bool "Additional option for memory-constrained systems"
7322635ec9SAlexey Dobriyan	depends on SQUASHFS
7422635ec9SAlexey Dobriyan	default n
7522635ec9SAlexey Dobriyan	help
7622635ec9SAlexey Dobriyan	  Saying Y here allows you to specify cache size.
7722635ec9SAlexey Dobriyan
7822635ec9SAlexey Dobriyan	  If unsure, say N.
7922635ec9SAlexey Dobriyan
8022635ec9SAlexey Dobriyanconfig SQUASHFS_FRAGMENT_CACHE_SIZE
8122635ec9SAlexey Dobriyan	int "Number of fragments cached" if SQUASHFS_EMBEDDED
8222635ec9SAlexey Dobriyan	depends on SQUASHFS
8322635ec9SAlexey Dobriyan	default "3"
8422635ec9SAlexey Dobriyan	help
8522635ec9SAlexey Dobriyan	  By default SquashFS caches the last 3 fragments read from
8622635ec9SAlexey Dobriyan	  the filesystem.  Increasing this amount may mean SquashFS
8722635ec9SAlexey Dobriyan	  has to re-read fragments less often from disk, at the expense
8822635ec9SAlexey Dobriyan	  of extra system memory.  Decreasing this amount will mean
8922635ec9SAlexey Dobriyan	  SquashFS uses less memory at the expense of extra reads from disk.
9022635ec9SAlexey Dobriyan
9122635ec9SAlexey Dobriyan	  Note there must be at least one cached fragment.  Anything
9222635ec9SAlexey Dobriyan	  much more than three will probably not make much difference.
93