xref: /freebsd/sbin/mdconfig/mdconfig.8 (revision b28624fde638caadd4a89f50c9b7e7da0f98c4d2)
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 May 18, 2007
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/cyl
62.Nm
63.Fl d
64.Fl u Ar unit
65.Nm
66.Fl l
67.Op Fl n
68.Op Fl u Ar unit
69.Sh DESCRIPTION
70The
71.Nm
72utility configures and enables
73.Xr md 4
74devices.
75.Pp
76Options indicate an action to be performed:
77.Bl -tag -width indent
78.It Fl a
79Attach a memory disk.
80This will configure and attach a memory disk with the
81parameters specified and attach it to the system.
82.It Fl d
83Detach a memory disk from the system and release all resources.
84.It Fl t Ar type
85Select the type of the memory disk.
86.Bl -tag -width "preload"
87.It Cm malloc
88Storage for this type of memory disk is allocated with
89.Xr malloc 9 .
90This limits the size to the malloc bucket limit in the kernel.
91If the
92.Fl o Cm reserve
93option is not set, creating and filling a large
94malloc-backed memory disk is a very easy way to
95panic a system.
96.It Cm vnode
97A file specified with
98.Fl f Ar file
99becomes the backingstore for this memory disk.
100.It Cm swap
101Swap space is used to back this memory disk.
102.El
103.It Fl f Ar file
104Filename to use for the vnode type memory disk. Options
105.Fl a
106and
107.Fl t Ar vnode
108are implied if not specified.
109.It Fl l
110List configured devices.
111If given with
112.Fl u ,
113display details about that particular device.
114.It Fl n
115When printing md device names, print only the unit number without the
116md prefix.
117.It Fl s Ar size
118Size of the memory disk.
119.Ar Size
120is the number of 512 byte sectors unless suffixed with a
121.Cm b , k , m , g ,
122or
123.Cm t
124which
125denotes byte, kilobyte, megabyte, gigabyte and terabyte respectively. Options
126.Fl a
127and
128.Fl t Ar swap
129are implied if not specified.
130.It Fl S Ar sectorsize
131Sectorsize to use for malloc backed device.
132.It Fl x Ar sectors/track
133See the description of the
134.Fl y
135option below.
136.It Fl y Ar heads/cylinder
137For
138.Cm malloc
139or
140.Cm vnode
141backed devices, the
142.Fl x
143and
144.Fl y
145options can be used to specify a synthetic geometry.
146This is useful for constructing bootable images for later download to
147other devices.
148.It Fl o Oo Cm no Oc Ns Ar option
149Set or reset options.
150.Bl -tag -width indent
151.It Oo Cm no Oc Ns Cm async
152For
153.Cm vnode
154backed devices: avoid
155.Dv IO_SYNC
156for increased performance but
157at the risk of deadlocking the entire kernel.
158.It Oo Cm no Oc Ns Cm reserve
159Allocate and reserve all needed storage from the start, rather than as needed.
160.It Oo Cm no Oc Ns Cm cluster
161Enable clustering on this disk.
162.It Oo Cm no Oc Ns Cm compress
163Enable/Disable compression features to reduce memory usage.
164.It Oo Cm no Oc Ns Cm force
165Disable/Enable extra sanity checks to prevent the user from doing something
166that might adversely affect the system.
167.It Oo Cm no Oc Ns Cm readonly
168Enable/Disable readonly mode.
169.El
170.It Fl u Ar unit
171Request a specific unit number for the
172.Xr md 4
173device instead of automatic allocation.
174.El
175.Sh EXAMPLES
176To create a 4 megabyte
177.Xr malloc 9
178backed memory disk.
179The name of the allocated unit will be output on stdout like
180.Dq Li md3 :
181.Pp
182.Dl mdconfig -a -t malloc -s 4m
183.Pp
184To create a disk named
185.Pa /dev/md4
186with
187.Pa /tmp/boot.flp
188as backing:
189.Pp
190.Dl mdconfig -a -t vnode -f /tmp/boot.flp -u 4
191.Pp
192To detach and free all resources used by
193.Pa /dev/md4 :
194.Pp
195.Dl mdconfig -d -u 4
196.Pp
197To create and mount a 128MByte swap backed file system on
198.Pa /tmp :
199.Bd -literal -offset indent
200mdconfig -a -t swap -s 128M -u 10
201newfs -U /dev/md10
202mount /dev/md10 /tmp
203chmod 1777 /tmp
204.Ed
205.Pp
206To create a 5MB file-backed disk (
207.Fl -a
208and
209.Fl -t Ar vnode
210are implied):
211.Bd -literal -offset indent
212dd if=/dev/zero of=somebackingfile bs=1k count=5k
213mdconfig -f somebackingfile -u 0
214bsdlabel -w md0 auto
215newfs md0c
216mount /dev/md0c /mnt
217.Ed
218.Pp
219To mount an ISO 9660 CD image file:
220.Bd -literal -offset indent
221mdconfig -a -t vnode -u 10 -f cdimage.iso
222mount_cd9660 /dev/md10 /mnt
223.Ed
224.Sh SEE ALSO
225.Xr md 4 ,
226.Xr bsdlabel 8 ,
227.Xr fdisk 8 ,
228.Xr mdmfs 8 ,
229.Xr malloc 9
230.Sh HISTORY
231The
232.Nm
233utility first appeared in
234.Fx 5.0
235as a cleaner replacement for the
236.Xr vn 4
237and
238.Xr vnconfig 8
239combo.
240.Sh AUTHORS
241The
242.Nm
243utility was written by
244.An Poul-Henning Kamp
245.Aq phk@FreeBSD.org .
246