.\" $NetBSD: mknod.8,v 1.27 2003/12/29 02:11:03 atatat Exp $ .\" .\" Copyright (c) 1980, 1991, 1993 .\" The Regents of the University of California. All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)mknod.8 8.2 (Berkeley) 12/11/93 .\" .Dd May 8, 2003 .Dt MKNOD 8 .Os .Sh NAME .Nm mknod .Nd make device special file .Sh SYNOPSIS .Nm .Op Fl rR .Op Fl F Ar fmt .Op Fl g Ar gid .Op Fl m Ar mode .Op Fl u Ar uid .Ar name .Op Cm c | Cm b .Ar major minor .Nm .Op Fl rR .Op Fl F Ar fmt .Op Fl g Ar gid .Op Fl m Ar mode .Op Fl u Ar uid .Ar name .Op Cm c | Cm b .Ar major unit subunit .Nm .Op Fl rR .Op Fl g Ar gid .Op Fl m Ar mode .Op Fl u Ar uid .Ar name .Op Cm c | Cm b .Ar number .Nm .Op Fl rR .Op Fl g Ar gid .Op Fl m Ar mode .Op Fl u Ar uid .Ar name .Cm p .Sh DESCRIPTION The .Nm command creates device special files, or fifos. Normally the shell script .Pa /dev/MAKEDEV is used to create special files for commonly known devices; it executes .Nm with the appropriate arguments and can make all the files required for the device. .Pp To make nodes manually, the arguments are: .Pp .Bl -tag -width xmxmode .It Fl r Replace an existing file if its type is incorrect. .It Fl R Replace an existing file if its type is incorrect. Correct the mode, user and group. .It Fl F Ar fmt Create device nodes that may be used by an operating system which uses device numbers packed in a different format than .Nx uses. This is necessary when .Nx is used as an .Tn NFS server for netbooted computers running other operating systems. .Pp The following values for the .Ar fmt are recognized: .Sy native , .Sy 386bsd , .Sy 4bsd , .Sy bsdos , .Sy freebsd , .Sy hpux , .Sy isc , .Sy linux , .Sy netbsd , .Sy osf1 , .Sy sco , .Sy solaris , .Sy sunos , .Sy svr3 , .Sy svr4 , and .Sy ultrix . .It Fl g Ar gid Specify the group for the device node. The .Ar 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 .Cm # to stop it being treated as a name. .It Fl m Ar mode Specify the mode for the device node. The mode may be absolute or symbolic, see .Xr chmod 1 . .It Fl u Ar uid Specify the user for the device node. The .Ar 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 .Cm # to stop it being treated as a name. .It Ar name Device name, for example .Dq sd for a SCSI disk on an HP300 or a .Dq pty for pseudo-devices. .It Cm b | Cm c | Cm 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 .Cm b . All other devices are character type devices, such as terminal and pseudo devices, and are type .Cm c . Specifying .Cm p creates fifo files. .It Ar major The major device number is an integer number which tells the kernel which device driver entry point to use. To find out which major device number to use for a particular device, check the file .Pa /dev/MAKEDEV to see if the device is known, or check the system dependent device configuration file: .Bd -filled -offset indent .Dq Pa /usr/src/sys/arch/\*[Lt]arch\*[Gt]/\*[Lt]arch\*[Gt]/conf.c .Ed .Pp .Po e.g. .Pa /usr/src/sys/arch/vax/vax/conf.c .Pc . .It Ar 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. .It Ar unit No and Ar 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 .Ar bsdos format, for compatibility with the .Bsx .Nm ) . .It Ar number A single opaque device number. Useful for netbooted computers which require device numbers packed in a format that isn't supported by .Fl F . .El .Sh SEE ALSO .Xr chmod 1 , .Xr mkfifo 1 , .Xr mkfifo 2 , .Xr mknod 2 , .Xr MAKEDEV 8 .Sh HISTORY A .Nm command appeared in .At v6 . The .Fl F option appeared in .Nx 1.4 . The .Fl g , m , r , R , and .Fl u options appeared in .Nx 2.0 .