MKSQUASHFS
Section: create and append squashfs filesystems (1)
Updated: 2020-05-12
Page Index
NAME
mksquashfs - tool to create and append to squashfs filesystems
SYNOPSIS
mksquashfs SOURCE [
SOURCE2 ...]
DESTINATION [
OPTIONS]
DESCRIPTION
Squashfs is a highly compressed read-only filesystem for Linux. It uses zlib compression to compress both files, inodes and directories. Inodes in the system are very small and all blocks are packed to minimize data overhead. Block sizes greater than 4K are supported up to a maximum of 64K.
Squashfs is intended for general read-only filesystem use, for archival use (i.e. in cases where a .tar.gz file may be used), and in constrained block device/memory systems (e.g. embedded systems) where low overhead is needed.
OPTIONS
Filesystem build options
- -comp COMPRESSION
-
select COMPRESSION compression. Compressors available: gzip (default), lzma (no kernel support), lzo, lz4 and xz.
- -b BLOCK_SIZE
-
set data block to BLOCK_SIZE. Default 131072 bytes. Optionally K or M can be used as a suffix to specify kilobytes or megabytes, respectively.
- -no-exports
-
don't make the filesystem exportable via NFS.
- -no-sparse
-
don't detect sparse files.
- -no-xattrs
-
don't store extended attributes.
- -xattrs
-
store extended attributes (default).
- -noI
-
do not compress inode table.
- -noD
-
do not compress data blocks.
- -noF
-
do not compress fragment blocks.
- -noX
-
do not compress extended attributes.
- -no-fragments
-
do not use fragments.
- -always-use-fragments
-
use fragment blocks for files larger than block size.
- -no-duplicates
-
do not perform duplicate checking.
- -all-root
-
make all files owned by root.
- -force-uid uid
-
set all file uids to uid.
- -force-gid gid
-
set all file gids to gid.
- -nopad
-
do not pad filesystem to a multiple of 4K.
- -keep-as-directory
-
if one source directory is specified, create a root directory containing that directory, rather than the contents of the directory.
- -all-time time
-
32 bit integer indicating seconds since the epoch (1970-01-01) used for the timestamp for all files. The SOURCE_DATE_EPOCH environment variable can also be used.
Filesystem filter options
- -p PSEUDO_DEFINITION
-
Add pseudo file definition.
- -pf PSEUDO_FILE
-
Add list of pseudo file definitions.
- -sort SORT_FILE
-
sort files according to priorities in SORT_FILE. One file or dir with priority per line. Priority -32768 to 32767, default priority 0.
- -ef EXCLUDE_FILE
-
list of exclude dirs/files. One per line.
- -wildcards
-
Allow extended shell wildcards (globbing) to be used in exclude dirs/files
- -regex
-
Allow POSIX regular expressions to be used in exclude dirs/files.
Filesystem append options
- -noappend
-
do not append to existing filesystem.
- -root-becomes NAME
-
when appending source files/directories, make the original root become a subdirectory in the new root called NAME, rather than adding the new source items to the original root.
Mksquashfs runtime options:
- -version
-
print version, licence and copyright message.
- -exit-on-error
-
treat normally ignored errors as fatal.
- -recover NAME
-
recover filesystem data using recovery file NAME.
- -no-recovery
-
don't generate a recovery file.
- -info
-
print files written to filesystem.
- -no-progress
-
don't display the progress bar.
- -progress
-
display progress bar when using the -info option.
- -processors NUMBER
-
Use NUMBER processors. By default will use number of processors available.
- -mem SIZE
-
Use SIZE physical memory. Optionally K or M can be used as a suffix for kilobytes or megabytes, respectively. Default 25% of memory.
- -read-queue SIZE
-
Deprecated. Use -mem instead.
- -write-queue SIZE
-
Deprecated. Use -mem instead.
- -fragment-queue SIZE
-
Deprecated. Use -mem instead.
- -mkfs-time time
-
32 bit integer indicating seconds since the epoch (1970-01-01). The SOURCE_DATE_EPOCH environment variable can also be used.
- -not-reproducible
-
This option tells Mksquashfs that the files do not have to be strictly ordered.
Miscellaneous options
- -root-owned
-
alternative name for -all-root.
- -noInodeCompression
-
alternative name for -noI.
- -noDataCompression
-
alternative name for -noD.
- -noFragmentCompression
-
alternative name for -noF.
- -noXattrCompression
-
alternative name for -noX.
- -Xhelp
-
print compressor options for selected compressor
Compressors available and compressor specific options
- gzip (default)
-
- -Xcompression-level compression-level
-
compression-level should be 1 .. 9 (default 9)
- -Xwindow-size window-size
-
window-size should be 8 .. 15 (default 15)
- -Xstrategy strategy1,strategy2,...,strategyN
-
Compress using strategy1,strategy2,...,strategyN in turn and choose the best compression. Available strategies: default, filtered, huffman_only, run_length_encoded and fixed
- lzmz (no options) (no kernel support)
-
- lzo
-
- -Xalgorithm algorithm
-
Where algorithm is one of: lzo1x_1, lzo1x_1_11, lzo1x_1_12, lzo1x_1_15 or lzo1x_999. (default lzo1x_999)
- -Xcompression-level compression-level
-
compression-level should be 1 .. 9 (default 8)
- lz4
-
- -Xhc
-
Compress using LZ4 High Compression
- xz
-
- -Xbcj filter1,filter2,...,filterN
-
Compress using filter1,filter2,...,filterN in turn (in addition to no filter), and choose the best compression. Available filters: x86, arm, armthumb, powerpc, sparc, ia64.
- -Xdict-size DICT_SIZE
-
Use DICT_SIZE as the XZ dictionary size. The dictionary size can be specified as a percentage of the block size, or as an absolute value. The dictionary size must be less than or equal to the block size and 8192 bytes or larger. It must also be storable in the xz header as either 2^n or as 2^n+2^(n+1). Example dict-sizes are 75%, 50%, 37.5%, 25%, or 32K, 16K, 8K etc.
- zstd
-
- -Xcompression-level <compression-level>
-
<compression-level> should be 1 .. 22 (default 15)
SEE ALSO
unsquashfs(1)
HOMEPAGE
More information about mksquashfs and the squashfs filesystem can be found at <
http://squashfs.sourceforge.net/>.
AUTHOR
squashfs was written by Phillip Lougher <
plougher@users.sourceforge.net>.
This manual page was written by Daniel Baumann <daniel.baumann@progress-technologies.net>. With some updates for 4.4 for use with Fedora.