MD(4)

NAME
md - memory disk

SYNOPSIS
device md

DESCRIPTION
The md driver provides support for four kinds of memory backed virtual disks:

malloc
    Backing store is allocated using malloc(9). Only one malloc-bucket is used, which means that all md devices with malloc backing must share the malloc-per-bucket-quota. The exact size of this quota varies, in particular with the amount of RAM in the system. The exact value can be determined with vmstat(8).

preload
    A file loaded by loader(8) with type ‘md_image’ is used for backing store. For backwards compatibility the type ‘mfs_root’ is also recognized. If the kernel is created with option MD_ROOT the first preloaded image found will become the root file system.

vnode
    A regular file is used as backing store. This allows for mounting ISO images without the tedious detour over actual physical media.

swap
    Backing store 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.

For more information, please see mdconfig(8).

EXAMPLES
To create a kernel with a ramdisk or MD file system, your kernel config needs the following options:

    options 	MD_ROOT			# MD is a potential root device
    options		MD_ROOT_SIZE=8192	# 8MB ram disk
    makeoptions	MFS_IMAGE=/h/foo/ARM-MD
    options 	ROOTDEVNAME=\"ufs:md0\"

The image in /h/foo/ARM-MD will be loaded as the initial image each boot. To create the image to use, please follow the steps to create a file-backed disk found in the mdconfig(8) man page. Other tools will also create these images, such as NanoBSD.

SEE ALSO
gpart(8), loader(8), mdconfig(8), mdmfs(8), newfs(8), vmstat(8)

HISTORY
The md driver first appeared in FreeBSD 4.0 as a cleaner replacement for the MFS functionality previously used in PicoBSD and in the FreeBSD installation process.

The md driver did a hostile takeover of the vn(4) driver in FreeBSD 5.0.

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