MKNOD(8) BSD System Manager’s Manual MKNOD(8)


mknod — make device special file


mknod [−F format] name [b] major minor
[−F format] name [b] major unit subunit
[b] number


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.

To make nodes manually, the required arguments are:


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

b | c

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.


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, or check the system dependent device configuration file:


(for example device.hp300).


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(8) .)

Device numbers for different operating systems may be packed in a different format. To create device nodes that may be used by such an operating system (e.g. in an exported file system used for netbooting), the −F option is used. The following formats are recognized: native, 386bsd, 4bsd, bsdos, freebsd, hpux, isc, linux, netbsd, osf1, sco, solaris, sunos, svr3, svr4 and ultrix.

Alternatively, a single opaque device number may be specified.


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


A mknod command appeared in Version 6 AT&T UNIX. The −F option appeared in NetBSD 1.4.

NetBSD 1.4 September 11, 1998 NetBSD 1.4