Updated: 2022/Sep/29

Please read Privacy Policy. It's for your privacy.


MKNOD(8)                    System Manager's Manual                   MKNOD(8)

NAME
     mknod - make device special file

SYNOPSIS
     mknod [-rR] [-F fmt] [-g gid] [-m mode] [-u uid] name [c | b]
           [driver | major] minor
     mknod [-rR] [-F fmt] [-g gid] [-m mode] [-u uid] name [c | b]
           major unit subunit
     mknod [-rR] [-g gid] [-m mode] [-u uid] name [c | b] number
     mknod [-rR] [-g gid] [-m mode] [-u uid] name p
     mknod -l

DESCRIPTION
     The mknod command creates device special files, or fifos.  Normally the
     shell script /dev/MAKEDEV is used to create special files for commonly
     known devices; it executes mknod with the appropriate arguments and can
     make all the files required for the device.

     To make nodes manually, the arguments are:

     -r       Replace an existing file if its type is incorrect.

     -R       Replace an existing file if its type is incorrect.  Correct the
              mode, user and group.

     -F fmt   Create device nodes that may be used by an operating system
              which uses device numbers packed in a different format than
              NetBSD uses.  This is necessary when NetBSD is used as an NFS
              server for netbooted computers running other operating systems.

              The following values for the fmt are recognized: native, 386bsd,
              4bsd, bsdos, freebsd, hpux, isc, linux, netbsd, osf1, sco,
              solaris, sunos, svr3, svr4, and ultrix.

     -g gid   Specify the group for the device node.  The gid operand may be a
              numeric group ID or a group name.  If a group name is also a
              numeric group ID, the operand is used as a group name.  Precede
              a numeric group ID with a # to stop it being treated as a name.

     -m mode  Specify the mode for the device node.  The mode may be absolute
              or symbolic, see chmod(1).

     -u uid   Specify the user for the device node.  The uid operand may be a
              numeric user ID or a user name.  If a user name is also a
              numeric user ID, the operand is used as a user name.  Precede a
              numeric user ID with a # to stop it being treated as a name.

     name     Device name, for example "sd" for a SCSI disk on an HP300 or a
              "pty" for pseudo-devices.

     b | c | p
              Type of device.  If the device is a block type device such as a
              tape or disk drive which needs both cooked and raw special
              files, the type is b.  All other devices are character type
              devices, such as terminal and pseudo devices, and are type c.
              Specifying p creates fifo files.

     driver | major
              The major device number is an integer number which tells the
              kernel which device driver entry point to use.  If the device
              driver is configured into the current kernel it may be specified
              by driver name or major number.  To find out which major device
              number to use for a particular device, use mknod -l, check the
              file /dev/MAKEDEV to see if the device is known, or check the
              system dependent device configuration file:

                    "/usr/src/sys/arch/<arch>/<arch>/conf.c"

              (e.g.  /usr/src/sys/arch/vax/vax/conf.c).

     minor    The minor device number tells the kernel which one of several
              similar devices the node corresponds to; for example, it may be
              a specific serial port or pty.

     unit and subunit
              The unit and subunit numbers select a subset of a device; for
              example, the unit may specify a particular SCSI disk, and the
              subunit a partition on that disk.  (Currently this form of
              specification is only supported by the bsdos format, for
              compatibility with the BSD/OS mknod).

     number   A single opaque device number.  Useful for netbooted computers
              which require device numbers packed in a format that isn't
              supported by -F.

     -l       List the device drivers configured into the current kernel
              together with their block and character major numbers.

SEE ALSO
     chmod(1), mkfifo(1), mkfifo(2), mknod(2), MAKEDEV(8)

HISTORY
     A mknod command appeared in Version 4 AT&T UNIX.  The -F option appeared
     in NetBSD 1.4.  The -g, -l, -m, -r, -R, and -u options, and the ability
     to specify a driver by name appeared in NetBSD 2.0.

NetBSD 10.99                  September 12, 2016                  NetBSD 10.99