home | help
MDCONFIG(8)		     System Manager's Manual		     MDCONFIG(8)

NAME
     mdconfig -- configure and enable memory disks

SYNOPSIS
     mdconfig -a -t type [-n] [-o [no]option] ... [-f file] [-s size]
	      [-S sectorsize] [-u unit] [-x sectors/track] [-y heads/cyl]
     mdconfig -d -u unit [-o [no]force]
     mdconfig -l [-n] [-v] [-u unit]

DESCRIPTION
     The mdconfig utility configures and enables md(4) devices.

     Options indicate an action to be performed:

     -a      Attach a memory disk.  This will configure and attach a memory disk
	     with the parameters specified and attach it to the system.

     -d      Detach a memory disk from the system and release all resources.

     -t type
	     Select the type of the memory disk.

	     malloc   Storage  for  this  type	of memory disk is allocated with
		      malloc(9).  This limits the  size  to  the  malloc  bucket
		      limit in the kernel.  If the -o reserve option is not set,
		      creating	and filling a large malloc-backed memory disk is
		      a very easy way to panic a system.

	     vnode    A file specified with -f file becomes  the  backing  store
		      for this memory disk.

	     swap     Storage  for  this  type	of memory disk is allocated from
		      buffer memory.  Pages get pushed out to the swap when  the
		      system  is  under  memory pressure, otherwise they stay in
		      the operating memory.  Using  swap  backing  is  generally
		      preferable over malloc backing.

     -f file
	     Filename  to  use for the vnode type memory disk. Options -a and -t
	     vnode are implied if not specified.

     -l      List configured devices.  If given with -u, display  details  about
	     that particular device.  If -v option specified, show all details.

     -n      When  printing  md device names, print only the unit number without
	     the md prefix.

     -s size
	     Size of the memory disk.  Size is the number of  512  byte  sectors
	     unless  suffixed  with a b, k, m, g, or t which denotes byte, kilo-
	     byte, megabyte, gigabyte and terabyte respectively. Options -a  and
	     -t swap are implied if not specified.

     -S sectorsize
	     Sectorsize to use for malloc backed device.

     -x sectors/track
	     See the description of the -y option below.

     -y heads/cylinder
	     For  malloc  or  vnode backed devices, the -x and -y options can be
	     used to specify a synthetic geometry.   This  is  useful  for  con-
	     structing bootable images for later download to other devices.

     -o [no]option
	     Set or reset options.

	     [no]async
		     For  vnode backed devices: avoid IO_SYNC for increased per-
		     formance but at the risk of deadlocking the entire kernel.

	     [no]reserve
		     Allocate and reserve all needed  storage  from  the  start,
		     rather than as needed.

	     [no]cluster
		     Enable clustering on this disk.

	     [no]compress
		     Enable/Disable compression features to reduce memory usage.

	     [no]force
		     Disable/Enable extra sanity checks to prevent the user from
		     doing something that might adversely affect the system.

	     [no]readonly
		     Enable/Disable readonly mode.

     -u unit
	     Request  a specific unit number for the md(4) device instead of au-
	     tomatic allocation.

EXAMPLES
     To create a 4 megabyte malloc(9) backed memory disk.  The name of the allo-
     cated unit will be output on stdout like "md3":

	   mdconfig -a -t malloc -s 4m

     To create a disk named /dev/md4 with /tmp/boot.flp as backing storage:

	   mdconfig -a -t vnode -f /tmp/boot.flp -u 4

     To detach and free all resources used by /dev/md4:

	   mdconfig -d -u 4

     To create a 128MByte swap backed disk, initialize an ffs(7) file system  on
     it, and mount it on /tmp:

	   mdconfig -a -t swap -s 128M -u 10
	   newfs -U /dev/md10
	   mount /dev/md10 /tmp
	   chmod 1777 /tmp

     To create a 5MB file-backed disk (-a and -t vnode are implied):

	   dd if=/dev/zero of=somebackingfile bs=1k count=5k
	   mdconfig -f somebackingfile -u 0
	   bsdlabel -w md0 auto
	   newfs md0c
	   mount /dev/md0c /mnt

     To create an md(4) device out of an ISO 9660 CD image file (-a and -t vnode
     are  implied),  using  the first available md(4) device, and then mount the
     new memory disk:

	   mount -t cd9660 /dev/`mdconfig -f cdimage.iso` /mnt

SEE ALSO
     md(4), ffs(7), bsdlabel(8), fdisk(8), mdmfs(8), malloc(9)

HISTORY
     The mdconfig utility first appeared in FreeBSD 5.0 as a cleaner replacement
     for the vn(4) and vnconfig(8) combo.

AUTHORS
     The mdconfig utility was written by Poul-Henning Kamp <phk@FreeBSD.org>.

FreeBSD 8.2			  June 21, 2008 		     MDCONFIG(8)

home | help