2000-12-31 11:20:49 +00:00
|
|
|
.\" Copyright (c) 1993 University of Utah.
|
|
|
|
.\" Copyright (c) 1980, 1989, 1991, 1993
|
|
|
|
.\" The Regents of the University of California. All rights reserved.
|
|
|
|
.\" Copyright (c) 2000
|
|
|
|
.\" Poul-Henning Kamp All rights reserved.
|
|
|
|
.\"
|
|
|
|
.\" This code is derived from software contributed to Berkeley by
|
|
|
|
.\" the Systems Programming Group of the University of Utah Computer
|
|
|
|
.\" Science Department.
|
|
|
|
.\"
|
|
|
|
.\" Redistribution and use in source and binary forms, with or without
|
|
|
|
.\" modification, are permitted provided that the following conditions
|
|
|
|
.\" are met:
|
|
|
|
.\" 1. Redistributions of source code must retain the above copyright
|
|
|
|
.\" notice, this list of conditions and the following disclaimer.
|
|
|
|
.\" 2. Redistributions in binary form must reproduce the above copyright
|
|
|
|
.\" notice, this list of conditions and the following disclaimer in the
|
|
|
|
.\" documentation and/or other materials provided with the distribution.
|
2014-03-14 03:07:51 +00:00
|
|
|
.\" 3. Neither the name of the University nor the names of its contributors
|
2000-12-31 11:20:49 +00:00
|
|
|
.\" may be used to endorse or promote products derived from this software
|
|
|
|
.\" without specific prior written permission.
|
|
|
|
.\"
|
|
|
|
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
|
|
|
|
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
|
|
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
|
|
|
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
|
|
|
|
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
|
|
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
|
|
|
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
|
|
|
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
|
|
|
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
|
|
|
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
|
|
|
.\" SUCH DAMAGE.
|
|
|
|
.\"
|
|
|
|
.\" @(#)vnconfig.8 8.1 (Berkeley) 6/5/93
|
|
|
|
.\" from: src/usr.sbin/vnconfig/vnconfig.8,v 1.19 2000/12/27 15:30:29
|
|
|
|
.\"
|
|
|
|
.\" $FreeBSD$
|
|
|
|
.\"
|
2017-08-28 15:54:07 +00:00
|
|
|
.Dd August 28, 2017
|
2000-12-31 11:20:49 +00:00
|
|
|
.Dt MDCONFIG 8
|
2001-07-10 11:04:34 +00:00
|
|
|
.Os
|
2000-12-31 11:20:49 +00:00
|
|
|
.Sh NAME
|
|
|
|
.Nm mdconfig
|
2015-08-06 07:47:13 +00:00
|
|
|
.Nd create and control memory disks
|
2000-12-31 11:20:49 +00:00
|
|
|
.Sh SYNOPSIS
|
|
|
|
.Nm
|
|
|
|
.Fl a
|
2001-07-15 07:53:42 +00:00
|
|
|
.Fl t Ar type
|
2003-06-11 06:38:24 +00:00
|
|
|
.Op Fl n
|
2004-05-17 08:35:43 +00:00
|
|
|
.Oo Fl o Oo Cm no Oc Ns Ar option Oc ...
|
2000-12-31 11:20:49 +00:00
|
|
|
.Op Fl f Ar file
|
2004-05-17 08:35:43 +00:00
|
|
|
.Op Fl s Ar size
|
2003-03-03 13:05:00 +00:00
|
|
|
.Op Fl S Ar sectorsize
|
2000-12-31 11:20:49 +00:00
|
|
|
.Op Fl u Ar unit
|
2003-09-21 19:05:35 +00:00
|
|
|
.Op Fl x Ar sectors/track
|
2010-11-13 15:28:44 +00:00
|
|
|
.Op Fl y Ar heads/cylinder
|
2017-08-28 15:54:07 +00:00
|
|
|
.Op Fl L Ar label
|
2000-12-31 11:20:49 +00:00
|
|
|
.Nm
|
|
|
|
.Fl d
|
|
|
|
.Fl u Ar unit
|
2009-01-10 17:17:18 +00:00
|
|
|
.Op Fl o Oo Cm no Oc Ns Ar force
|
2001-02-25 13:12:57 +00:00
|
|
|
.Nm
|
2012-07-07 20:32:21 +00:00
|
|
|
.Fl r
|
|
|
|
.Fl u Ar unit
|
|
|
|
.Fl s Ar size
|
|
|
|
.Op Fl o Oo Cm no Oc Ns Ar force
|
|
|
|
.Nm
|
2001-02-25 13:12:57 +00:00
|
|
|
.Fl l
|
2003-06-11 06:38:24 +00:00
|
|
|
.Op Fl n
|
2008-06-21 15:04:42 +00:00
|
|
|
.Op Fl v
|
2013-06-20 14:30:16 +00:00
|
|
|
.Op Fl f Ar file
|
2001-02-25 13:12:57 +00:00
|
|
|
.Op Fl u Ar unit
|
2011-04-29 22:40:11 +00:00
|
|
|
.Nm
|
|
|
|
.Ar file
|
2000-12-31 11:20:49 +00:00
|
|
|
.Sh DESCRIPTION
|
|
|
|
The
|
|
|
|
.Nm
|
2015-08-06 07:47:13 +00:00
|
|
|
utility creates and controls
|
2001-01-10 14:53:46 +00:00
|
|
|
.Xr md 4
|
2000-12-31 11:20:49 +00:00
|
|
|
devices.
|
|
|
|
.Pp
|
|
|
|
Options indicate an action to be performed:
|
|
|
|
.Bl -tag -width indent
|
|
|
|
.It Fl a
|
2001-01-10 14:53:46 +00:00
|
|
|
Attach a memory disk.
|
|
|
|
This will configure and attach a memory disk with the
|
2000-12-31 11:20:49 +00:00
|
|
|
parameters specified and attach it to the system.
|
2013-10-26 15:05:27 +00:00
|
|
|
If the
|
|
|
|
.Fl u Ar unit
|
|
|
|
option is not provided, the newly created device name will be printed on stdout.
|
2000-12-31 11:20:49 +00:00
|
|
|
.It Fl d
|
2001-01-10 14:53:46 +00:00
|
|
|
Detach a memory disk from the system and release all resources.
|
2012-07-07 20:32:21 +00:00
|
|
|
.It Fl r
|
|
|
|
Resize a memory disk.
|
2001-07-15 07:53:42 +00:00
|
|
|
.It Fl t Ar type
|
2000-12-31 11:20:49 +00:00
|
|
|
Select the type of the memory disk.
|
2012-04-09 01:20:50 +00:00
|
|
|
.Bl -tag -width "malloc"
|
2001-01-10 14:53:46 +00:00
|
|
|
.It Cm malloc
|
2000-12-31 11:20:49 +00:00
|
|
|
Storage for this type of memory disk is allocated with
|
|
|
|
.Xr malloc 9 .
|
|
|
|
This limits the size to the malloc bucket limit in the kernel.
|
2004-01-02 14:28:06 +00:00
|
|
|
If the
|
|
|
|
.Fl o Cm reserve
|
|
|
|
option is not set, creating and filling a large
|
|
|
|
malloc-backed memory disk is a very easy way to
|
2015-08-06 07:47:13 +00:00
|
|
|
panic the system.
|
2001-01-10 14:53:46 +00:00
|
|
|
.It Cm vnode
|
2001-07-15 07:53:42 +00:00
|
|
|
A file specified with
|
2000-12-31 11:20:49 +00:00
|
|
|
.Fl f Ar file
|
2007-11-11 08:12:21 +00:00
|
|
|
becomes the backing store for this memory disk.
|
2001-01-10 14:53:46 +00:00
|
|
|
.It Cm swap
|
2007-11-28 12:11:36 +00:00
|
|
|
Storage for this type of memory disk is allocated from buffer
|
2007-11-28 12:29:59 +00:00
|
|
|
memory.
|
2012-04-09 01:20:50 +00:00
|
|
|
Pages get pushed out to swap when the system is under memory
|
2007-11-28 12:29:59 +00:00
|
|
|
pressure, otherwise they stay in the operating memory.
|
|
|
|
Using
|
2007-11-28 12:11:36 +00:00
|
|
|
.Cm swap
|
2012-04-09 01:20:50 +00:00
|
|
|
backing is generally preferred instead of using
|
2007-11-28 12:11:36 +00:00
|
|
|
.Cm malloc
|
|
|
|
backing.
|
2013-12-04 07:38:23 +00:00
|
|
|
.It Cm null
|
|
|
|
Bitsink; all writes do nothing, all reads return zeroes.
|
2000-12-31 11:20:49 +00:00
|
|
|
.El
|
|
|
|
.It Fl f Ar file
|
2012-04-09 01:20:50 +00:00
|
|
|
Filename to use for the vnode type memory disk.
|
|
|
|
The
|
2007-02-20 21:29:30 +00:00
|
|
|
.Fl a
|
|
|
|
and
|
|
|
|
.Fl t Ar vnode
|
2012-04-09 01:20:50 +00:00
|
|
|
options are implied if not specified.
|
2001-02-25 13:12:57 +00:00
|
|
|
.It Fl l
|
2004-11-06 14:03:37 +00:00
|
|
|
List configured devices.
|
2004-11-06 10:21:12 +00:00
|
|
|
If given with
|
|
|
|
.Fl u ,
|
|
|
|
display details about that particular device.
|
2013-06-20 14:30:16 +00:00
|
|
|
If given with
|
|
|
|
.Fl f Ar file ,
|
|
|
|
display
|
|
|
|
.Xr md 4
|
|
|
|
device names of which
|
|
|
|
.Ar file
|
|
|
|
is used as the backing store.
|
|
|
|
If both of
|
|
|
|
.Fl u
|
|
|
|
and
|
|
|
|
.Fl f
|
|
|
|
options are specified,
|
2013-06-29 16:05:44 +00:00
|
|
|
display devices which match the two conditions.
|
2012-04-09 01:20:50 +00:00
|
|
|
If the
|
2008-06-21 15:04:42 +00:00
|
|
|
.Fl v
|
2012-04-09 01:20:50 +00:00
|
|
|
option is specified, show all details.
|
2003-06-11 06:38:24 +00:00
|
|
|
.It Fl n
|
2012-05-12 19:59:37 +00:00
|
|
|
When printing
|
2012-04-09 01:20:50 +00:00
|
|
|
.Xr md 4
|
|
|
|
device names, print only the unit number without the
|
|
|
|
.Xr md 4
|
|
|
|
prefix.
|
2000-12-31 11:20:49 +00:00
|
|
|
.It Fl s Ar size
|
|
|
|
Size of the memory disk.
|
|
|
|
.Ar Size
|
2004-02-19 19:53:07 +00:00
|
|
|
is the number of 512 byte sectors unless suffixed with a
|
2015-10-10 09:37:31 +00:00
|
|
|
.Cm b , k , m , g , t ,
|
2001-01-10 14:53:46 +00:00
|
|
|
or
|
2015-10-10 09:37:31 +00:00
|
|
|
.Cm p
|
2001-01-10 14:53:46 +00:00
|
|
|
which
|
2015-10-10 09:37:31 +00:00
|
|
|
denotes byte, kilobyte, megabyte, gigabyte, terabyte and petabyte respectively.
|
2015-08-06 07:47:13 +00:00
|
|
|
When used without the
|
|
|
|
.Fl r
|
|
|
|
option, the
|
2007-02-20 21:29:30 +00:00
|
|
|
.Fl a
|
|
|
|
and
|
2007-02-20 22:04:23 +00:00
|
|
|
.Fl t Ar swap
|
2012-04-09 01:20:50 +00:00
|
|
|
options are implied if not specified.
|
2003-03-03 13:05:00 +00:00
|
|
|
.It Fl S Ar sectorsize
|
2012-06-27 12:19:28 +00:00
|
|
|
Sectorsize to use for the memory disk, in bytes.
|
2003-09-21 19:05:35 +00:00
|
|
|
.It Fl x Ar sectors/track
|
2004-05-17 08:35:43 +00:00
|
|
|
See the description of the
|
|
|
|
.Fl y
|
|
|
|
option below.
|
2003-09-21 19:05:35 +00:00
|
|
|
.It Fl y Ar heads/cylinder
|
2004-05-17 08:35:43 +00:00
|
|
|
For
|
|
|
|
.Cm malloc
|
|
|
|
or
|
|
|
|
.Cm vnode
|
|
|
|
backed devices, the
|
2003-09-21 19:05:35 +00:00
|
|
|
.Fl x
|
|
|
|
and
|
|
|
|
.Fl y
|
|
|
|
options can be used to specify a synthetic geometry.
|
|
|
|
This is useful for constructing bootable images for later download to
|
|
|
|
other devices.
|
2017-08-28 15:54:07 +00:00
|
|
|
.It Fl L Ar label
|
|
|
|
Associate a label (arbitrary string) with the new memory disk.
|
|
|
|
The label can then be inspected with
|
|
|
|
.Bd -literal -offset indent
|
|
|
|
.Nm Fl l v
|
|
|
|
.Ed
|
2001-08-10 10:41:30 +00:00
|
|
|
.It Fl o Oo Cm no Oc Ns Ar option
|
2000-12-31 11:20:49 +00:00
|
|
|
Set or reset options.
|
|
|
|
.Bl -tag -width indent
|
2004-03-10 20:41:09 +00:00
|
|
|
.It Oo Cm no Oc Ns Cm async
|
2004-05-17 08:35:43 +00:00
|
|
|
For
|
|
|
|
.Cm vnode
|
|
|
|
backed devices: avoid
|
|
|
|
.Dv IO_SYNC
|
|
|
|
for increased performance but
|
2004-03-10 20:41:09 +00:00
|
|
|
at the risk of deadlocking the entire kernel.
|
2001-08-10 10:41:30 +00:00
|
|
|
.It Oo Cm no Oc Ns Cm reserve
|
2000-12-31 11:20:49 +00:00
|
|
|
Allocate and reserve all needed storage from the start, rather than as needed.
|
2001-08-10 10:41:30 +00:00
|
|
|
.It Oo Cm no Oc Ns Cm cluster
|
2000-12-31 11:20:49 +00:00
|
|
|
Enable clustering on this disk.
|
2001-08-10 10:41:30 +00:00
|
|
|
.It Oo Cm no Oc Ns Cm compress
|
2012-04-09 01:20:50 +00:00
|
|
|
Enable/disable compression features to reduce memory usage.
|
2001-08-10 10:41:30 +00:00
|
|
|
.It Oo Cm no Oc Ns Cm force
|
2012-04-09 01:20:50 +00:00
|
|
|
Disable/enable extra sanity checks to prevent the user from doing something
|
2001-08-07 19:23:16 +00:00
|
|
|
that might adversely affect the system.
|
2015-08-06 07:47:13 +00:00
|
|
|
This can be used with the
|
2015-08-06 07:49:34 +00:00
|
|
|
.Fl d
|
2015-08-06 07:47:13 +00:00
|
|
|
flag to forcibly destroy an
|
|
|
|
.Xr md 4
|
|
|
|
disk that is still in use.
|
2001-08-10 10:41:30 +00:00
|
|
|
.It Oo Cm no Oc Ns Cm readonly
|
2012-04-09 01:20:50 +00:00
|
|
|
Enable/disable readonly mode.
|
2017-05-31 21:18:11 +00:00
|
|
|
.It Oo Cm no Oc Ns Cm verify
|
|
|
|
For
|
|
|
|
.Cm vnode
|
|
|
|
backed devices: enable/disable requesting verification of the
|
|
|
|
file used for backing store.
|
|
|
|
The type of verification depends on which security features are available.
|
|
|
|
One example of verification is testing file integrity with
|
|
|
|
checksums or cryptographic signatures.
|
2000-12-31 11:20:49 +00:00
|
|
|
.El
|
2001-01-01 23:08:26 +00:00
|
|
|
.It Fl u Ar unit
|
2013-10-26 15:05:27 +00:00
|
|
|
Request a specific unit number or device name for the
|
2001-01-10 14:53:46 +00:00
|
|
|
.Xr md 4
|
2001-02-26 15:31:47 +00:00
|
|
|
device instead of automatic allocation.
|
2013-10-26 15:05:27 +00:00
|
|
|
If a device name is specified, it must be start with
|
|
|
|
.Dq md
|
|
|
|
followed by the unit number.
|
2000-12-31 11:20:49 +00:00
|
|
|
.El
|
2011-04-29 22:40:11 +00:00
|
|
|
.Pp
|
|
|
|
The last form,
|
|
|
|
.Nm
|
|
|
|
.Ar file ,
|
|
|
|
is provided for convenience as an abbreviation of
|
|
|
|
.Nm
|
|
|
|
.Fl a
|
|
|
|
.Fl t Ar vnode
|
|
|
|
.Fl f Ar file .
|
2000-12-31 11:20:49 +00:00
|
|
|
.Sh EXAMPLES
|
2015-08-06 07:47:13 +00:00
|
|
|
Create a disk with
|
2000-12-31 11:20:49 +00:00
|
|
|
.Pa /tmp/boot.flp
|
2015-08-06 07:47:13 +00:00
|
|
|
as backing storage.
|
|
|
|
The name of the allocated unit will be printed on stdout, such as
|
|
|
|
.Dq Li md0 :
|
|
|
|
.Bd -literal -offset indent
|
|
|
|
mdconfig /tmp/boot.flp
|
|
|
|
.Ed
|
2000-12-31 11:20:49 +00:00
|
|
|
.Pp
|
2015-08-06 07:47:13 +00:00
|
|
|
Create a 1 gigabyte swap backed memory disk named
|
|
|
|
.Dq Li md3 :
|
|
|
|
.Bd -literal -offset indent
|
|
|
|
mdconfig -s 1g -u md3
|
|
|
|
.Ed
|
2000-12-31 11:20:49 +00:00
|
|
|
.Pp
|
2012-04-09 01:20:50 +00:00
|
|
|
Detach and free all resources used by
|
2015-08-06 07:47:13 +00:00
|
|
|
.Pa /dev/md3 :
|
|
|
|
.Bd -literal -offset indent
|
|
|
|
mdconfig -du md3
|
|
|
|
.Ed
|
|
|
|
.Pp
|
|
|
|
Show detailed information on current memory disks:
|
|
|
|
.Bd -literal -offset indent
|
|
|
|
mdconfig -lv
|
|
|
|
.Ed
|
2000-12-31 11:20:49 +00:00
|
|
|
.Pp
|
2015-08-06 07:47:13 +00:00
|
|
|
Resize the
|
|
|
|
.Dq Li md3
|
|
|
|
memory disk to 2 gigabytes:
|
|
|
|
.Bd -literal -offset indent
|
|
|
|
mdconfig -rs 2g -u md3
|
|
|
|
.Ed
|
2000-12-31 11:20:49 +00:00
|
|
|
.Pp
|
2015-08-06 07:47:13 +00:00
|
|
|
Create a 1 gigabyte swap backed disk, initialize an
|
2007-11-11 08:12:21 +00:00
|
|
|
.Xr ffs 7
|
|
|
|
file system on it, and mount it on
|
2000-12-31 11:20:49 +00:00
|
|
|
.Pa /tmp :
|
2001-01-10 14:53:46 +00:00
|
|
|
.Bd -literal -offset indent
|
2015-08-06 07:47:13 +00:00
|
|
|
mdconfig -s 1g -u md10
|
2002-09-26 21:29:10 +00:00
|
|
|
newfs -U /dev/md10
|
|
|
|
mount /dev/md10 /tmp
|
2001-01-28 20:03:02 +00:00
|
|
|
chmod 1777 /tmp
|
2001-01-10 14:53:46 +00:00
|
|
|
.Ed
|
2003-10-11 09:59:25 +00:00
|
|
|
.Pp
|
2015-08-06 07:47:13 +00:00
|
|
|
Create a memory disk out of an ISO 9660 CD image file,
|
|
|
|
using the first available
|
2007-11-11 08:12:21 +00:00
|
|
|
.Xr md 4
|
2015-08-06 07:47:13 +00:00
|
|
|
device, and then mount it:
|
2007-05-18 13:57:17 +00:00
|
|
|
.Bd -literal -offset indent
|
2007-11-11 08:12:21 +00:00
|
|
|
mount -t cd9660 /dev/`mdconfig -f cdimage.iso` /mnt
|
2012-11-04 03:19:07 +00:00
|
|
|
.Ed
|
2015-08-06 07:47:13 +00:00
|
|
|
.Pp
|
2012-11-04 03:19:07 +00:00
|
|
|
Create a file-backed device from a hard disk image that begins
|
|
|
|
with 512K of raw header information.
|
|
|
|
.Xr gnop 8
|
|
|
|
is used to skip over the header information, positioning
|
|
|
|
.Pa md1.nop
|
|
|
|
to the start of the filesystem in the image.
|
|
|
|
.Bd -literal -offset indent
|
2015-08-06 07:47:13 +00:00
|
|
|
mdconfig -u md1 -f diskimage.img
|
2012-11-04 03:19:07 +00:00
|
|
|
gnop create -o 512K md1
|
|
|
|
mount /dev/md1.nop /mnt
|
2007-05-18 13:57:17 +00:00
|
|
|
.Ed
|
2000-12-31 11:20:49 +00:00
|
|
|
.Sh SEE ALSO
|
2017-05-31 21:18:11 +00:00
|
|
|
.Xr open 2 ,
|
2000-12-31 11:20:49 +00:00
|
|
|
.Xr md 4 ,
|
2007-11-11 08:12:21 +00:00
|
|
|
.Xr ffs 7 ,
|
2015-09-02 14:08:43 +00:00
|
|
|
.Xr gpart 8 ,
|
2003-04-27 01:46:56 +00:00
|
|
|
.Xr mdmfs 8 ,
|
2001-01-10 14:53:46 +00:00
|
|
|
.Xr malloc 9
|
2001-03-09 20:09:28 +00:00
|
|
|
.Sh HISTORY
|
|
|
|
The
|
|
|
|
.Nm
|
2002-07-06 19:34:18 +00:00
|
|
|
utility first appeared in
|
2001-03-09 20:09:28 +00:00
|
|
|
.Fx 5.0
|
|
|
|
as a cleaner replacement for the
|
|
|
|
.Xr vn 4
|
2001-07-15 07:53:42 +00:00
|
|
|
and
|
2001-03-09 20:09:28 +00:00
|
|
|
.Xr vnconfig 8
|
|
|
|
combo.
|
|
|
|
.Sh AUTHORS
|
|
|
|
The
|
|
|
|
.Nm
|
2002-07-06 19:34:18 +00:00
|
|
|
utility was written by
|
2014-06-20 09:40:43 +00:00
|
|
|
.An Poul-Henning Kamp Aq Mt phk@FreeBSD.org .
|