mke2fs(8) - create an ext2/ext3/ext4 filesystem
-b block-size
       Specify  the  size  of blocks in bytes.  Valid block-size values are 1024, 2048 and 4096 bytes per
       block.  If omitted, block-size is heuristically determined by the filesystem size and the expected
       usage  of the filesystem (see the -T option).  If block-size is preceded by a negative sign ('-'),
       then mke2fs will use heuristics to determine the appropriate block size, with the constraint  that
       the  block  size  will  be at least block-size bytes.  This is useful for certain hardware devices
       which require that the blocksize be a multiple of 2k.
-c     Check the device for bad blocks before creating the file system.   If  this  option  is  specified
       twice, then a slower read-write test is used instead of a fast read-only test.
-E extended-options
       Set  extended  options  for the filesystem.  Extended options are comma separated, and may take an
       argument using the equals ('=') sign.  The -E option used to be -R in earlier versions of  mke2fs.
       The  -R option is still accepted for backwards compatibility.   The following extended options are
       supported:

            mmp_update_interval=interval
                   Adjust the initial MMP update interval to interval seconds.  Specifying an interval of
                   0  means  to  use  the default interval.  The specified interval must be less than 300
                   seconds.  Requires that the mmp feature be enabled.
-f fragment-size
       Specify the size of fragments in bytes.
-F     Force  mke2fs  to  create a filesystem, even if the specified device is not a partition on a block
       special device, or if other parameters do not make sense.  In order to force mke2fs  to  create  a
       filesystem  even  if the filesystem appears to be in use or is mounted (a truly dangerous thing to
       do), this option must be specified twice.
-g blocks-per-group
       Specify the number of blocks in a block group.  There is generally no reason for the user to  ever
       set  this  parameter,  as  the default is optimal for the filesystem.  (For administrators who are
       creating filesystems on RAID arrays, it is preferable to use the stride RAID parameter as part  of
       the  -E option rather than manipulating the number of blocks per group.)  This option is generally
       used by developers who are developing test cases.
-G number-of-groups
       Specify the number of block groups that will be packed together to create a larger  virtual  block
       group  (or  "flex_bg  group")  in  an  ext4  filesystem.   This  improves  meta-data  locality and
       performance on meta-data heavy workloads.  The number of groups must be a power of 2 and may  only
       be specified if the flex_bg filesystem feature is enabled.
-i bytes-per-inode
       Specify  the  bytes/inode ratio.  mke2fs creates an inode for every bytes-per-inode bytes of space
       on the disk.  The larger the bytes-per-inode ratio, the fewer inodes will be created.  This  value
       generally  shouldn't  be  smaller  than  the  blocksize of the filesystem, since in that case more
       inodes would be made than can ever be used.  Be warned that it  is  not  possible  to  expand  the
       number of inodes on a filesystem after it is created, so be careful deciding the correct value for
       this parameter.
-I inode-size
       Specify the size of each inode in bytes.  mke2fs creates 256-byte inodes by default.   In  kernels
       after  2.6.10  and  some  earlier  vendor kernels it is possible to utilize inodes larger than 128
       bytes to store extended attributes for improved performance.  The inode-size value must be a power
       of  2  larger  or  equal  to  128.   The larger the inode-size the more space the inode table will
       consume, and this reduces the usable space in  the  filesystem  and  can  also  negatively  impact
       performance.   Extended  attributes stored in large inodes are not visible with older kernels, and
       such filesystems will not be mountable with 2.4 kernels at all.  It is not possible to change this
       value after the filesystem is created.
-j     Create  the  filesystem  with  an  ext3  journal.   If the -J option is not specified, the default
       journal parameters will be used to create an appropriately sized journal (given the  size  of  the
       filesystem)  stored  within  the  filesystem.  Note that you must be using a kernel which has ext3
       support in order to actually make use of the journal.
-J journal-options
       Create the ext3 journal using options specified on the command-line.  Journal  options  are  comma
       separated,  and  may take an argument using the equals ('=')  sign.  The following journal options
       are supported:
-l filename
       Read the bad blocks list from filename.  Note that the block numbers in the bad block list must be
       generated using the same block size as used by mke2fs.  As a result, the -c option to mke2fs is  a
       much  simpler  and less error-prone method of checking a disk for bad blocks before formatting it,
       as mke2fs will automatically pass the correct parameters to the badblocks program.
-L new-volume-label
       Set the volume label for the filesystem to new-volume-label.  The maximum  length  of  the  volume
       label is 16 bytes.
