]> git.ipfire.org Git - thirdparty/e2fsprogs.git/blame - misc/mke2fs.8.in
Add missing features and mount options to ext4 man page
[thirdparty/e2fsprogs.git] / misc / mke2fs.8.in
CommitLineData
3839e657 1.\" -*- nroff -*-
a418d3ad
TT
2.\" Copyright 1993, 1994, 1995 by Theodore Ts'o. All Rights Reserved.
3.\" This file may be copied under the terms of the GNU Public License.
98794d0e 4.\"
74becf3c 5.TH MKE2FS 8 "@E2FSPROGS_MONTH@ @E2FSPROGS_YEAR@" "E2fsprogs version @E2FSPROGS_VERSION@"
3839e657 6.SH NAME
4f858546 7mke2fs \- create an ext2/ext3/ext4 filesystem
3839e657
TT
8.SH SYNOPSIS
9.B mke2fs
10[
11.B \-c
98794d0e 12|
3839e657 13.B \-l
1e3472c5 14.I filename
3839e657
TT
15]
16[
17.B \-b
1e3472c5 18.I block-size
3839e657
TT
19]
20[
4407ea3b
DW
21.B \-d
22.I root-directory
23]
24[
37c8db7b
TT
25.B \-D
26]
27[
5e05541a
TT
28.B \-g
29.I blocks-per-group
30]
31[
9ba40002
TT
32.B \-G
33.I number-of-groups
34]
35[
3839e657 36.B \-i
1e3472c5 37.I bytes-per-inode
3839e657
TT
38]
39[
067911ae
AD
40.B \-I
41.I inode-size
42]
43[
85ef4ae8 44.B \-j
dc2ec525
TT
45]
46[
47.B \-J
8ddaa66b 48.I journal-options
85ef4ae8
TT
49]
50[
5515e6b4
TT
51.B \-N
52.I number-of-inodes
53]
54[
a26ba650 55.B \-n
2740156b
TT
56]
57[
3839e657 58.B \-m
1e3472c5
TT
59.I reserved-blocks-percentage
60]
61[
62.B \-o
63.I creator-os
3839e657
TT
64]
65[
98794d0e 66.B \-O
5c4c3876 67[^]\fIfeature\fR[,...]
896938d5
TT
68]
69[
f3db3566
TT
70.B \-q
71]
72[
caf8ce4c
TT
73.B \-r
74.I fs-revision-level
a29f4d30
TT
75]
76[
c6a44136
TT
77.B \-E
78.I extended-options
521e3685
TT
79]
80[
3839e657
TT
81.B \-v
82]
f3db3566 83[
74becf3c
TT
84.B \-F
85]
86[
1e3472c5
TT
87.B \-L
88.I volume-label
89]
90[
91.B \-M
92.I last-mounted-directory
93]
94[
f3db3566
TT
95.B \-S
96]
818180cd 97[
3d43836f
TT
98.B \-t
99.I fs-type
100]
101[
50787ea2 102.B \-T
3d43836f 103.I usage-type
50787ea2
TT
104]
105[
b0afdda1
TT
106.B \-U
107.I UUID
108]
109[
818180cd
TT
110.B \-V
111]
cd32129d
DW
112[
113.B \-e
114.I errors-behavior
115]
2d291b3c
DW
116[
117.B \-z
118.I undo_file
119]
1e3472c5 120.I device
3839e657 121[
9ac2930c 122.I fs-size
3839e657 123]
48015ced 124@JDEV@.sp
8d641749 125@JDEV@.B "mke2fs \-O journal_dev"
48015ced
TT
126@JDEV@[
127@JDEV@.B \-b
128@JDEV@.I block-size
129@JDEV@]
8d641749 130.\" No external-journal specific journal options yet (size is ignored)
48015ced
TT
131.\" @JDEV@[
132.\" @JDEV@.B \-J
133.\" @JDEV@.I journal-options
134.\" @JDEV@]
135@JDEV@[
136@JDEV@.B \-L
137@JDEV@.I volume-label
138@JDEV@]
139@JDEV@[
140@JDEV@.B \-n
141@JDEV@]
142@JDEV@[
143@JDEV@.B \-q
144@JDEV@]
145@JDEV@[
146@JDEV@.B \-v
147@JDEV@]
8d641749 148@JDEV@.I external-journal
2d15576d 149@JDEV@[
9ac2930c 150@JDEV@.I fs-size
2d15576d 151@JDEV@]
3839e657
TT
152.SH DESCRIPTION
153.B mke2fs
4f858546 154is used to create an ext2, ext3, or ext4 filesystem, usually in a disk
9ac2930c
TT
155partition (or file) named by
156.IR device .
157.PP
158The file system size is specified by
159.IR fs-size .
160If
161.I fs-size
162does not have a suffix, it is interpreted as power-of-two kilobytes,
163unless the
164.B \-b
165.I blocksize
166option is specified, in which case
167.I fs-size
168is interpreted as the number of
169.I blocksize
170blocks. If the fs-size is suffixed by 'k', 'm', 'g', 't'
171(either upper-case or lower-case), then it is interpreted in
172power-of-two kilobytes, megabytes, gigabytes, terabytes, etc.
173If
174.I fs-size
175is omitted,
3839e657 176.B mke2fs
9ac2930c
TT
177will create the file system based on the device size.
178.PP
179If
180.B mke2fs
181is run as
182.B mkfs.XXX
183(i.e.,
184.BR mkfs.ext2 ,
185.BR mkfs.ext3 ,
186or
187.BR mkfs.ext4 )
188the option
189.B \-t
190.I XXX
191is implied; so
0072f8de 192.B mkfs.ext3
9ac2930c
TT
193will create a file system for use with ext3,
194.B mkfs.ext4
195will create a file system for use with ext4, and so on.
de7a86e2
TT
196.PP
197The defaults of the parameters for the newly created filesystem, if not
198overridden by the options listed below, are controlled by the
199.B /etc/mke2fs.conf
200configuration file. See the
201.BR mke2fs.conf (5)
202manual page for more details.
3839e657
TT
203.SH OPTIONS
204.TP
caf8ce4c 205.BI \-b " block-size"
98794d0e 206Specify the size of blocks in bytes. Valid block-size values are 1024,
06968e7e 2072048 and 4096 bytes per block. If omitted,
98794d0e 208block-size is heuristically determined by the filesystem size and
c5290fae 209the expected usage of the filesystem (see the
06968e7e 210.B \-T
98794d0e 211option). If
c5290fae 212.I block-size
eddf36ba 213is preceded by a negative sign ('-'), then
c6a44136
TT
214.B mke2fs
215will use heuristics to determine the
c5290fae 216appropriate block size, with the constraint that the block size will be
98794d0e 217at least
c5290fae
TT
218.I block-size
219bytes. This is useful for certain hardware devices which require that
220the blocksize be a multiple of 2k.
3839e657 221.TP
caf8ce4c 222.B \-c
3ed57c27 223Check the device for bad blocks before creating the file system. If
98794d0e 224this option is specified twice, then a slower read-write
3ed57c27 225test is used instead of a fast read-only test.
3839e657 226.TP
0f680ee8
ZL
227.B \-C " cluster-size"
228Specify the size of cluster in bytes for filesystems using the bigalloc
229feature. Valid cluster-size values are from 2048 to 256M bytes per
9518b297
TT
230cluster. This can only be specified if the bigalloc feature is
231enabled. (See the
232.B ext4 (5)
233man page for more details about bigalloc.) The default cluster size if
234bigalloc is enabled is 16 times the block size.
0f680ee8 235.TP
4407ea3b
DW
236.BI \-d " root-directory"
237Copy the contents of the given directory into the root directory of the
238filesystem.
239.TP
37c8db7b
TT
240.B \-D
241Use direct I/O when writing to the disk. This avoids mke2fs dirtying a
242lot of buffer cache memory, which may impact other applications running
243on a busy server. This option will cause mke2fs to run much more
244slowly, however, so there is a tradeoff to using direct I/O.
245.TP
cd32129d
DW
246.BI \-e " error-behavior"
247Change the behavior of the kernel code when errors are detected.
248In all cases, a filesystem error will cause
249.BR e2fsck (8)
250to check the filesystem on the next boot.
251.I error-behavior
252can be one of the following:
253.RS 1.2i
254.TP 1.2i
255.B continue
256Continue normal execution.
257.TP
258.B remount-ro
259Remount filesystem read-only.
260.TP
261.B panic
262Cause a kernel panic.
263.RE
264.TP
c6a44136
TT
265.BI \-E " extended-options"
266Set extended options for the filesystem. Extended options are comma
267separated, and may take an argument using the equals ('=') sign. The
a26ba650 268.B \-E
98794d0e 269option used to be
a26ba650 270.B \-R
98794d0e 271in earlier versions of
c6a44136 272.BR mke2fs .
98794d0e 273The
a26ba650 274.B \-R
b769aaec
AD
275option is still accepted for backwards compatibility, but is deprecated.
276The following extended options are supported:
c6a44136
TT
277.RS 1.2i
278.TP
0f5eba75
AD
279.BI mmp_update_interval= interval
280Adjust the initial MMP update interval to
281.I interval
282seconds. Specifying an
283.I interval
284of 0 means to use the default interval. The specified interval must
285be less than 300 seconds. Requires that the
286.B mmp
287feature be enabled.
288.TP
0c17cb25 289.BI stride= stride-size
c6a44136 290Configure the filesystem for a RAID array with
0c17cb25
TT
291.I stride-size
292filesystem blocks. This is the number of blocks read or written to disk
98794d0e 293before moving to the next disk, which is sometimes referred to as the
2ac7f066
TT
294.I chunk size.
295This mostly affects placement of filesystem metadata like bitmaps at
a4396e9d 296.B mke2fs
98794d0e
BS
297time to avoid placing them on a single disk, which can hurt performance.
298It may also be used by the block allocator.
0c17cb25 299.TP
d4c0d8e5 300.BI stripe_width= stripe-width
0c17cb25
TT
301Configure the filesystem for a RAID array with
302.I stripe-width
98794d0e 303filesystem blocks per stripe. This is typically stride-size * N, where
2ac7f066 304N is the number of data-bearing disks in the RAID (e.g. for RAID 5 there is one
98794d0e 305parity disk, so N will be the number of disks in the array minus 1).
0c17cb25
TT
306This allows the block allocator to prevent read-modify-write of the
307parity in a RAID stripe if possible when the data is written.
c6a44136 308.TP
88ee023b
TT
309.BI offset= offset
310Create the filesystem at an offset from the beginning of the device or
311file. This can be useful when creating disk images for virtual machines.
312.TP
c6a44136
TT
313.BI resize= max-online-resize
314Reserve enough space so that the block group descriptor table can grow
98794d0e
BS
315to support a filesystem that has
316.I max-online-resize
317blocks.
6cb27404 318.TP
3b4a66cf 319.B lazy_itable_init\fR[\fB= \fI<0 to disable, 1 to enable>\fR]
a4396e9d 320If enabled and the uninit_bg feature is enabled, the inode table will
98794d0e 321not be fully initialized by
a4396e9d
TT
322.BR mke2fs .
323This speeds up filesystem
98794d0e 324initialization noticeably, but it requires the kernel to finish
a4396e9d 325initializing the filesystem in the background when the filesystem is
43781b94 326first mounted. If the option value is omitted, it defaults to 1 to
6c54689f
AD
327enable lazy inode table zeroing.
328.TP
329.B lazy_journal_init\fR[\fB= \fI<0 to disable, 1 to enable>\fR]
330If enabled, the journal inode will not be fully zeroed out by
331.BR mke2fs .
332This speeds up filesystem initialization noticeably, but carries some
333small risk if the system crashes before the journal has been overwritten
334entirely one time. If the option value is omitted, it defaults to 1 to
335enable lazy journal inode zeroing.
a4396e9d 336.TP
65c6c3e0
TT
337.BI num_backup_sb= <0|1|2>
338If the
339.B sparse_super2
340file system feature is enabled this option controls whether there will
341be 0, 1, or 2 backup superblocks created in the file system.
342.TP
3c6e91c5
TT
343.B packed_meta_blocks\fR[\fB= \fI<0 to disable, 1 to enable>\fR]
344Place the allocation bitmaps and the inode table at the beginning of the
345disk. This option requires that the flex_bg file system feature to be
346enabled in order for it to have effect, and will also create the journal
347at the beginning of the file system. This option is useful for flash
348devices that use SLC flash at the beginning of the disk.
349It also maximizes the range of contiguous data blocks, which
350can be useful for certain specialized use cases, such as supported
351Shingled Drives.
352.TP
dc9cc700
AD
353.BI root_owner [=uid:gid]
354Specify the numeric user and group ID of the root directory. If no UID:GID
355is specified, use the user and group ID of the user running \fBmke2fs\fR.
356In \fBmke2fs\fR 1.42 and earlier the UID and GID of the root directory were
357set by default to the UID and GID of the user running the mke2fs command.
358The \fBroot_owner=\fR option allows explicitly specifying these values,
359and avoid side-effects for users that do not expect the contents of the
360filesystem to change based on the user running \fBmke2fs\fR.
361.TP
6cb27404
TT
362.B test_fs
363Set a flag in the filesystem superblock indicating that it may be
364mounted using experimental kernel code, such as the ext4dev filesystem.
0bc85dfb
LC
365.TP
366.BI discard
367Attempt to discard blocks at mkfs time (discarding blocks initially is useful
368on solid state devices and sparse / thin-provisioned storage). When the device
369advertises that discard also zeroes data (any subsequent read after the discard
370and before write returns zero), then mark all not-yet-zeroed inode tables as
371zeroed. This significantly speeds up filesystem initialization. This is set
372as default.
373.TP
374.BI nodiscard
855a77a1 375Do not attempt to discard blocks at mkfs time.
9e8fcd6e
TT
376.TP
377.BI quotatype
bc8f1ae5
TT
378Specify the which quota types (usrquota, grpquota, prjquota) which
379should be enabled in the created file system. The argument of this
380extended option should be a colon separated list. This option has
381effect only if the
9e8fcd6e 382.B quota
bc8f1ae5
TT
383feature is set. The default quota types to be initialized if this
384option is not specified is both user and group quotas. If the project
385feature is enabled that project quotas will be initialized as well.
c6a44136
TT
386.RE
387.TP
48015ced 388.B \-F
98794d0e 389Force
48015ced 390.B mke2fs
c16e610c
AD
391to create a filesystem, even if the specified device is not a partition
392on a block special device, or if other parameters do not make sense.
98794d0e 393In order to force
c16e610c 394.B mke2fs
98794d0e 395to create a filesystem even if the filesystem appears to be in use
c16e610c
AD
396or is mounted (a truly dangerous thing to do), this option must be
397specified twice.
48015ced 398.TP
5e05541a
TT
399.BI \-g " blocks-per-group"
400Specify the number of blocks in a block group. There is generally no
98794d0e 401reason for the user to ever set this parameter, as the default is optimal
5e05541a
TT
402for the filesystem. (For administrators who are creating
403filesystems on RAID arrays, it is preferable to use the
404.I stride
405RAID parameter as part of the
e28a1bca 406.B \-E
98794d0e 407option rather than manipulating the number of blocks per group.)
5e05541a 408This option is generally used by developers who
98794d0e 409are developing test cases.
0f680ee8
ZL
410.IP
411If the bigalloc feature is enabled, the
412.B \-g
413option will specify the number of clusters in a block group.
5e05541a 414.TP
9ba40002 415.BI \-G " number-of-groups"
98794d0e 416Specify the number of block groups that will be packed together to
7a9f055f
TT
417create a larger virtual block group (or "flex_bg group") in an
418ext4 filesystem. This improves meta-data locality and performance
419on meta-data heavy workloads. The number of groups must be a power
d04ad325 420of 2 and may only be specified if the
7a9f055f
TT
421.B flex_bg
422filesystem feature is enabled.
9ba40002 423.TP
caf8ce4c 424.BI \-i " bytes-per-inode"
98794d0e 425Specify the bytes/inode ratio.
3839e657
TT
426.B mke2fs
427creates an inode for every
428.I bytes-per-inode
98794d0e 429bytes of space on the disk. The larger the
caf8ce4c 430.I bytes-per-inode
48015ced 431ratio, the fewer inodes will be created. This value generally shouldn't
98794d0e
BS
432be smaller than the blocksize of the filesystem, since in that case more
433inodes would be made than can ever be used. Be warned that it is not
e2883e27
PS
434possible to change this ratio on a filesystem after it is created, so be
435careful deciding the correct value for this parameter. Note that resizing
ce20096f 436a filesystem changes the number of inodes to maintain this ratio.
067911ae
AD
437.TP
438.BI \-I " inode-size"
98794d0e 439Specify the size of each inode in bytes.
886056bd 440The
067911ae 441.I inode-size
98794d0e 442value must be a power of 2 larger or equal to 128. The larger the
067911ae
AD
443.I inode-size
444the more space the inode table will consume, and this reduces the usable
98794d0e 445space in the filesystem and can also negatively impact performance.
886056bd
TT
446It is not
447possible to change this value after the filesystem is created.
448.IP
449In kernels after 2.6.10 and some
450earlier vendor kernels it is possible to utilize inodes larger than
451128 bytes to store
452extended attributes for improved performance.
e67670c3 453Extended attributes
067911ae 454stored in large inodes are not visible with older kernels, and such
d04ad325 455filesystems will not be mountable with 2.4 kernels at all.
886056bd
TT
456.IP
457The default inode size is controlled by the
458.BR mke2fs.conf (5)
459file. In the
460.B mke2fs.conf
461file shipped with e2fsprogs, the default inode size is 256 bytes for
462most file systems, except for small file systems where the inode size
463will be 128 bytes.
98794d0e 464.TP
48015ced
TT
465.B \-j
466Create the filesystem with an ext3 journal. If the
dc2ec525 467.B \-J
48015ced 468option is not specified, the default journal parameters will be used to
98794d0e 469create an appropriately sized journal (given the size of the filesystem)
48015ced
TT
470stored within the filesystem. Note that you must be using a kernel
471which has ext3 support in order to actually make use of the journal.
dc2ec525 472.TP
48015ced 473.BI \-J " journal-options"
dc2ec525 474Create the ext3 journal using options specified on the command-line.
8ddaa66b
TT
475Journal options are comma
476separated, and may take an argument using the equals ('=') sign.
48015ced
TT
477The following journal options are supported:
478.RS 1.2i
dc2ec525 479.TP
48015ced 480.BI size= journal-size
f0865ce4 481Create an internal journal (i.e., stored inside the filesystem) of size
98794d0e 482.I journal-size
8d641749 483megabytes.
98794d0e
BS
484The size of the journal must be at least 1024 filesystem blocks
485(i.e., 1MB if using 1k blocks, 4MB if using 4k blocks, etc.)
57cb2716
SP
486and may be no more than 10,240,000 filesystem blocks or half the total
487file system size (whichever is smaller)
b818205f
TT
488.TP
489.BI location =journal-location
490Specify the location of the journal. The argument
491.I journal-location
492can either be specified as a block number, or if the number has a units
493suffix (e.g., 'M', 'G', etc.) interpret it as the offset from the
494beginning of the file system.
48015ced
TT
495@JDEV@.TP
496@JDEV@.BI device= external-journal
8d641749
TT
497@JDEV@Attach the filesystem to the journal block device located on
498@JDEV@.IR external-journal .
499@JDEV@The external
500@JDEV@journal must already have been created using the command
501@JDEV@.IP
2d15576d
AD
502@JDEV@.B mke2fs -O journal_dev
503@JDEV@.I external-journal
8d641749
TT
504@JDEV@.IP
505@JDEV@Note that
506@JDEV@.I external-journal
507@JDEV@must have been created with the
508@JDEV@same block size as the new filesystem.
3024d887
TT
509@JDEV@In addition, while there is support for attaching
510@JDEV@multiple filesystems to a single external journal,
98794d0e 511@JDEV@the Linux kernel and
3024d887
TT
512@JDEV@.BR e2fsck (8)
513@JDEV@do not currently support shared external journals yet.
2d15576d
AD
514@JDEV@.IP
515@JDEV@Instead of specifying a device name directly,
516@JDEV@.I external-journal
517@JDEV@can also be specified by either
518@JDEV@.BI LABEL= label
519@JDEV@or
520@JDEV@.BI UUID= UUID
521@JDEV@to locate the external journal by either the volume label or UUID
522@JDEV@stored in the ext2 superblock at the start of the journal. Use
523@JDEV@.BR dumpe2fs (8)
524@JDEV@to display a journal device's volume label and UUID. See also the
525@JDEV@.B -L
526@JDEV@option of
527@JDEV@.BR tune2fs (8).
8d641749
TT
528.RE
529@JDEV@.IP
48015ced
TT
530@JDEV@Only one of the
531@JDEV@.BR size " or " device
532@JDEV@options can be given for a filesystem.
48015ced
TT
533.TP
534.BI \-l " filename"
535Read the bad blocks list from
98794d0e 536.IR filename .
3ed57c27 537Note that the block numbers in the bad block list must be generated
98794d0e
BS
538using the same block size as used by
539.BR mke2fs .
540As a result, the
3ed57c27 541.B \-c
98794d0e 542option to
3ed57c27
TT
543.B mke2fs
544is a much simpler and less error-prone method of checking a disk for bad
98794d0e 545blocks before formatting it, as
3ed57c27
TT
546.B mke2fs
547will automatically pass the correct parameters to the
548.B badblocks
549program.
48015ced 550.TP
6a7075df
TT
551.BI \-L " new-volume-label"
552Set the volume label for the filesystem to
553.IR new-volume-label .
554The maximum length of the
555volume label is 16 bytes.
48015ced
TT
556.TP
557.BI \-m " reserved-blocks-percentage"
98794d0e 558Specify the percentage of the filesystem blocks reserved for
029de632 559the super-user. This avoids fragmentation, and allows root-owned
98794d0e 560daemons, such as
029de632 561.BR syslogd (8),
98794d0e
BS
562to continue to function correctly after non-privileged processes are
563prevented from writing to the filesystem. The default percentage
029de632 564is 5%.
dc2ec525 565.TP
98794d0e
BS
566.BI \-M " last-mounted-directory"
567Set the last mounted directory for the filesystem. This might be useful
568for the sake of utilities that key off of the last mounted directory to
bcf5aea2 569determine where the filesystem should be mounted.
85ef4ae8 570.TP
caf8ce4c 571.B \-n
98794d0e
BS
572Causes
573.B mke2fs
574to not actually create a filesystem, but display what it
1f22ce34
TT
575would do if it were to create a filesystem. This can be used to
576determine the location of the backup superblocks for a particular
98794d0e
BS
577filesystem, so long as the
578.B mke2fs
579parameters that were passed when the
1f22ce34 580filesystem was originally created are used again. (With the
98794d0e 581.B \-n
1f22ce34 582option added, of course!)
2740156b 583.TP
caf8ce4c 584.BI \-N " number-of-inodes"
98794d0e
BS
585Overrides the default calculation of the number of inodes that should be
586reserved for the filesystem (which is based on the number of blocks and
587the
caf8ce4c 588.I bytes-per-inode
98794d0e 589ratio). This allows the user to specify the number
5515e6b4
TT
590of desired inodes directly.
591.TP
48015ced 592.BI \-o " creator-os"
98794d0e
BS
593Overrides the default value of the "creator operating system" field of the
594filesystem. The creator field is set by default to the name of the OS the
583ccdc3 595.B mke2fs
98794d0e 596executable was compiled for.
1e3472c5 597.TP
5c4c3876 598.B "\-O \fR[^]\fIfeature\fR[,...]"
98794d0e
BS
599Create a filesystem with the given features (filesystem options),
600overriding the default filesystem options. The features that are
9dc6ad1e
TT
601enabled by default are specified by the
602.I base_features
603relation, either in the
98794d0e 604.I [defaults]
9dc6ad1e
TT
605section in the
606.B /etc/mke2fs.conf
3d43836f 607configuration file,
98794d0e 608or in the
9dc6ad1e 609.I [fs_types]
98794d0e 610subsections for the usage types as specified by the
a26ba650 611.B \-T
3d43836f
TT
612option, further modified by the
613.I features
614relation found in the
98794d0e
BS
615.I [fs_types]
616subsections for the filesystem and usage types. See the
3d43836f
TT
617.BR mke2fs.conf (5)
618manual page for more details.
619The filesystem type-specific configuration setting found in the
9dc6ad1e
TT
620.I [fs_types]
621section will override the global default found in
98794d0e 622.IR [defaults] .
48015ced 623.sp
98794d0e
BS
624The filesystem feature set will be further edited
625using either the feature set specified by this option,
626or if this option is not given, by the
9dc6ad1e 627.I default_features
98794d0e
BS
628relation for the filesystem type being created, or in the
629.I [defaults]
9dc6ad1e
TT
630section of the configuration file.
631.sp
632The filesystem feature set is comprised of a list of features, separated
633by commas, that are to be enabled. To disable a feature, simply
5c4c3876 634prefix the feature name with a caret ('^') character.
3c22bf7e 635Features with dependencies will not be removed successfully.
4727c67d 636The pseudo-filesystem feature "none" will clear all filesystem features.
4727c67d 637.TP
3c22bf7e
TT
638For more information about the features which can be set, please see
639the manual page
640.BR ext4 (5).
1e3472c5 641.TP
8d641749 642.B \-q
98794d0e 643Quiet execution. Useful if
8d641749
TT
644.B mke2fs
645is run in a script.
646.TP
48015ced 647.BI \-r " revision"
a29f4d30 648Set the filesystem revision for the new filesystem. Note that 1.2
98794d0e 649kernels only support revision 0 filesystems. The default is to
48015ced 650create revision 1 filesystems.
a29f4d30 651.TP
caf8ce4c 652.B \-S
a6eeac1c
AD
653Write superblock and group descriptors only. This is an extreme
654measure to be taken only in the very unlikely case that all of
f3db3566 655the superblock and backup superblocks are corrupted, and a last-ditch
a6eeac1c 656recovery method is desired by experienced users. It causes
583ccdc3 657.B mke2fs
a6eeac1c
AD
658to reinitialize the superblock and group descriptors, while not
659touching the inode table and the block and inode bitmaps. The
f3db3566
TT
660.B e2fsck
661program should be run immediately after this option is used, and there
a6eeac1c
AD
662is no guarantee that any data will be salvageable. Due to the wide
663variety of possible options to
664.BR mke2fs
a7dc56f4 665that affect the on-disk layout, it is critical to specify exactly
a6eeac1c
AD
666the same format options, such as blocksize, fs-type, feature flags, and
667other tunables when using this option, or the filesystem will be further
668corrupted. In some cases, such as filesystems that have been resized,
669or have had features enabled after format time, it is impossible to
a7dc56f4 670overwrite all of the superblocks correctly, and at least some filesystem
a6eeac1c
AD
671corruption will occur. It is best to run this on a full copy of the
672filesystem so other options can be tried if this doesn't work.
8d641749
TT
673.\" .TP
674.\" .BI \-t " test"
675.\" Check the device for bad blocks before creating the file system
676.\" using the specified test.
818180cd 677.TP
3d43836f 678.BI \-t " fs-type"
4727c67d
UC
679Specify the filesystem type (i.e., ext2, ext3, ext4, etc.) that is
680to be created.
98794d0e
BS
681If this option is not specified,
682.B mke2fs
683will pick a default either via how
684the command was run (for example, using a name of the form mkfs.ext2,
3d43836f 685mkfs.ext3, etc.) or via a default as defined by the
626a2e74 686.B /etc/mke2fs.conf
08c8b1ab
TT
687file. This option controls which filesystem options are used by
688default, based on the
689.B fstypes
690configuration stanza in
626a2e74 691.BR /etc/mke2fs.conf .
08c8b1ab
TT
692.sp
693If the
694.B \-O
695option is used to explicitly add or remove filesystem options that
696should be set in the newly created filesystem, the
697resulting filesystem may not be supported by the requested
698.IR fs-type .
b7150807 699(e.g., "\fBmke2fs \-t ext3 \-O extent /dev/sdXX\fR" will create a
08c8b1ab 700filesystem that is not supported by the ext3 implementation as found in
93aa0246 701the Linux kernel; and "\fBmke2fs \-t ext3 \-O ^has_journal /dev/hdXX\fR"
08c8b1ab
TT
702will create a filesystem that does not have a journal and hence will not
703be supported by the ext3 filesystem code in the Linux kernel.)
3d43836f
TT
704.TP
705.BI \-T " usage-type[,...]"
98794d0e
BS
706Specify how the filesystem is going to be used, so that
707.B mke2fs
3d43836f
TT
708can choose optimal filesystem parameters for that use. The usage
709types that are supported are defined in the configuration file
626a2e74 710.BR /etc/mke2fs.conf .
3d43836f
TT
711The user may specify one or more usage types
712using a comma separated list.
713.sp
714If this option is is not specified,
715.B mke2fs
716will pick a single default usage type based on the size of the filesystem to
0745e787 717be created. If the filesystem size is less than 3 megabytes,
a4396e9d 718.B mke2fs
3d43836f
TT
719will use the filesystem type
720.IR floppy .
0745e787 721If the filesystem size is greater than or equal to 3 but less than
3d43836f
TT
722512 megabytes,
723.BR mke2fs (8)
9a2767ff 724will use the filesystem type
3d43836f 725.IR small .
9a2767ff
NK
726If the filesystem size is greater than or equal to 4 terabytes but less than
72716 terabytes,
728.BR mke2fs (8)
729will use the filesystem type
730.IR big .
731If the filesystem size is greater than or equal to 16 terabytes,
732.BR mke2fs (8)
733will use the filesystem type
734.IR huge .
3d43836f
TT
735Otherwise,
736.BR mke2fs (8)
737will use the default filesystem type
738.IR default .
48015ced 739.TP
b0afdda1 740.BI \-U " UUID"
665ebf37
DD
741Set the universally unique identifier (UUID) of the filesystem to
742.IR UUID .
743The format of the UUID is a series of hex digits separated by hyphens,
744like this:
745"c1b9d5a2-f162-11cf-9ece-0020afc76f16".
746The
747.I UUID
748parameter may also be one of the following:
749.RS 1.2i
750.TP
751.I clear
752clear the filesystem UUID
753.TP
754.I random
755generate a new randomly-generated UUID
756.TP
757.I time
758generate a new time-based UUID
759.RE
b0afdda1 760.TP
48015ced
TT
761.B \-v
762Verbose execution.
50787ea2 763.TP
caf8ce4c 764.B \-V
98794d0e 765Print the version number of
818180cd
TT
766.B mke2fs
767and exit.
2d291b3c
DW
768.TP
769.BI \-z " undo_file"
770Before overwriting a file system block, write the old contents of the block to
771an undo file. This undo file can be used with e2undo(8) to restore the old
772contents of the file system should something go wrong. If the empty string is
773passed as the undo_file argument, the undo file will be written to a file named
774mke2fs-\fIdevice\fR.e2undo in the directory specified via the
775\fIE2FSPROGS_UNDO_DIR\fR environment variable or the \fIundo_dir\fR directive
776in the configuration file.
777
778WARNING: The undo file cannot be used to recover from a power or system crash.
5182ad4c
NK
779.SH ENVIRONMENT
780.TP
781.BI MKE2FS_SYNC
782If set to non-zero integer value, its value is used to determine how often
783.BR sync (2)
784is called during inode table initialization.
785.TP
786.BI MKE2FS_CONFIG
787Determines the location of the configuration file (see
788.BR mke2fs.conf (5)).
789.TP
790.BI MKE2FS_FIRST_META_BG
791If set to non-zero integer value, its value is used to determine first meta
792block group. This is mostly for debugging purposes.
793.TP
794.BI MKE2FS_DEVICE_SECTSIZE
795If set to non-zero integer value, its value is used to determine physical
796sector size of the
797.IR device .
798.TP
799.BI MKE2FS_SKIP_CHECK_MSG
800If set, do not show the message of filesystem automatic check caused by
801mount count or check interval.
3839e657
TT
802.SH AUTHOR
803This version of
804.B mke2fs
a418d3ad 805has been written by Theodore Ts'o <tytso@mit.edu>.
3839e657
TT
806.SH AVAILABILITY
807.B mke2fs
98794d0e 808is part of the e2fsprogs package and is available from
348e43dc 809http://e2fsprogs.sourceforge.net.
3839e657 810.SH SEE ALSO
9dc6ad1e 811.BR mke2fs.conf (5),
e72a9ba3 812.BR badblocks (8),
3839e657
TT
813.BR dumpe2fs (8),
814.BR e2fsck (8),
3c22bf7e
TT
815.BR tune2fs (8),
816.BR ext4 (5)