Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

chmod(C)

dir(F)

filesystem(F)


     MKFS(ADM)                                  UNIX System V



     Name
          mkfs - constructs a filesystem


     Syntax
          /etc/mkfs [ -y | -n ]  [ -f fstype ] special blocks [ :inodes]
            [gap inblocks]
          /etc/mkfs special proto [gap inblocks]


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


          UNIX filesystem options
            [-b blocksize]


          AFS filesystem options
            [-c clustersize]


     Description
          mkfs constructs a file system by writing on the special file
          special , 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 -f  option  specifies  the  filesystem
          type, which can be one of the following:

          AFS (Acer Fast Filesystem)
          S51K (UNIX)
               XENIX
               DOS
          The AFS is the default filesystem type.


     Standard Options
          If it appears that the special file contains a file  system,
          operator  confirmation  is  requested before overwriting the
          data.  The -y ``yes'' option overrides this, and writes over
          any  existing  data  without question.  The -n option causes
          mkfs to terminate without question if the target contains an
          existing  file  system.  The check used is to read block one
          from the target device (block one is  the  super-block)  and
          see  whether  the bytes are the same.  If they are not, this
          is  taken  to  be  meaningful  data  and   confirmation   is
          requested.

          If the second argument to mkfs is a string  of  digits,  the
          size  of  the file system is the value of blocks interpreted
          as a decimal number. This is the number  of  physical  (512-
          byte)  disk  blocks  the  file  system  will occupy.  If the
          number of inodes is not given, the default is  approximately
          the  number  of  logical blocks divided by 4.  mkfs builds a
          file system 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 file system is to occupy and the number of inodes in the
          file system.

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

          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  file
          system   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(1)].

          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 path name 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 .. 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 inblocks argument  in  both  forms  of  the  command
          specifies   the   rotational   gap   and   the   number   of
          blocks/cylinder.


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


     UNIX filesystem options
          The -b blocksize option specifies the logical block size for
          the  file  system.   The logical block size is the number of
          bytes read or written by the operating system  in  a  single
          I/O  operation.   Valid  values for blocksize are 512, 1024,
          and 2048.  The default is 1024.  A block size of 2048 may be
          chosen  only if the 2K file system package is installed.  If
          the -b option is used, it must appear last  on  the  command
          line.


     AFS filesystem options
          The -Cclustersize option specifies the cluster size for  the
          filesystem.   This  only applies to AFS; if this is included
          on the command line, the  filesystem  created  will  be  AFS
          regardless of the other options used.


     Files
          /etc/vtoc/*


     See Also
          chmod(C), dir(F), filesystem(F)


     Notes
          With a prototype file, it is not possible to copy in a  file
          larger  than 64K bytes, nor is there a way to specify links.
          The maximum number of inodes configurable is 65500.

          The directory /etc/fscmd.d/TYPE contains programs  for  each
          file system type; mkfs invokes the appropriate binary.


     (printed 8/23/89)                                  MKFS(ADM)

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