blob: 89bf3f138429736edb48cefc69e57d7cc9e09357 [file] [log] [blame]
Theodore Ts'o3839e651997-04-26 13:21:57 +00001.\" -*- nroff -*-
Theodore Ts'oa418d3a1997-04-26 14:00:26 +00002.\" 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.
4.\"
Theodore Ts'o74becf31997-04-26 14:37:06 +00005.TH MKE2FS 8 "@E2FSPROGS_MONTH@ @E2FSPROGS_YEAR@" "E2fsprogs version @E2FSPROGS_VERSION@"
Theodore Ts'o3839e651997-04-26 13:21:57 +00006.SH NAME
Theodore Ts'oa7ac1df2003-08-24 17:56:41 -04007mke2fs \- create an ext2/ext3 filesystem
Theodore Ts'o3839e651997-04-26 13:21:57 +00008.SH SYNOPSIS
9.B mke2fs
10[
11.B \-c
12|
Theodore Ts'o3839e651997-04-26 13:21:57 +000013.B \-l
Theodore Ts'o1e3472c1997-04-29 14:53:37 +000014.I filename
Theodore Ts'o3839e651997-04-26 13:21:57 +000015]
16[
17.B \-b
Theodore Ts'o1e3472c1997-04-29 14:53:37 +000018.I block-size
Theodore Ts'o3839e651997-04-26 13:21:57 +000019]
20[
21.B \-f
Theodore Ts'o1e3472c1997-04-29 14:53:37 +000022.I fragment-size
Theodore Ts'o3839e651997-04-26 13:21:57 +000023]
24[
Theodore Ts'o5e055412003-04-11 14:00:53 -040025.B \-g
26.I blocks-per-group
27]
28[
Theodore Ts'o3839e651997-04-26 13:21:57 +000029.B \-i
Theodore Ts'o1e3472c1997-04-29 14:53:37 +000030.I bytes-per-inode
Theodore Ts'o3839e651997-04-26 13:21:57 +000031]
32[
Theodore Ts'o85ef4ae2000-10-24 19:33:45 +000033.B \-j
Theodore Ts'odc2ec522001-01-18 01:51:15 +000034]
35[
36.B \-J
Theodore Ts'o8ddaa662000-11-17 04:55:24 +000037.I journal-options
Theodore Ts'o85ef4ae2000-10-24 19:33:45 +000038]
39[
Theodore Ts'o5515e6b1999-01-05 07:25:06 +000040.B \-N
41.I number-of-inodes
42]
43[
Theodore Ts'o27401561999-09-14 20:11:19 +000044.B -n
45]
46[
Theodore Ts'o3839e651997-04-26 13:21:57 +000047.B \-m
Theodore Ts'o1e3472c1997-04-29 14:53:37 +000048.I reserved-blocks-percentage
49]
50[
51.B \-o
52.I creator-os
Theodore Ts'o3839e651997-04-26 13:21:57 +000053]
54[
Theodore Ts'o896938d1999-10-23 01:04:50 +000055.B \-O
56.IR feature [,...]
57]
58[
Theodore Ts'of3db3561997-04-26 13:34:30 +000059.B \-q
60]
61[
Theodore Ts'ocaf8ce41999-10-21 19:56:34 +000062.B \-r
63.I fs-revision-level
Theodore Ts'oa29f4d31997-04-29 21:26:48 +000064]
65[
Theodore Ts'ocaf8ce41999-10-21 19:56:34 +000066.B \-R
Theodore Ts'o48015ce2001-04-22 03:58:32 +000067.I raid-options
Theodore Ts'o521e3681997-04-29 17:48:10 +000068]
69[
Theodore Ts'o3839e651997-04-26 13:21:57 +000070.B \-v
71]
Theodore Ts'of3db3561997-04-26 13:34:30 +000072[
Theodore Ts'o74becf31997-04-26 14:37:06 +000073.B \-F
74]
75[
Theodore Ts'o1e3472c1997-04-29 14:53:37 +000076.B \-L
77.I volume-label
78]
79[
80.B \-M
81.I last-mounted-directory
82]
83[
Theodore Ts'of3db3561997-04-26 13:34:30 +000084.B \-S
85]
Theodore Ts'o818180c1998-06-27 05:11:14 +000086[
Theodore Ts'o50787ea1999-07-19 15:30:21 +000087.B \-T
88.I filesystem-type
89]
90[
Theodore Ts'o818180c1998-06-27 05:11:14 +000091.B \-V
92]
Theodore Ts'o1e3472c1997-04-29 14:53:37 +000093.I device
Theodore Ts'o3839e651997-04-26 13:21:57 +000094[
Theodore Ts'o1e3472c1997-04-29 14:53:37 +000095.I blocks-count
Theodore Ts'o3839e651997-04-26 13:21:57 +000096]
Theodore Ts'o48015ce2001-04-22 03:58:32 +000097@JDEV@.sp
Theodore Ts'o8d641742001-05-14 04:12:27 +000098@JDEV@.B "mke2fs \-O journal_dev"
Theodore Ts'o48015ce2001-04-22 03:58:32 +000099@JDEV@[
100@JDEV@.B \-b
101@JDEV@.I block-size
102@JDEV@]
Theodore Ts'o8d641742001-05-14 04:12:27 +0000103.\" No external-journal specific journal options yet (size is ignored)
Theodore Ts'o48015ce2001-04-22 03:58:32 +0000104.\" @JDEV@[
105.\" @JDEV@.B \-J
106.\" @JDEV@.I journal-options
107.\" @JDEV@]
108@JDEV@[
109@JDEV@.B \-L
110@JDEV@.I volume-label
111@JDEV@]
112@JDEV@[
113@JDEV@.B \-n
114@JDEV@]
115@JDEV@[
116@JDEV@.B \-q
117@JDEV@]
118@JDEV@[
119@JDEV@.B \-v
120@JDEV@]
Theodore Ts'o8d641742001-05-14 04:12:27 +0000121@JDEV@.I external-journal
Andreas Dilger2d155762001-08-17 03:48:11 -0600122@JDEV@[
123@JDEV@.I blocks-count
124@JDEV@]
Theodore Ts'o3839e651997-04-26 13:21:57 +0000125.SH DESCRIPTION
126.B mke2fs
Theodore Ts'of0865ce2002-07-02 10:08:27 -0400127is used to create an ext2/ext3 filesystem (usually in a disk partition).
Theodore Ts'o3839e651997-04-26 13:21:57 +0000128.I device
Theodore Ts'ocaf8ce41999-10-21 19:56:34 +0000129is the special file corresponding to the device (e.g
130.IR /dev/hdXX ).
Theodore Ts'o3839e651997-04-26 13:21:57 +0000131.I blocks-count
132is the number of blocks on the device. If omitted,
133.B mke2fs
Andreas Dilger0072f8d2002-02-25 23:11:26 -0700134automagically figures the file system size. If called as
135.B mkfs.ext3
136a journal is created as if the
137.B \-j
138option was specified.
Theodore Ts'o3839e651997-04-26 13:21:57 +0000139.SH OPTIONS
140.TP
Theodore Ts'ocaf8ce41999-10-21 19:56:34 +0000141.BI \-b " block-size"
Theodore Ts'o27401561999-09-14 20:11:19 +0000142Specify the size of blocks in bytes. Valid block size vales are 1024,
Theodore Ts'o06968e71999-10-23 03:17:10 +00001432048 and 4096 bytes per block. If omitted,
144.B mke2fs
Theodore Ts'o67508772004-03-20 16:14:46 -0500145block-size is heuristically determined by the file system size and
Theodore Ts'oc5290fa2003-04-11 22:10:50 -0400146the expected usage of the filesystem (see the
Theodore Ts'o06968e71999-10-23 03:17:10 +0000147.B \-T
Theodore Ts'oc5290fa2003-04-11 22:10:50 -0400148option). If
149.I block-size
Theodore Ts'o67508772004-03-20 16:14:46 -0500150is negative, then mke2fs will use heuristics to determine the
Theodore Ts'oc5290fa2003-04-11 22:10:50 -0400151appropriate block size, with the constraint that the block size will be
152at least
153.I block-size
154bytes. This is useful for certain hardware devices which require that
155the blocksize be a multiple of 2k.
Theodore Ts'o3839e651997-04-26 13:21:57 +0000156.TP
Theodore Ts'ocaf8ce41999-10-21 19:56:34 +0000157.B \-c
Theodore Ts'o3ed57c22001-12-24 15:01:59 -0500158Check the device for bad blocks before creating the file system. If
159this option is specified twice, then a slower, destructive, read-write
160test is used instead of a fast read-only test.
Theodore Ts'o3839e651997-04-26 13:21:57 +0000161.TP
Theodore Ts'ocaf8ce41999-10-21 19:56:34 +0000162.BI \-f " fragment-size"
Theodore Ts'o3839e651997-04-26 13:21:57 +0000163Specify the size of fragments in bytes.
164.TP
Theodore Ts'o48015ce2001-04-22 03:58:32 +0000165.B \-F
166Force
167.B mke2fs
168to run, even if the specified device is not a
169block special device, or appears to be mounted.
170.TP
Theodore Ts'o5e055412003-04-11 14:00:53 -0400171.BI \-g " blocks-per-group"
172Specify the number of blocks in a block group. There is generally no
173reason the user to ever set this parameter, as the default is optimal
174for the filesystem. (For administrators who are creating
175filesystems on RAID arrays, it is preferable to use the
176.I stride
177RAID parameter as part of the
178.B \-R
179option rather than manipulating the number of blocks per group.)
180This option is generally used by developers who
181are developing test cases.
182.TP
Theodore Ts'ocaf8ce41999-10-21 19:56:34 +0000183.BI \-i " bytes-per-inode"
Theodore Ts'o3839e651997-04-26 13:21:57 +0000184Specify the bytes/inode ratio.
185.B mke2fs
186creates an inode for every
187.I bytes-per-inode
Theodore Ts'o48015ce2001-04-22 03:58:32 +0000188bytes of space on the disk. The larger the
Theodore Ts'ocaf8ce41999-10-21 19:56:34 +0000189.I bytes-per-inode
Theodore Ts'o48015ce2001-04-22 03:58:32 +0000190ratio, the fewer inodes will be created. This value generally shouldn't
191be smaller than the blocksize of the filesystem, since then too many
192inodes will be made. Be warned that is not possible to expand the number
193of inodes on a filesystem after it is created, so be careful deciding the
194correct value for this parameter.
Theodore Ts'odc2ec522001-01-18 01:51:15 +0000195.TP
Theodore Ts'o48015ce2001-04-22 03:58:32 +0000196.B \-j
197Create the filesystem with an ext3 journal. If the
Theodore Ts'odc2ec522001-01-18 01:51:15 +0000198.B \-J
Theodore Ts'o48015ce2001-04-22 03:58:32 +0000199option is not specified, the default journal parameters will be used to
200create an appropriately sized journal (given the size of the filesystem)
201stored within the filesystem. Note that you must be using a kernel
202which has ext3 support in order to actually make use of the journal.
Theodore Ts'odc2ec522001-01-18 01:51:15 +0000203.TP
Theodore Ts'o48015ce2001-04-22 03:58:32 +0000204.BI \-J " journal-options"
Theodore Ts'odc2ec522001-01-18 01:51:15 +0000205Create the ext3 journal using options specified on the command-line.
Theodore Ts'o8ddaa662000-11-17 04:55:24 +0000206Journal options are comma
207separated, and may take an argument using the equals ('=') sign.
Theodore Ts'o48015ce2001-04-22 03:58:32 +0000208The following journal options are supported:
209.RS 1.2i
Theodore Ts'odc2ec522001-01-18 01:51:15 +0000210.TP
Theodore Ts'o48015ce2001-04-22 03:58:32 +0000211.BI size= journal-size
Theodore Ts'of0865ce2002-07-02 10:08:27 -0400212Create an internal journal (i.e., stored inside the filesystem) of size
Theodore Ts'o8d641742001-05-14 04:12:27 +0000213.I journal-size
214megabytes.
Theodore Ts'o2537b6d2001-03-26 20:07:13 +0000215The size of the journal must be at least 1024 filesystem blocks
216(i.e., 1MB if using 1k blocks, 4MB if using 4k blocks, etc.)
Theodore Ts'o8d641742001-05-14 04:12:27 +0000217and may be no more than 102,400 filesystem blocks.
Theodore Ts'o48015ce2001-04-22 03:58:32 +0000218@JDEV@.TP
219@JDEV@.BI device= external-journal
Theodore Ts'o8d641742001-05-14 04:12:27 +0000220@JDEV@Attach the filesystem to the journal block device located on
221@JDEV@.IR external-journal .
222@JDEV@The external
223@JDEV@journal must already have been created using the command
224@JDEV@.IP
Andreas Dilger2d155762001-08-17 03:48:11 -0600225@JDEV@.B mke2fs -O journal_dev
226@JDEV@.I external-journal
Theodore Ts'o8d641742001-05-14 04:12:27 +0000227@JDEV@.IP
228@JDEV@Note that
229@JDEV@.I external-journal
230@JDEV@must have been created with the
231@JDEV@same block size as the new filesystem.
Andreas Dilger2d155762001-08-17 03:48:11 -0600232@JDEV@.IP
233@JDEV@Instead of specifying a device name directly,
234@JDEV@.I external-journal
235@JDEV@can also be specified by either
236@JDEV@.BI LABEL= label
237@JDEV@or
238@JDEV@.BI UUID= UUID
239@JDEV@to locate the external journal by either the volume label or UUID
240@JDEV@stored in the ext2 superblock at the start of the journal. Use
241@JDEV@.BR dumpe2fs (8)
242@JDEV@to display a journal device's volume label and UUID. See also the
243@JDEV@.B -L
244@JDEV@option of
245@JDEV@.BR tune2fs (8).
Theodore Ts'o8d641742001-05-14 04:12:27 +0000246.RE
247@JDEV@.IP
Theodore Ts'o48015ce2001-04-22 03:58:32 +0000248@JDEV@Only one of the
249@JDEV@.BR size " or " device
250@JDEV@options can be given for a filesystem.
Theodore Ts'odc2ec522001-01-18 01:51:15 +0000251.TP
Theodore Ts'o48015ce2001-04-22 03:58:32 +0000252.BI \-l " filename"
253Read the bad blocks list from
Theodore Ts'o3ed57c22001-12-24 15:01:59 -0500254.IR filename .
255Note that the block numbers in the bad block list must be generated
256using the same block size as used by mke2fs. As a result, the
257.B \-c
258option to
259.B mke2fs
260is a much simpler and less error-prone method of checking a disk for bad
261blocks before formatting it, as
262.B mke2fs
263will automatically pass the correct parameters to the
264.B badblocks
265program.
Theodore Ts'o48015ce2001-04-22 03:58:32 +0000266.TP
267.B \-L
268Set the volume label for the filesystem.
269.TP
270.BI \-m " reserved-blocks-percentage"
271Specify the percentage of the filesystem blocks reserved for
272the super-user. This value defaults to 5%.
Theodore Ts'o48015ce2001-04-22 03:58:32 +0000273.TP
274.B \-M
275Set the last mounted directory for the filesystem. This might be useful
276for the sake of utilities that key off of the last mounted directory to
277determine where the filesytem should be mounted.
Theodore Ts'o85ef4ae2000-10-24 19:33:45 +0000278.TP
Theodore Ts'ocaf8ce41999-10-21 19:56:34 +0000279.B \-n
Theodore Ts'o1f22ce32002-08-17 18:16:29 -0400280causes mke2fs to not actually create a filesystem, but display what it
281would do if it were to create a filesystem. This can be used to
282determine the location of the backup superblocks for a particular
283filesystem, so long as the mke2fs parameters that were passed when the
284filesystem was originally created are used again. (With the
285.B \-n
286option added, of course!)
Theodore Ts'o27401561999-09-14 20:11:19 +0000287.TP
Theodore Ts'ocaf8ce41999-10-21 19:56:34 +0000288.BI \-N " number-of-inodes"
Theodore Ts'o5515e6b1999-01-05 07:25:06 +0000289overrides the default calculation of the number of inodes that should be
290reserved for the filesystem (which is based on the number of blocks and
Theodore Ts'ocaf8ce41999-10-21 19:56:34 +0000291the
292.I bytes-per-inode
293ratio). This allows the user to specify the number
Theodore Ts'o5515e6b1999-01-05 07:25:06 +0000294of desired inodes directly.
295.TP
Theodore Ts'o48015ce2001-04-22 03:58:32 +0000296.BI \-o " creator-os"
Theodore Ts'o1e3472c1997-04-29 14:53:37 +0000297Manually override the default value of the "creator os" field of the
298filesystem. Normally the creator field is set by default to the native OS
Theodore Ts'o583ccdc1997-05-09 03:06:31 +0000299of the
300.B mke2fs
301executable.
Theodore Ts'o1e3472c1997-04-29 14:53:37 +0000302.TP
Theodore Ts'o8d641742001-05-14 04:12:27 +0000303.B "\-O \fIfeature\fR[,...]"
Theodore Ts'oe02bb6d2004-04-12 20:36:35 -0400304Create filesystem with given features (filesystem options), overriding
Theodore Ts'o481d1392004-04-11 16:47:25 -0400305the default filesystem options.
Theodore Ts'o48015ce2001-04-22 03:58:32 +0000306Currently, the
307.B sparse_super
308and
309.B filetype
Theodore Ts'of0865ce2002-07-02 10:08:27 -0400310features are turned on by default when
Theodore Ts'o48015ce2001-04-22 03:58:32 +0000311.B mke2fs
Theodore Ts'of0865ce2002-07-02 10:08:27 -0400312is run on a system with Linux 2.2 or later (unless creator-os is set to
313the Hurd). Filesystems that may need to be mounted on pre-2.2 Linux or
314other kernels should be created with
Theodore Ts'o48015ce2001-04-22 03:58:32 +0000315.B "\-O none"
316(or
317.B "\-r 0"
Theodore Ts'of0865ce2002-07-02 10:08:27 -0400318for Linux 1.2) which will disable these features, even if
Theodore Ts'o48015ce2001-04-22 03:58:32 +0000319.B mke2fs
320is run on a system which can support them.
321.sp
322The following filesystem options are supported:
323.RS 1.2i
324.TP
Theodore Ts'occbed852003-04-11 13:32:31 -0400325.B dir_index
326Use hashed b-trees to speed up lookups in large directories.
Theodore Ts'o48015ce2001-04-22 03:58:32 +0000327.TP
328.B filetype
329Store file type information in directory entries.
330.TP
331.B has_journal
332Create an ext3 journal (as if using the
333.B \-j
334option).
335@JDEV@.TP
Theodore Ts'o8d641742001-05-14 04:12:27 +0000336@JDEV@.B journal_dev
Theodore Ts'o48015ce2001-04-22 03:58:32 +0000337@JDEV@Create an external ext3 journal on the given device
Theodore Ts'o8d641742001-05-14 04:12:27 +0000338@JDEV@instead of a regular ext2 filesystem.
339@JDEV@Note that
340@JDEV@.I external-journal
341@JDEV@must be created with the same
342@JDEV@block size as the filesystems that will be using it.
Theodore Ts'occbed852003-04-11 13:32:31 -0400343.TP
344.B sparse_super
345Create a filesystem with fewer superblock backup copies
346(saves space on large filesystems).
Theodore Ts'o48015ce2001-04-22 03:58:32 +0000347.RE
348.TP
Theodore Ts'o8d641742001-05-14 04:12:27 +0000349.B \-q
350Quiet execution. Useful if
351.B mke2fs
352is run in a script.
353.TP
Theodore Ts'o48015ce2001-04-22 03:58:32 +0000354.BI \-r " revision"
355Set the filesystem revision for the new filesystem. Note that 1.2
356kernels only support revision 0 filesystems. The default is to
357create revision 1 filesystems.
358.TP
359.BI \-R " raid-options"
360Set raid-related options for the filesystem. Raid options are comma
Theodore Ts'o8d641742001-05-14 04:12:27 +0000361separated, and may take an argument using the equals ('=') sign. The
Theodore Ts'o48015ce2001-04-22 03:58:32 +0000362following options are supported:
363.RS 1.2i
364.TP
365.BI stride= stripe-size
366Configure the filesystem for a RAID array with
Theodore Ts'o8d641742001-05-14 04:12:27 +0000367.I stripe-size
Theodore Ts'o48015ce2001-04-22 03:58:32 +0000368filesystem blocks per stripe.
369.RE
370.TP
Theodore Ts'ocaf8ce41999-10-21 19:56:34 +0000371.B \-S
Theodore Ts'of3db3561997-04-26 13:34:30 +0000372Write superblock and group descriptors only. This is useful if all of
373the superblock and backup superblocks are corrupted, and a last-ditch
Theodore Ts'o583ccdc1997-05-09 03:06:31 +0000374recovery method is desired. It causes
375.B mke2fs
376to reinitialize the
Theodore Ts'of3db3561997-04-26 13:34:30 +0000377superblock and group descriptors, while not touching the inode table
378and the block and inode bitmaps. The
379.B e2fsck
380program should be run immediately after this option is used, and there
Theodore Ts'o48015ce2001-04-22 03:58:32 +0000381is no guarantee that any data will be salvageable. It is critical to
382specify the correct filesystem blocksize when using this option,
383or there is no chance of recovery.
Theodore Ts'o8d641742001-05-14 04:12:27 +0000384.\" .TP
385.\" .BI \-t " test"
386.\" Check the device for bad blocks before creating the file system
387.\" using the specified test.
Theodore Ts'o818180c1998-06-27 05:11:14 +0000388.TP
Theodore Ts'ocaf8ce41999-10-21 19:56:34 +0000389.BI \-T " fs-type"
Theodore Ts'o50787ea1999-07-19 15:30:21 +0000390Specify how the filesystem is going to be used, so that mke2fs can
Theodore Ts'o48015ce2001-04-22 03:58:32 +0000391chose optimal filesystem parameters for that use. The supported
392filesystem types are:
393.RS 1.2i
394.TP 1.2i
395news
396one inode per 4kb block
397.TP
398largefile
399one inode per megabyte
400.TP
401largefile4
402one inode per 4 megabytes
403.RE
404.TP
405.B \-v
406Verbose execution.
Theodore Ts'o50787ea1999-07-19 15:30:21 +0000407.TP
Theodore Ts'ocaf8ce41999-10-21 19:56:34 +0000408.B \-V
Theodore Ts'o50787ea1999-07-19 15:30:21 +0000409Print the version number of
Theodore Ts'o818180c1998-06-27 05:11:14 +0000410.B mke2fs
411and exit.
Theodore Ts'o3839e651997-04-26 13:21:57 +0000412.SH AUTHOR
413This version of
414.B mke2fs
Theodore Ts'oa418d3a1997-04-26 14:00:26 +0000415has been written by Theodore Ts'o <tytso@mit.edu>.
Theodore Ts'o3839e651997-04-26 13:21:57 +0000416.SH BUGS
417.B mke2fs
Theodore Ts'ocaf8ce41999-10-21 19:56:34 +0000418accepts the
419.B \-f
420option but currently ignores it because the second
Theodore Ts'o3839e651997-04-26 13:21:57 +0000421extended file system does not support fragments yet.
422.br
Theodore Ts'o48015ce2001-04-22 03:58:32 +0000423There may be other ones. Please, report them to the author.
Theodore Ts'o3839e651997-04-26 13:21:57 +0000424.SH AVAILABILITY
425.B mke2fs
Theodore Ts'o12da49c2001-05-12 15:49:17 +0000426is part of the e2fsprogs package and is available from
Theodore Ts'o348e43d2001-05-03 14:43:43 +0000427http://e2fsprogs.sourceforge.net.
Theodore Ts'o3839e651997-04-26 13:21:57 +0000428.SH SEE ALSO
Theodore Ts'oe72a9ba1999-06-25 15:40:18 +0000429.BR badblocks (8),
Theodore Ts'o3839e651997-04-26 13:21:57 +0000430.BR dumpe2fs (8),
431.BR e2fsck (8),
432.BR tune2fs (8)