NEWFS_MSDOS(1)             OpenBSD Reference Manual             NEWFS_MSDOS(1)

NAME
     newfs_msdos - create an MS-DOS (FAT) file system

SYNOPSIS
     newfs_msdos [-s kilobytes] [-L vollabel] device

DESCRIPTION
     newfs_msdos establishes a file system structure on device that is under-
     stood by mount_msdos(8) and some ancient program loaders.  device will
     typically be the character device node for a floppy disk drive, (e.g.
     /dev/rfd0), although any existing writable file or device is acceptable.
     In case of a regular file it is treated as a dumped image of an MS-DOS
     file system; only the file system structure will be written to it, and it
     won't be truncated.

     The options are as follows:

           -s kilobytes
                       Use defaults for a typical file system with capacity
                       kilobytes.  Currently, the values 360, 720, 1200, and
                       1440 are recognized.

                       If this option is not specified, newfs_msdos attempts
                       to determine the size of the device. This is not reli-
                       ably possible in all cases, but is believed to work for
                       the more common situations.

           -L vollabel
                       Use vollabel to describe the file system, instead of
                       the default ``4.4BSD''.

     The file system structure consists of three major areas:

           The bootsector
                       This is the very first (512-byte) sector.  It contains
                       executable code that normally would bootstrap an oper-
                       ating system when loaded.  Since it's beyond the scope
                       of newfs_msdos to install an operating system on the
                       medium, this boot code will only print a message that
                       the disk does not contain a bootable system.  Inside
                       the bootsector is the BIOS parameter block (BPB), where
                       several statistical parameters of the file system are
                       being held.

           The file allocation table(s) (FAT)
                       Sectors next to the bootsector hold the FAT, which is
                       used to register file system allocation, as well as
                       keeping pointer chains for the chunks constituting one
                       file.  There are usually two identical copies of the
                       FAT.

           The root directory
                       The final structure is the root directory for this
                       medium.  It is merely a space reservation, padded with
                       0s, and unfortunately fixed in its size.  newfs_msdos
                       initializes it to empty, and enters a volume label
                       record into the very first directory slot.

DIAGNOSTICS
     An exit status of 0 is returned upon successful operation. Exit status 1
     is returned on any errors during file system creation, and an exit status
     of 2 reflects invalid arguments given to the program (along with an ap-
     propriate information written to diagnostic output).

SEE ALSO
     fdformat(1),  mount_msdos(8),  newfs(8)

BUGS
     There is currently no way to specify obscure file system parameters.
     Thus, only media with one of the supported capacity values can be format-
     ted.  For the same reason, it's not possible to handle hard disk parti-
     tions.  More options should be added to allow this.  More entries should
     be added to the table of known formats, too.

     No attempt is made to handle media defects.  However, this is beyond the
     scope of newfs_msdos and should better be handled by the (nonexistent)
     dosfsck(1) utility.

HISTORY
     newfs_msdos appeared in FreeBSD 2.2.

AUTHOR
     The program has been contributed by Joerg Wunsch, Dresden.

OpenBSD 2.6                    November 5, 1995                              2
