mksquashfs is the tool for creating new squashed file systems, and for appending new data to existing squashed file systems. The general command-line format for mksquashfs is:
bash# mksquashfs source1 source2 ... destination [options] |
Notes for default mksquashfs behavior:
See the next section for more details about all possible options.
All possible options for mksquashfs are shown in the table below.
Table 1. Command-line options of the mksquashfs tool
Option | Description |
---|---|
-always-use-fragments | divide all files greater than block size into fragments (2.x only, will result in greater compression ratios) |
-b [block size] | use [block size] filesystem block size (32 Kbytes default) - this can be either 512, 1024, 2048, 4096, 8192, 16384 or 32768 |
-be or -le | force a big or little endian file system, respectively |
-check-data | enable additional file system checks |
-e [file1] ( [file2] ... ) | specify which files and/or directories to omit from the new file system that is to be created |
-ef [file] | specify a file which contains the list of files/directories to exclude |
-info | print files, their original size and compression ratio, as they are added to the file system |
-keep-as-directory | if the source is a single directory, force this directory to be a subdirectory of the root in the created file system |
-noappend | if the destination file/device already contains a squashed file system, overwrite it, rather than append the new data to an existing file system |
-no-duplicates | do not detect/remove duplicate file names |
-noD or -noDataCompression | do not compress the data |
-noF or -noFragmentCompression | do not compress the fragments (2.x only) |
-no-fragments | do not generate fragment blocks (2.x only, this will produce almost the same filesystem as 1.x did) |
-noI or -noInodeCompression | do not compress the inode table |
-nopad | do not pad the resulting file system to a multiple of 4 KBytes |
-root-becomes [name] | can be used while appending to a pre-existing squashed file system: it will make a new root, and [name] directory will contain all pre-existing files/directories |
-version | print the version, copyright and license message |
In most cases, you should leave all compression/block options by default, as they allow mksquashfs to achieve the best possible compression ratios.