tools/llvm: Do not build with symbols
[minix3.git] / sbin / mknod / mknod.8
blobb0d2a951503b8681dfdfbcfa822c68ccff4046d7
1 .\"     $NetBSD: mknod.8,v 1.28 2004/06/17 21:30:14 dsl 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. Neither the name of the University nor the names of its contributors
15 .\"    may be used to endorse or promote products derived from this software
16 .\"    without specific prior written permission.
17 .\"
18 .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
19 .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
20 .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
21 .\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
22 .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
23 .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
24 .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
25 .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
26 .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
27 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
28 .\" SUCH DAMAGE.
29 .\"
30 .\"     @(#)mknod.8     8.2 (Berkeley) 12/11/93
31 .\"
32 .Dd June 17, 2004
33 .Dt MKNOD 8
34 .Os
35 .Sh NAME
36 .Nm mknod
37 .Nd make device special file
38 .Sh SYNOPSIS
39 .Nm
40 .Op Fl rR
41 .Op Fl F Ar fmt
42 .Op Fl g Ar gid
43 .Op Fl m Ar mode
44 .Op Fl u Ar uid
45 .Ar name
46 .Op Cm c | Cm b
47 .Op Ar driver | Ar major
48 .Ar minor
49 .Nm
50 .Op Fl rR
51 .Op Fl F Ar fmt
52 .Op Fl g Ar gid
53 .Op Fl m Ar mode
54 .Op Fl u Ar uid
55 .Ar name
56 .Op Cm c | Cm b
57 .Ar major unit subunit
58 .Nm
59 .Op Fl rR
60 .Op Fl g Ar gid
61 .Op Fl m Ar mode
62 .Op Fl u Ar uid
63 .Ar name
64 .Op Cm c | Cm b
65 .Ar number
66 .Nm
67 .Op Fl rR
68 .Op Fl g Ar gid
69 .Op Fl m Ar mode
70 .Op Fl u Ar uid
71 .Ar name
72 .Cm p
73 .Nm
74 .Fl l
75 .Sh DESCRIPTION
76 The
77 .Nm
78 command creates device special files, or fifos.
79 Normally the shell script
80 .Pa /dev/MAKEDEV
81 is used to create special files for commonly known devices; it executes
82 .Nm
83 with the appropriate arguments and can make all the files required for the
84 device.
85 .Pp
86 To make nodes manually, the arguments are:
87 .Pp
88 .Bl -tag -width xmxmode
89 .It Fl r
90 Replace an existing file if its type is incorrect.
91 .It Fl R
92 Replace an existing file if its type is incorrect.
93 Correct the mode, user and group.
94 .It Fl F Ar fmt
95 Create device nodes that may be used by an operating system which
96 uses device numbers packed in a different format than
97 .Nx
98 uses.
99 This is necessary when
101 is used as an
102 .Tn NFS
103 server for netbooted computers running other operating systems.
105 The following values for the
106 .Ar fmt
107 are recognized:
108 .Sy native ,
109 .Sy 386bsd ,
110 .Sy 4bsd ,
111 .Sy bsdos ,
112 .Sy freebsd ,
113 .Sy hpux ,
114 .Sy isc ,
115 .Sy linux ,
116 .Sy netbsd ,
117 .Sy osf1 ,
118 .Sy sco ,
119 .Sy solaris ,
120 .Sy sunos ,
121 .Sy svr3 ,
122 .Sy svr4 ,
124 .Sy ultrix .
125 .It Fl g Ar gid
126 Specify the group for the device node.
128 .Ar gid
129 operand may be a numeric group ID or a group name.
130 If a group name is also a numeric group ID,
131 the operand is used as a group name.
132 Precede a numeric group ID with a
133 .Cm #
134 to stop it being treated as a name.
135 .It Fl m Ar mode
136 Specify the mode for the device node.
137 The mode may be absolute or symbolic, see
138 .Xr chmod 1 .
139 .It Fl u Ar uid
140 Specify the user for the device node.
142 .Ar uid
143 operand may be a numeric user ID or a user name.
144 If a user name is also a numeric user ID,
145 the operand is used as a user name.
146 Precede a numeric user ID with a
147 .Cm #
148 to stop it being treated as a name.
149 .It Ar name
150 Device name, for example
151 .Dq sd
152 for a SCSI disk on an HP300 or a
153 .Dq pty
154 for pseudo-devices.
155 .It Cm b | Cm c | Cm p
156 Type of device.
157 If the device is a block type device such as a tape or disk drive
158 which needs both cooked and raw special files, the type is
159 .Cm b .
160 All other devices are character type devices, such as terminal
161 and pseudo devices, and are type
162 .Cm c .
163 Specifying
164 .Cm p
165 creates fifo files.
166 .It Ar driver | Ar major
167 The major device number is an integer number which tells the kernel
168 which device driver entry point to use.
169 If the device driver is configured into the current kernel it may be
170 specified by driver name or major number.
171 To find out which major device number to use for a particular device,
174 .Fl l ,
175 check the file
176 .Pa /dev/MAKEDEV
177 to see if the device is known, or check
178 the system dependent device configuration file:
179 .Bd -filled -offset indent
180 .Dq Pa /usr/src/sys/arch/\*[Lt]arch\*[Gt]/\*[Lt]arch\*[Gt]/conf.c
184 e.g.
185 .Pa /usr/src/sys/arch/vax/vax/conf.c
186 .Pc .
187 .It Ar minor
188 The minor device number tells the kernel which one of several similar
189 devices the node corresponds to; for example, it may be a specific serial
190 port or pty.
191 .It Ar unit No and Ar subunit
192 The unit and subunit numbers select a subset of a device; for example, the
193 unit may specify a particular SCSI disk, and the subunit a partition on
194 that disk.
195 (Currently this form of specification is only supported by the
196 .Ar bsdos
197 format, for compatibility with the
198 .Bsx
199 .Nm ) .
200 .It Ar number
201 A single opaque device number.
202 Useful for netbooted computers which require device numbers packed
203 in a format that isn't supported by
204 .Fl F .
205 .It Fl l
206 List the device drivers configured into the current kernel together with their
207 block and character major numbers.
209 .Sh SEE ALSO
210 .Xr chmod 1 ,
211 .Xr mkfifo 1 ,
212 .Xr mkfifo 2 ,
213 .Xr mknod 2 ,
214 .Xr MAKEDEV 8
215 .Sh HISTORY
218 command appeared in
219 .At v6 .
221 .Fl F
222 option appeared in
223 .Nx 1.4 .
225 .Fl g , l , m , r , R ,
227 .Fl u
228 options, and the ability to specify a driver by name appeared in
229 .Nx 2.0 .