OpenBSD manual page server

Manual Page Search Parameters

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

mknodmake device special files

mknod [-m mode] name b|c major minor

mknod [-m mode] name p

The mknod command creates device special files. 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.

The options are as follows:

mode
Set the file permission bits of newly created device special files to mode. The mode argument can be in any of the formats specified to the chmod(1) utility. If a symbolic mode is specified, the operators ‘+’ and ‘-’ are interpreted relative to an initial mode of “a=rw”.

To make nodes manually, the arguments are:

name
Device or FIFO name. For example “sd” for a SCSI disk or a “pty” for pseudo-devices. FIFOs may be named arbitrarily by the user.
| |
Type of device or FIFO. 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. A FIFO (also known as a named pipe) is type p.
major
The major device number is an integer number which tells the kernel which device driver entry point to use. To learn what major device number to use for a particular device, check the file /dev/MAKEDEV to see if the device is known.
minor
The minor device number tells the kernel which subunit the node corresponds to on the device; for example, a subunit may be a filesystem partition or a tty line.

Major and minor device numbers can be given in any format acceptable to strtoul(3), so that a leading “0x” indicates a hexadecimal number, and a leading “0” will cause the number to be interpreted as octal.

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

As an extension, mknod can also take multiple lists of parameters in one go. Note that -m is not reset from one list to the next so, for example, in

mknod -m 700 name b 12 5 name2 b 12 6

both name and name2 will be mode 700.

A mknod command appeared in Version 4 AT&T UNIX.

October 6, 2016 OpenBSD-6.7