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