mke2fs(8) -E packad_meta_blocks=1 -O^has_journal,discard/nodiscard,sparse_super,sparse_super2 /dev/sda1
create an ext2/ext3/ext4 filesystem
-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.
-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].
-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.
-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.
-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.
-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!)
-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.
-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.
-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.
source manpages: mke2fs