Sync usage with man page.
[netbsd-mini2440.git] / share / man / man8 / MAKEDEV.8.template
blob1c0aa235d2217b877c973fae4f8fdc8641e4fb89
1 .\" $NetBSD: MAKEDEV.8.template,v 1.18 2008/04/30 13:10:57 martin Exp $
2 .\"
3 .\" Copyright (c) 2001, 2003, 2007, 2008 The NetBSD Foundation, Inc.
4 .\" All rights reserved.
5 .\"
6 .\" This code is derived from software contributed to The NetBSD Foundation
7 .\" by Thomas Klausner.
8 .\"
9 .\" Redistribution and use in source and binary forms, with or without
10 .\" modification, are permitted provided that the following conditions
11 .\" are met:
12 .\" 1. Redistributions of source code must retain the above copyright
13 .\"    notice, this list of conditions and the following disclaimer.
14 .\" 2. Redistributions in binary form must reproduce the above copyright
15 .\"    notice, this list of conditions and the following disclaimer in the
16 .\"    documentation and/or other materials provided with the distribution.
17 .\"
18 .\" THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
19 .\" ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
20 .\" TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
21 .\" PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
22 .\" BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
23 .\" CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
24 .\" SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
25 .\" INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
26 .\" CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
27 .\" ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
28 .\" POSSIBILITY OF SUCH DAMAGE.
29 .\"
30 .Dd @@@DATE@@@
31 .Dt MAKEDEV 8
32 .Os
33 .Sh NAME
34 .Nm MAKEDEV
35 .Nd create system and device special files
36 .Sh SYNOPSIS
37 .\" Please keep this in sync with MAKEDEV.local.8
38 .Nm
39 .Op Fl fMs
40 .Op Fl m Ar mknod
41 .Op Fl p Ar pax
42 .Op Fl t Ar mtree
43 .Bro Ar special | device Brc Op Ar ...
44 .Sh DESCRIPTION
45 .Nm
46 is used to create system and device special files.
47 As arguments it takes the names of known devices, like
48 .Ar sd0 ,
49 or of special targets, like
50 .Pa all
52 .Pa std ,
53 which create a collection of device special files,
55 .Pa local ,
56 which invokes
57 .Xr MAKEDEV.local 8
58 with the
59 .Pa all
60 argument.
61 .Pp
62 The script is in
63 .Pa /dev/MAKEDEV .
64 Devices are created in the current working directory;
65 in normal use,
66 .Nm
67 should be invoked with
68 .Pa /dev
69 as the current working directory.
70 .Pp
71 Supported options are:
72 .Bl -tag -width XmXmknodXX
73 .It Fl f
74 Force permissions to be updated on existing devices.
75 This works only if
76 .Nm
77 invokes
78 .Xr mknod 8 ;
79 it is not compatible with the
80 .Fl p ,
81 .Fl s ,
83 .Fl t
84 options.
85 .It Fl M
86 Create a memory file system, union mounted over the current directory,
87 to contain the device special files.
88 The memory file system is created using
89 .Xr mount_tmpfs 8
91 .Xr mount_mfs 8 ,
92 in that order of preference.
93 .Pp
94 If the
95 .Fl M
96 flag is specified more than once, then
97 .Nm
98 assumes that it is being invoked from
99 .Xr init 8
100 to populate a memory file system for
101 .Pa /dev .
102 In this case,
104 will also redirect its output to the system console.
105 .It Fl m Ar mknod
106 Force the use of
107 .Xr mknod 8 ,
108 and specify the name or path to the
109 .Xr mknod 8
110 program.
111 [Usually, $TOOL_MKNOD or mknod.]
112 .It Fl p Ar pax
113 Force the use of
114 .Xr pax 1 ,
115 and specify the name or path to the
116 .Xr pax 1
117 program.
118 [Usually, $TOOL_PAX or pax.]
119 .It Fl s
120 Generate an
121 .Xr mtree 8
122 specfile instead of creating devices.
123 .It Fl t Ar mtree
124 Force the use of
125 .Xr mtree 8 ,
126 and specify the name or path to the
127 .Xr mtree 8
128 program.
129 [Usually, $TOOL_MTREE or mtree.]
133 has several possible methods of creating device nodes:
134 .Bl -bullet
136 By invoking the
137 .Xr mknod 8
138 command once for each device node.
139 This is the traditional method, but it is slow because each device node
140 is created using a new process.
143 .Fl m
144 option forces
146 to use the
147 .Xr mknod 8
148 method.
150 By internally creating a specfile in a format usable by
151 .Xr mtree 8 ,
152 and providing the specfile on standard input to a
153 .Xr pax 1
155 .Xr mtree 8
156 command, invoked with options that request it to create the device nodes
157 as well as any necessary subdirectories.
158 This is much faster than creating device nodes with
159 .Xr mknod 8 ,
160 because it requires much fewer processes;
161 however, it's not compatible with the
162 .Fl f
163 option.
166 .Fl p
168 .Fl t
169 options force
171 to use the
172 .Xr pax 1
174 .Xr mtree 8
175 methods.
177 If the
178 .Fl s
179 option is specified, then
181 will not create device nodes at all, but will output
182 a specfile in a format usable by
183 .Xr mtree 8 .
187 .Fl m , Fl p , Fl s ,
189 .Fl t
190 flags are mutually exclusive.
191 If none of these flags is specified, then
193 will use
194 .Xr mtree 8 ,
195 .Xr pax 1 ,
197 .Xr mknod 8 ,
198 in that order of preference, depending on which commands
199 appear to be available and usable.
200 In normal use, it's expected that
201 .Xr mtree 8
202 will be available, so it will be chosen.
205 is invoked by
206 .Xr init 8 ,
207 it's expected that
208 .Xr mtree 8
209 will not be available, but
210 .Xr pax 1
211 may be available.
213 The special targets supported on
215 are:
217 @@@SPECIAL@@@
219 Please note that any hash marks
220 .Pq Dq #
221 in the following list of supported device targets must be replaced by
222 digits when calling
223 .Nm :
225 @@@DEVICES@@@
226 .Sh ENVIRONMENT
227 The following environment variables affect the execution of
228 .Nm :
230 .Bl -tag -width indent
231 .It Ev MAKEDEV_AS_LIBRARY
232 If this is set, then
234 will define several shell functions and then return,
235 ignoring all its command line options and arguments.
236 This is used to enable
237 .Xr MAKEDEV.local 8
238 to use the shell functions defined in
239 .Nm .
241 .Sh FILES
242 .Bl -tag -width "/dev/MAKEDEV.local" -compact
243 .It Pa /dev
244 special device files directory
245 .It Pa /dev/MAKEDEV
246 script described in this man page
247 .It Pa /dev/MAKEDEV.local
248 script for site-specific devices
250 .Sh DIAGNOSTICS
251 If the script reports an error that is difficult to understand,
252 you can get more debugging output by using
253 .Dl Ic sh Fl x Ar MAKEDEV Ar argument .
254 .Sh SEE ALSO
255 .Xr config 1 ,
256 .Xr pax 1 ,
257 .Xr intro 4 ,
258 .Xr diskless 8 ,
259 .Xr init 8 ,
260 .Xr MAKEDEV.local 8 ,
261 .Xr mknod 8 ,
262 .Xr mount_mfs 8 ,
263 .Xr mount_tmpfs 8 ,
264 .Xr mtree 8
265 .Sh HISTORY
268 command appeared in
269 .Bx 4.2 .
271 .Fl f ,
272 .Fl m ,
274 .Fl s
275 options were added in
276 .Nx 2.0 .
278 .Fl p ,
279 .Fl t ,
281 .Fl M
282 options were added in
283 .Nx 5.0 .
284 The ability to be used as a function library was added in
285 .Nx 5.0 .
286 .Sh BUGS
288 .Fl f
289 option is not compatible with the use of
290 .Xr mtree 8
292 .Xr pax 1 .
293 .Sh NOTES
294 Not all devices listed in this manpage are supported on all platforms.
296 This man page is generated automatically from the same sources
298 .Pa /dev/MAKEDEV ,
299 in which the device files are not always sorted, which may result
300 in an unusual (non-alphabetical) order.
302 In order to allow a diskless
304 client to obtain its
305 .Pa /dev
306 directory from a file server running a foreign operating system,
307 one of the following techniques may be useful to populate
308 a directory of device nodes on the foreign server:
309 .Bl -bullet
311 If the foreign server is sufficiently similar to
312 .Nx ,
315 in an appropriate directory of the foreign server,
316 using the
317 .Fl m
318 flag to refer to a script that converts from command line
319 arguments that would be usable with the
321 .Xr mknod 8
322 command to the equivalent commands for the foreign server.
326 with the
327 .Fl s
328 flag to generate an
329 .Xr mtree 8
330 specification file; this can be done on any host with a
331 POSIX-compliant shell and a few widely-available utilities.
332 Use the
333 .Xr pax 1
334 command with the
335 .Fl w Fl M
336 flags to convert the
337 .Xr mtree 8
338 specification file into an archive
339 in a format that supports device nodes
340 (such as
341 .Ar ustar
342 format);
343 this can be done on a
345 host, or can be done in a cross-build environment using
346 .Sy TOOLDIR Ns Pa /bin/nbpax .
347 Finally, use apropriate tools on the foreign server
348 to unpack the archive and create the device nodes.