Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ mkfs(ADM) — OpenDesktop 3.0.0

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

chmod(C)

dir(FP)

filesystem(FP)


 mkfs(ADM)                     06 January 1993                      mkfs(ADM)


 Name

    mkfs - construct a filesystem

 Syntax

    /etc/mkfs [ -y | -n ] [ -f fstype ] filsys blocks [ : inodes ]
    [ gap blocks/cylinder ] [ filesystem-specific options ]

    /etc/mkfs [ -y | -n ] filsys proto [ gap blocks/cylinder ]
    [ filesystem-specific options ]

    XENIX filesystem options: [-s blocks [ : inodes ] ]

    AFS filesystem options:  [ -Cclustersize ]

    EAFS filesystem options: -E [ -Cclustersize ]

 Description

    mkfs constructs a filesystem by writing on the special file filsys,
    according to the directions found in the remainder of the command line.
    mkfs is actually a front-end that invokes the appropriate version of mkfs
    according to the filesystem type. The fstyp argument to the -f option
    specifies the filesystem type, which can be one of the following:

       AFS     (Acer Fast Filesystem)
       DOS
       EAFS    (Extended Acer Fast Filesystem)
       S51K    (AT&T UNIX System V 1K Filesystem)
       XENIX


 Standard options

    mkfs checks whether there is any data in the first 512 bytes of the super
    block of the target device. If there is any variation, the disk is
    assumed to contain a filesystem, and operator confirmation is requested
    before overwriting the data.  The -y ``yes'' option overides this, and
    writes over any existing data without question.  The -n option causes
    mkfs to terminate without question if the target contains an existing
    filesystem.

    filsys is the raw special device to make the filesystem on.

    blocks specifies the size of the filesystem as the decimal number of phy-
    sical (512-byte) disk blocks the filesystem will occupy.  If the number
    of inodes is not given, the default used is approximately the number of
    logical (1024-byte) blocks divided by 4.  mkfs builds a filesystem with a
    single empty directory on it. The boot program block (block zero) is left
    uninitialized.

    If the second argument is the name of a file that can be opened, mkfs
    assumes it to be a prototype file proto, and will take its directions
    from that file.  The prototype file contains tokens separated by spaces
    or new-lines.  A sample prototype specification follows (line numbers
    have been added to aid in the explanation):

       1       /stand/diskboot
       2       4872 110
       3       d--777 3 1
       4       usr     d--777 3 1
       5               sh      ---755 3 1 /bin/sh
       6               ken     d--755 6 1
       7                       $
       8               b0      b--644 3 1 0 0
       9               c0      c--644 3 1 0 0
       10              $
       11      $

    Line 1 in the example is the name of a file to be copied onto block zero
    as the bootstrap program.

    Line 2 specifies the number of physical (512-byte) blocks the filesystem
    is to occupy and the number of inodes in the filesystem.

    Lines 3-9 tell mkfs about files and directories to be included in this
    filesystem.

    Line 3 specifies the root directory.

    Lines 4-6 and 8-9 specify other directories and files.

    The ``$'' on line 7 tells mkfs to end the branch of the filesystem it is
    on, and continue from the next higher directory.  The ``$'' on lines 10
    and 11 end the process, since no additional specifications follow.

    File specifications give the mode, the user ID, the group ID, and the
    initial contents of the file.  Valid syntax for the contents field
    depends on the first character of the mode.

    The mode for a file is specified by a 6-character string.  The first
    character specifies the type of the file.  The character range is -bcd to
    specify regular, block special, character special and directory files,
    respectively.  The second character of the mode is either u or - to
    specify set-user-id mode or not.  The third is g or - for the set-group-
    id mode.  The rest of the mode is a 3-digit octal number giving the
    owner, group, and other read, write, execute permissions (see chmod(C)).

    Two decimal number tokens come after the mode; they specify the user and
    group IDs of the owner of the file.

    If the file is a regular file, the next token of the specification may be
    a pathname from which the contents and size are copied.  If the file is a
    block or character special file, two decimal numbers follow which give
    the major and minor device numbers.

    If the file is a directory, mkfs makes the entries ``.'' and ``..'', then
    reads a list of names and (recursively) file specifications for the
    entries in the directory.  As noted above, the scan is terminated with
    the token ``$''.

    The gap blocks/cylinder argument in both forms of the command specifies
    the rotational gap and the number of blocks/cylinder.  This number must
    be greater than zero and less than 1500, or else the default of 400
    blocks/cylinder is used.

    XENIX filesystem options

    The -s option is a command-line override of the size and number of inodes
    in the proto file.

    AFS filesystem options

    The -Cclustersize option specifies the cluster size for the filesystem.
    The -C option must be the last option on the command line.  The cluster-
    size argument must take one of the values: 1, 2, 4, 8, or 16. The default
    cluster size used is 16.  (A cluster is a fixed number of logically con-
    tiguous disk blocks that are allocated to a file by the AFS or EAFS.  A
    bitmap representing block allocation on the disk is searched for a clus-
    ter in which at least one block is free for use.  As many of the free
    blocks from the cluster that are needed by the file are allocated to it.
    If the file needs more blocks, or if the file grows in size, then the
    search for a new cluster begins at the last block assigned to a file.  In
    this way, a file's blocks should be logically sequential and relatively
    close to each other.) If this option is specified, the filesystem created
    will be AFS regardless of the other options used (unless -E for EAFS is
    specified).

    EAFS filesystem options

    The -E option specifies that an EAFS filesystem is to be made.  The
    -Cclustersize option specifies the cluster size for the filesystem. The
    -E option must precede the -C option, and the -C option must be the last
    on the command line.

 Files

    /etc/vtoc/*

 See also

    chmod(C), dir(FP) and filesystem(FP).

 Notes

    With a prototype file, the maximum size of a file that can be copied in
    is dependent on the type of filesystem being created.

    The directory /etc/fscmd.d/fstyp contains programs for each filesystem
    type; mkfs invokes the appropriate binary.


Typewritten Software • bear@typewritten.org • Edmonds, WA 98026