1.\" $NetBSD: mknod.8,v 1.20 2001/10/08 01:40:43 mycroft Exp $ 2.\" 3.\" Copyright (c) 1980, 1991, 1993 4.\" The Regents of the University of California. All rights reserved. 5.\" 6.\" Redistribution and use in source and binary forms, with or without 7.\" modification, are permitted provided that the following conditions 8.\" are met: 9.\" 1. Redistributions of source code must retain the above copyright 10.\" notice, this list of conditions and the following disclaimer. 11.\" 2. Redistributions in binary form must reproduce the above copyright 12.\" notice, this list of conditions and the following disclaimer in the 13.\" documentation and/or other materials provided with the distribution. 14.\" 3. All advertising materials mentioning features or use of this software 15.\" must display the following acknowledgement: 16.\" This product includes software developed by the University of 17.\" California, Berkeley and its contributors. 18.\" 4. Neither the name of the University nor the names of its contributors 19.\" may be used to endorse or promote products derived from this software 20.\" without specific prior written permission. 21.\" 22.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 23.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 24.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 25.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 26.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 27.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 28.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 29.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 30.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 31.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 32.\" SUCH DAMAGE. 33.\" 34.\" @(#)mknod.8 8.2 (Berkeley) 12/11/93 35.\" 36.Dd September 11, 1998 37.Dt MKNOD 8 38.Os 39.Sh NAME 40.Nm mknod 41.Nd make device special file 42.Sh SYNOPSIS 43.Nm 44.Op Fl F Ar format 45.Ar name 46.Op Cm c | Cm b 47.Ar major minor 48.Nm "" 49.Op Fl F Ar format 50.Ar name 51.Op Cm c | Cm b 52.Ar major unit subunit 53.Nm "" 54.Ar name 55.Op Cm c | Cm b 56.Ar number 57.Nm "" 58.Ar name 59.Cm p 60.Sh DESCRIPTION 61The 62.Nm 63command creates device special files, or fifos. 64Normally the shell script 65.Pa /dev/MAKEDEV 66is used to create special files for commonly known devices; it executes 67.Nm 68with the appropriate arguments and can make all the files required for the 69device. 70.Pp 71To make nodes manually, the required arguments are: 72.Pp 73.Bl -tag -width majorx 74.It Ar name 75Device name, for example 76.Dq sd 77for a SCSI disk on an HP300 or a 78.Dq pty 79for pseudo-devices. 80.It Cm b | Cm c | Cm p 81Type of device. 82If the device is a block type device such as a tape or disk drive 83which needs both cooked and raw special files, the type is 84.Cm b . 85All other devices are character type devices, such as terminal 86and pseudo devices, and are type 87.Cm c . 88Specifying 89.Cm p 90creates fifo files. 91.It Ar major 92The major device number is an integer number which tells the kernel 93which device driver entry point to use. 94To learn what major device number to use for a particular device, 95check the file 96.Pa /dev/MAKEDEV 97to see if the device is known, or check 98the system dependent device configuration file: 99.Bd -filled -offset indent 100.Dq Pa /usr/src/sys/arch/<arch>/<arch>/conf.c 101.Ed 102.Pp 103.Po 104e.g. 105.Pa /usr/src/sys/arch/vax/vax/conf.c 106.Pc . 107.It Ar minor 108The minor device number tells the kernel which one of several similar 109devices the node corresponds to; for example, it may be a specific serial 110port or pty. 111.It Ar unit No and Ar subunit 112The unit and subunit numbers select a subset of a device; for example, the 113unit may specify a particular SCSI disk, and the subunit a partition on 114that disk. 115(Currently this form of specification is only supported by the 116.Ar bsdos 117format, for compatibility with the 118.Bsx 119.Xr mknod 8 ) . 120.El 121.Pp 122The 123.Fl F 124option is used to create device nodes that may be used by an 125operating system which uses device numbers packed in a different 126format than 127.Nx 128uses. 129This is necessary when 130.Nx 131is used as an 132.Tn NFS 133server for netbooted computers running other operating systems. 134.Pp 135The following values for the 136.Ar format 137following 138.Fl F 139are recognized: 140.Sy native , 141.Sy 386bsd , 142.Sy 4bsd , 143.Sy bsdos , 144.Sy freebsd , 145.Sy hpux , 146.Sy isc , 147.Sy linux , 148.Sy netbsd , 149.Sy osf1 , 150.Sy sco , 151.Sy solaris , 152.Sy sunos , 153.Sy svr3 , 154.Sy svr4 , 155and 156.Sy ultrix . 157.Pp 158Alternatively, a single opaque device number may be specified. 159.Sh SEE ALSO 160.Xr mkfifo 1 , 161.Xr mkfifo 2 , 162.Xr mknod 2 , 163.Xr MAKEDEV 8 164.Sh HISTORY 165A 166.Nm 167command appeared in 168.At v6 . 169The 170.Fl F 171option appeared in 172.Nx 1.4 . 173