Provided by: erofs-utils_1.7.1-1build2_amd64 bug

NAME

       mkfs.erofs - tool to create an EROFS filesystem

SYNOPSIS

       mkfs.erofs [OPTIONS] DESTINATION SOURCE

DESCRIPTION

       EROFS is a new enhanced lightweight linux read-only filesystem with modern designs (eg. no
       buffer head, reduced metadata, inline xattrs/data, etc.) for scenarios  which  need  high-
       performance read-only requirements, e.g. Android OS for smartphones and LIVECDs.

       It  also  provides fixed-sized output compression support, which improves storage density,
       keeps relatively  higher  compression  ratios,  which  is  more  useful  to  achieve  high
       performance  for  embedded  devices  with  limited  memory since it has unnoticable memory
       overhead and page cache thrashing.

       mkfs.erofs is used to create such EROFS filesystem  DESTINATION  image  file  from  SOURCE
       directory.

OPTIONS

       -z compression-algorithm[,#][:...]
              Set  a  primary  algorithm  for data compression, which can be set with an optional
              compression level (1 to 12 for LZ4HC, 0 to 9 for LZMA  and  100  to  109  for  LZMA
              extreme  compression)  separated  by  a  comma.   Alternative  algorithms  could be
              specified and separated by colons.

       -b block-size
              Set the fundamental block size of the filesystem in bytes.  In other words, specify
              the  smallest  amount  of  data that can be accessed at a time.  The default is the
              system page size.  It cannot be less than 512 bytes.

       -C max-pcluster-size
              Specify the maximum size of compress physical cluster in bytes.  This may cause the
              big pcluster feature to be enabled (Linux v5.13+).

       -d #   Specify  the  level  of  debugging  messages.  The  default is 2, which shows basic
              warning messages.

       -x #   Limit how many xattrs will be inlined. The default is 2.  Disables  storing  xattrs
              if < 0.

       -E extended-option[,...]
              Set  extended options for the filesystem. Extended options are comma separated, and
              may take an extra argument using the equals ('=')  sign.   The  following  extended
              options are supported:

                   all-fragments
                          Forcely  record  the  whole  files  into  a  special  inode  for better
                          compression and it may take an argument as the  pcluster  size  of  the
                          packed inode in bytes.  (Linux v6.1+)

                   dedupe Enable global compressed data deduplication to minimize duplicated data
                          in the filesystem.  May  further  reduce  image  size  when  used  with
                          -E fragments.  (Linux v6.1+)

                   force-inode-compact
                          Force generation of compact (32-byte) inodes.

                   force-inode-extended
                          Force generation of extended (64-byte) inodes.

                   force-inode-blockmap
                          Force generation of inode chunk format as a 4-byte block address array.

                   force-chunk-indexes
                          Forcely  generate  inode  chunk  format  as an 8-byte chunk index (with
                          device ID).

                   fragments[=size]
                          Pack the tail part (pcluster) of compressed  files,  or  entire  files,
                          into  a  special  inode  for  smaller  image  sizes, and it may take an
                          argument as the pcluster size of the  packed  inode  in  bytes.  (Linux
                          v6.1+)

                   legacy-compress
                          Disable   "inplace   decompression"   and   "compacted   indexes",  for
                          compatibility with Linux pre-v5.4.

                   noinline_data
                          Don't inline regular files to  enable  FSDAX  for  these  files  (Linux
                          v5.15+).

                   ^xattr-name-filter
                          Turn off/on xattr name filter to optimize negative xattr lookups (Linux
                          v6.6+).

                   ztailpacking
                          Pack the tail part (pcluster) of compressed files into its metadata  to
                          save more space and the tail part I/O. (Linux v5.17+)

       -L volume-label
              Set the volume label for the filesystem to volume-label.  The maximum length of the
              volume label is 16 bytes.

       -T #   Set all files to the given UNIX timestamp. Reproducible builds require setting  all
              to a specific one. By default, the source file's modification time is used.

       -U UUID
              Set the universally unique identifier (UUID) of the filesystem to UUID.  The format
              of  the  UUID  is  a  series  of  hex  digits  separated  by  hyphens,  like  this:
              "c1b9d5a2-f162-11cf-9ece-0020afc76f16".

       --all-root
              Make all files owned by root.

       --blobdev file
              Specify an extra blob device to store chunk-based data.

       --chunksize #
              Generate chunk-based files with #-byte chunks.

       --compress-hints file
              Apply  a  per-file  compression  strategy.  Each  line in file is defined by tokens
              separated by spaces in the  following  form.   Optionally,  instead  of  the  given
              primary  algorithm,  alternative  algorithms  can be specified with algorithm-index
              explicitly:
                   <pcluster-size-in-bytes> [algorithm-index] <match-pattern>
       match-patterns are extended regular expressions, matched against absolute paths within the
       output filesystem, with no leading /.

       --exclude-path=path
              Ignore  file that matches the exact literal path.  You may give multiple --exclude-
              path options.

       --exclude-regex=regex
              Ignore files that match the  given  extended  regular  expression.   You  may  give
              multiple --exclude-regex options.

       --file-contexts=file
              Read SELinux label configuration/overrides from file in the selinux_file(5) format.

       --force-uid=UID
              Set all file UIDs to UID.

       --force-gid=GID
              Set all file GIDs to GID.

       --gid-offset=GIDOFFSET
              Add  GIDOFFSET  to  all file GIDs.  When this option is used together with --force-
              gid, the final file gids are set to GID + GID-OFFSET.

       --gzip Filter tarball streams through gzip.

       --help Display help string and exit.

       --ignore-mtime
              Ignore the file modification  time  whenever  it  would  cause  mkfs.erofs  to  use
              extended  inodes  over  compact  inodes. When not using a fixed timestamp, this can
              reduce total metadata size. Implied by -E force-inode-compact.

       --max-extent-bytes #
              Specify maximum decompressed extent size in bytes.

       --preserve-mtime
              Use extended inodes instead of compact inodes if the file modification  time  would
              overflow compact inodes. This is the default. Overrides --ignore-mtime.

       --tar=f
              Generate a full EROFS image from a tarball.

       --tar=i
              Generate an meta-only EROFS image from a tarball.

       --uid-offset=UIDOFFSET
              Add  UIDOFFSET  to  all file UIDs.  When this option is used together with --force-
              uid, the final file uids are set to UID + UIDOFFSET.

       --xattr-prefix=PREFIX
              Specify a customized extended attribute namespace prefix  for  space  saving,  e.g.
              "trusted.overlay.".  You may give multiple --xattr-prefix options (Linux v6.4+).

AUTHOR

       This  version  of  mkfs.erofs  is  written  by  Li  Guifu  <blucerlee@gmail.com>, Miao Xie
       <miaoxie@huawei.com> and Gao Xiang <xiang@kernel.org> with continuously improvements  from
       others.

       This manual page was written by Gao Xiang <xiang@kernel.org>.

AVAILABILITY

       mkfs.erofs    is    part    of    erofs-utils    package    and    is    available    from
       git://git.kernel.org/pub/scm/linux/kernel/git/xiang/erofs-utils.git.

SEE ALSO

       mkfs(8).

                                                                                    MKFS.EROFS(1)