-m reserved-blocks-percentage
       Specify  the  percentage  of  the  filesystem  blocks  reserved  for  the super-user.  This avoids
       fragmentation, and allows  root-owned  daemons,  such  as  syslogd(8),  to  continue  to  function
       correctly  after  non-privileged  processes  are  prevented  from  writing to the filesystem.  The
       default percentage is 5%.
-M last-mounted-directory
       Set the last mounted directory for the filesystem.  This might be useful for the sake of utilities
       that key off of the last mounted directory to determine where the filesystem should be mounted.
-n     Causes  mke2fs  to  not  actually  create a filesystem, but display what it would do if it were to
       create a filesystem.  This can be used to determine the location of the backup superblocks  for  a
       particular  filesystem,  so long as the mke2fs parameters that were passed when the filesystem was
       originally created are used again.  (With the -n option added, of course!)
-N number-of-inodes
       Overrides the default calculation of the  number  of  inodes  that  should  be  reserved  for  the
       filesystem  (which  is  based on the number of blocks and the bytes-per-inode ratio).  This allows
       the user to specify the number of desired inodes directly.
-o creator-os
       Overrides the default value of the "creator  operating  system"  field  of  the  filesystem.   The
       creator field is set by default to the name of the OS the mke2fs executable was compiled for.
-O feature[,...]
       Create  a  filesystem  with  the  given  features  (filesystem  options),  overriding  the default
       filesystem options.  The features that are enabled by default are specified by  the  base_features
       relation,  either  in the [defaults] section in the /etc/mke2fs.conf configuration file, or in the
       [fs_types] subsections for the usage types as specified by the -T option, further modified by  the
       features relation found in the [fs_types] subsections for the filesystem and usage types.  See the
       mke2fs.conf(5) manual page for more details.  The filesystem type-specific  configuration  setting
       found in the [fs_types] section will override the global default found in [defaults].
-q     Quiet execution.  Useful if mke2fs is run in a script.
-r revision
       Set the filesystem revision for the new filesystem.  Note that 1.2 kernels only support revision 0
       filesystems.  The default is to create revision 1 filesystems.
-S     Write superblock and group descriptors only.  This is useful if all of the superblock  and  backup
       superblocks  are  corrupted,  and  a  last-ditch  recovery method is desired.  It causes mke2fs to
       reinitialize the superblock and group descriptors, while not touching  the  inode  table  and  the
       block  and inode bitmaps.  The e2fsck program should be run immediately after this option is used,
       and there is no guarantee that any data will be  salvageable.   It  is  critical  to  specify  the
       correct filesystem blocksize when using this option, or there is no chance of recovery.
-t fs-type
       Specify  the filesystem type (i.e., ext2, ext3, ext4, etc.) that is to be created.  If this option
       is not specified, mke2fs will pick a default either via how the  command  was  run  (for  example,
       using  a  name  of  the  form  mkfs.ext2,  mkfs.ext3,  etc.)  or  via  a default as defined by the
       /etc/mke2fs.conf(5) file.   This option controls which filesystem options  are  used  by  default,
       based on the fstypes configuration stanza in /etc/mke2fs.conf(5).

       If  the -O option is used to explicitly add or remove filesystem options that should be set in the
       newly created filesystem, the resulting filesystem may not be supported by the requested  fs-type.
       (e.g.,  "mke2fs -t ext3 -O extent /dev/sdXX" will create a filesystem that is not supported by the
       ext3 implementation as found in the Linux kernel; and "mke2fs -t ext3 -O  ^has_journal  /dev/hdXX"
       will  create a filesystem that does not have a journal and hence will not be supported by the ext3
       filesystem code in the Linux kernel.)
-T usage-type[,...]
       Specify how the filesystem is going to be used, so  that  mke2fs  can  choose  optimal  filesystem
       parameters for that use.  The usage types that are supported are defined in the configuration file
       /etc/mke2fs.conf(5).  The user may specify one or more usage types using a comma separated list.

       If this option is is not specified, mke2fs will pick a single default usage type based on the size
       of  the  filesystem  to  be created.  If the filesystem size is less than or equal to 3 megabytes,
       mke2fs will use the filesystem type floppy.  If the filesystem size is greater  than  3  but  less
       than  or  equal to 512 megabytes, mke2fs(8) will use the filesystem type small.  If the filesystem
       size is greater than or equal to 4 terabytes but less than 16 terabytes, mke2fs(8)  will  use  the
       filesystem  type  big.  If the filesystem size is greater than or equal to 16 terabytes, mke2fs(8)
       will use the filesystem type huge.  Otherwise, mke2fs(8) will  use  the  default  filesystem  type
       default.
-U UUID
       Create the filesystem with the specified UUID.
-v     Verbose execution.
-V     Print the version number of mke2fs and exit.