.\" -*- nroff -*-
.TH MKFS 8 "Jun 1995" "Version 1.9"
.SH NAME
mkfs \- build a Linux file system
.SH SYNOPSIS
.B mkfs
.RB [ \-V ]
.RB [ \-t
.IR fstype ]
.RI [ fs-options ]
.I filesys
.RI [ blocks ]
.SH DESCRIPTION
.B mkfs
is used to build a Linux file system on a device, usually
a hard disk partition.
.I filesys
is either the device name (e.g.
.IR /dev/hda1 ,
.IR /dev/sdb2 ),
or a regular file that shall contain the file system.
.I blocks
is the number of blocks to be used for the file system.
.PP
The exit code returned by
.B mkfs
is 0 on success and 1 on failure.
.PP
In actuality,
.B mkfs
is simply a front-end for the various file system builders
(\fBmkfs.\fIfstype\fR)
available under Linux.
The file system-specific builder is searched for in a number
of directories like perhaps
.IR /sbin ,
.IR /sbin/fs ,
.IR /sbin/fs.d ,
.IR /etc/fs ,
.I /etc
(the precise list is defined at compile time but at least
contains
.I /sbin
and
.IR /sbin/fs ),
and finally in the directories
listed in the PATH environment variable.
Please see the file system-specific builder manual pages for
further details.
.SH OPTIONS
.TP
.B -V
Produce verbose output, including all file system-specific commands
that are executed.
Specifying this option more than once inhibits execution of any
file system-specific commands.
This is really only useful for testing.
.TP
.BI -t \ fstype
Specifies the type of file system to be built.
If not specified, the default file system type
(currently ext2) is used.
.TP
.I fs-options
File system-specific options to be passed to the real file
system builder.
Although not guaranteed, the following options are supported
by most file system builders.
.TP
.B -c
Check the device for bad blocks before building the file system.
.TP
.BI -l \ filename
Read the bad blocks list from
.I filename
.TP
.B -v
Produce verbose output.
.SH BUGS
All generic options must precede and not be combined with
file system-specific options.
Some file system-specific programs do not support the
.I -v
(verbose) option, nor return meaningful exit codes.
Also, some file system-specific programs do not automatically
detect the device size and require the
.I blocks
parameter to be specified.
.SH AUTHORS
David Engel (david@ods.com)
.br
Fred N. van Kempen (waltje@uwalt.nl.mugnet.org)
.br
Ron Sommeling (sommel@sci.kun.nl)
.br
The manual page was shamelessly adapted from Remy Card's version
for the ext2 file system.
.SH SEE ALSO
.BR fs (5),
.BR badblocks (8),
.BR fsck (8),
.BR mkdosfs (8),
.BR mke2fs (8),
.BR mkfs.bfs (8),
.BR mkfs.ext2 (8),
.BR mkfs.ext3 (8),
.BR mkfs.minix (8),
.BR mkfs.msdos (8),
.BR mkfs.vfat (8),
.BR mkfs.xfs (8),
.BR mkfs.xiafs (8)
.SH AVAILABILITY
The mkfs command is part of the util-linux-ng package and is available from
ftp://ftp.kernel.org/pub/linux/utils/util-linux-ng/.
