xref: /freebsd/sbin/mdconfig/mdconfig.8 (revision a98ff317388a00b992f1bf8404dee596f9383f5e)
1.\" Copyright (c) 1993 University of Utah.
2.\" Copyright (c) 1980, 1989, 1991, 1993
3.\"	The Regents of the University of California.  All rights reserved.
4.\" Copyright (c) 2000
5.\"	Poul-Henning Kamp  All rights reserved.
6.\"
7.\" This code is derived from software contributed to Berkeley by
8.\" the Systems Programming Group of the University of Utah Computer
9.\" Science Department.
10.\"
11.\" Redistribution and use in source and binary forms, with or without
12.\" modification, are permitted provided that the following conditions
13.\" are met:
14.\" 1. Redistributions of source code must retain the above copyright
15.\"    notice, this list of conditions and the following disclaimer.
16.\" 2. Redistributions in binary form must reproduce the above copyright
17.\"    notice, this list of conditions and the following disclaimer in the
18.\"    documentation and/or other materials provided with the distribution.
19.\" 3. All advertising materials mentioning features or use of this software
20.\"    must display the following acknowledgement:
21.\"	This product includes software developed by the University of
22.\"	California, Berkeley and its contributors.
23.\" 4. Neither the name of the University nor the names of its contributors
24.\"    may be used to endorse or promote products derived from this software
25.\"    without specific prior written permission.
26.\"
27.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
28.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
29.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
30.\" ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
31.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
32.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
33.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
34.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
35.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
36.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
37.\" SUCH DAMAGE.
38.\"
39.\"     @(#)vnconfig.8	8.1 (Berkeley) 6/5/93
40.\" from: src/usr.sbin/vnconfig/vnconfig.8,v 1.19 2000/12/27 15:30:29
41.\"
42.\" $FreeBSD$
43.\"
44.Dd June 20, 2013
45.Dt MDCONFIG 8
46.Os
47.Sh NAME
48.Nm mdconfig
49.Nd configure and enable memory disks
50.Sh SYNOPSIS
51.Nm
52.Fl a
53.Fl t Ar type
54.Op Fl n
55.Oo Fl o Oo Cm no Oc Ns Ar option Oc ...
56.Op Fl f Ar file
57.Op Fl s Ar size
58.Op Fl S Ar sectorsize
59.Op Fl u Ar unit
60.Op Fl x Ar sectors/track
61.Op Fl y Ar heads/cylinder
62.Nm
63.Fl d
64.Fl u Ar unit
65.Op Fl o Oo Cm no Oc Ns Ar force
66.Nm
67.Fl r
68.Fl u Ar unit
69.Fl s Ar size
70.Op Fl o Oo Cm no Oc Ns Ar force
71.Nm
72.Fl l
73.Op Fl n
74.Op Fl v
75.Op Fl f Ar file
76.Op Fl u Ar unit
77.Nm
78.Ar file
79.Sh DESCRIPTION
80The
81.Nm
82utility configures and enables
83.Xr md 4
84devices.
85.Pp
86Options indicate an action to be performed:
87.Bl -tag -width indent
88.It Fl a
89Attach a memory disk.
90This will configure and attach a memory disk with the
91parameters specified and attach it to the system.
92.It Fl d
93Detach a memory disk from the system and release all resources.
94.It Fl r
95Resize a memory disk.
96.It Fl t Ar type
97Select the type of the memory disk.
98.Bl -tag -width "malloc"
99.It Cm malloc
100Storage for this type of memory disk is allocated with
101.Xr malloc 9 .
102This limits the size to the malloc bucket limit in the kernel.
103If the
104.Fl o Cm reserve
105option is not set, creating and filling a large
106malloc-backed memory disk is a very easy way to
107panic a system.
108.It Cm vnode
109A file specified with
110.Fl f Ar file
111becomes the backing store for this memory disk.
112.It Cm swap
113Storage for this type of memory disk is allocated from buffer
114memory.
115Pages get pushed out to swap when the system is under memory
116pressure, otherwise they stay in the operating memory.
117Using
118.Cm swap
119backing is generally preferred instead of using
120.Cm malloc
121backing.
122.El
123.It Fl f Ar file
124Filename to use for the vnode type memory disk.
125The
126.Fl a
127and
128.Fl t Ar vnode
129options are implied if not specified.
130.It Fl l
131List configured devices.
132If given with
133.Fl u ,
134display details about that particular device.
135If given with
136.Fl f Ar file ,
137display
138.Xr md 4
139device names of which
140.Ar file
141is used as the backing store.
142If both of
143.Fl u
144and
145.Fl f
146options are specified,
147display devices which match the two conditions.
148If the
149.Fl v
150option is specified, show all details.
151.It Fl n
152When printing
153.Xr md 4
154device names, print only the unit number without the
155.Xr md 4
156prefix.
157.It Fl s Ar size
158Size of the memory disk.
159.Ar Size
160is the number of 512 byte sectors unless suffixed with a
161.Cm b , k , m , g ,
162or
163.Cm t
164which
165denotes byte, kilobyte, megabyte, gigabyte and terabyte respectively.
166The
167.Fl a
168and
169.Fl t Ar swap
170options are implied if not specified.
171.It Fl S Ar sectorsize
172Sectorsize to use for the memory disk, in bytes.
173.It Fl x Ar sectors/track
174See the description of the
175.Fl y
176option below.
177.It Fl y Ar heads/cylinder
178For
179.Cm malloc
180or
181.Cm vnode
182backed devices, the
183.Fl x
184and
185.Fl y
186options can be used to specify a synthetic geometry.
187This is useful for constructing bootable images for later download to
188other devices.
189.It Fl o Oo Cm no Oc Ns Ar option
190Set or reset options.
191.Bl -tag -width indent
192.It Oo Cm no Oc Ns Cm async
193For
194.Cm vnode
195backed devices: avoid
196.Dv IO_SYNC
197for increased performance but
198at the risk of deadlocking the entire kernel.
199.It Oo Cm no Oc Ns Cm reserve
200Allocate and reserve all needed storage from the start, rather than as needed.
201.It Oo Cm no Oc Ns Cm cluster
202Enable clustering on this disk.
203.It Oo Cm no Oc Ns Cm compress
204Enable/disable compression features to reduce memory usage.
205.It Oo Cm no Oc Ns Cm force
206Disable/enable extra sanity checks to prevent the user from doing something
207that might adversely affect the system.
208.It Oo Cm no Oc Ns Cm readonly
209Enable/disable readonly mode.
210.El
211.It Fl u Ar unit
212Request a specific unit number for the
213.Xr md 4
214device instead of automatic allocation.
215.El
216.Pp
217The last form,
218.Nm
219.Ar file ,
220is provided for convenience as an abbreviation of
221.Nm
222.Fl a
223.Fl t Ar vnode
224.Fl f Ar file .
225.Sh EXAMPLES
226Create a 4 megabyte
227.Xr malloc 9
228backed memory disk.
229The name of the allocated unit will be printed on stdout, such as
230.Dq Li md3 :
231.Pp
232.Dl mdconfig -a -t malloc -s 4m
233.Pp
234Create a disk named
235.Pa /dev/md4
236with
237.Pa /tmp/boot.flp
238as backing storage:
239.Pp
240.Dl mdconfig -a -t vnode -f /tmp/boot.flp -u 4
241.Pp
242Detach and free all resources used by
243.Pa /dev/md4 :
244.Pp
245.Dl mdconfig -d -u 4
246.Pp
247Create a 128MByte swap backed disk, initialize an
248.Xr ffs 7
249file system on it, and mount it on
250.Pa /tmp :
251.Bd -literal -offset indent
252mdconfig -a -t swap -s 128M -u 10
253newfs -U /dev/md10
254mount /dev/md10 /tmp
255chmod 1777 /tmp
256.Ed
257.Pp
258Create a 5MB file-backed disk
259.Po Fl a
260and
261.Fl t Ar vnode
262are implied
263.Pc :
264.Bd -literal -offset indent
265dd if=/dev/zero of=somebackingfile bs=1k count=5k
266mdconfig -f somebackingfile -u 0
267bsdlabel -w md0 auto
268newfs md0c
269mount /dev/md0c /mnt
270.Ed
271.Pp
272Create an
273.Xr md 4
274device out of an ISO 9660 CD image file
275.Po Fl a
276and
277.Fl t Ar vnode
278are implied
279.Pc , using the first available
280.Xr md 4
281device, and then mount the new memory disk:
282.Bd -literal -offset indent
283mount -t cd9660 /dev/`mdconfig -f cdimage.iso` /mnt
284.Pp
285.Ed
286Create a file-backed device from a hard disk image that begins
287with 512K of raw header information.
288.Xr gnop 8
289is used to skip over the header information, positioning
290.Pa md1.nop
291to the start of the filesystem in the image.
292.Bd -literal -offset indent
293mdconfig -f diskimage.img -u 1
294gnop create -o 512K md1
295mount /dev/md1.nop /mnt
296.Ed
297.Sh SEE ALSO
298.Xr md 4 ,
299.Xr ffs 7 ,
300.Xr bsdlabel 8 ,
301.Xr fdisk 8 ,
302.Xr mdmfs 8 ,
303.Xr malloc 9
304.Sh HISTORY
305The
306.Nm
307utility first appeared in
308.Fx 5.0
309as a cleaner replacement for the
310.Xr vn 4
311and
312.Xr vnconfig 8
313combo.
314.Sh AUTHORS
315The
316.Nm
317utility was written by
318.An Poul-Henning Kamp
319.Aq phk@FreeBSD.org .
320