Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages


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

     mdconfig -- configure and enable memory disks

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

     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.

     -r	     Resize a memory disk.

     -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 swap when the
		     system is under memory pressure, otherwise	they stay in
		     the operating memory.  Using swap backing is generally
		     preferred instead of using	malloc backing.

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

     -l	     List configured devices.  If given	with -u, display details about
	     that particular device.  If given with -f file, display md(4) de-
	     vice names	of which file is used as the backing store.  If	both
	     of	-u and -f options are specified, display devices which match
	     the two conditions.  If the -v option is specified, show all de-

     -n	     When printing md(4) device	names, print only the unit number
	     without the md(4) 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.  The -a and
	     -t	swap options are implied if not	specified.

     -S	sectorsize
	     Sectorsize	to use for the memory disk, in bytes.

     -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.

		     For vnode backed devices: avoid IO_SYNC for increased
		     performance but at	the risk of deadlocking	the entire

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

		     Enable clustering on this disk.

		     Enable/disable compression	features to reduce memory us-

		     Disable/enable extra sanity checks	to prevent the user
		     from doing	something that might adversely affect the sys-

		     Enable/disable readonly mode.

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

     The last form, mdconfig file, is provided for convenience as an abbrevia-
     tion of mdconfig -a -t vnode -f file.

     Create a 4	megabyte malloc(9) backed memory disk.	The name of the	allo-
     cated unit	will be	printed	on stdout, such	as "md3":

	   mdconfig -a -t malloc -s 4m

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

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

     Detach and	free all resources used	by /dev/md4:

	   mdconfig -d -u 4

     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

     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

     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

     Create a file-backed device from a	hard disk image	that begins with 512K
     of	raw header information.	 gnop(8) is used to skip over the header in-
     formation,	positioning md1.nop to the start of the	filesystem in the im-

	   mdconfig -f diskimage.img -u	1
	   gnop	create -o 512K md1
	   mount /dev/md1.nop /mnt

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

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

     The mdconfig utility was written by Poul-Henning Kamp <>.

BSD				 June 20, 2013				   BSD


Want to link to this manual page? Use this URL:

home | help