xref: /freebsd/share/man/man4/md.4 (revision 1aaed33edb24c98a09130cd66667d6a795b6b2a8)
1.\" ----------------------------------------------------------------------------
2.\" "THE BEER-WARE LICENSE" (Revision 42):
3.\" <phk@FreeBSD.org> wrote this file.  As long as you retain this notice you
4.\" can do whatever you want with this stuff. If we meet some day, and you think
5.\" this stuff is worth it, you can buy me a beer in return.   Poul-Henning Kamp
6.\" ----------------------------------------------------------------------------
7.\"
8.\" $FreeBSD$
9.\"
10.Dd October 30, 2007
11.Dt MD 4
12.Os
13.Sh NAME
14.Nm md
15.Nd memory disk
16.Sh SYNOPSIS
17.Cd device md
18.Sh DESCRIPTION
19The
20.Nm
21driver provides support for four kinds of memory backed virtual disks:
22.Bl -tag -width preload
23.It Cm malloc
24Backing store is allocated using
25.Xr malloc 9 .
26Only one malloc-bucket is used, which means that all
27.Nm
28devices with
29.Cm malloc
30backing must share the malloc-per-bucket-quota.
31The exact size of this quota varies, in particular with the amount
32of RAM in the
33system.
34The exact value can be determined with
35.Xr vmstat 8 .
36.It Cm preload
37A file loaded by
38.Xr loader 8
39with type
40.Sq md_image
41is used for backing store.
42For backwards compatibility the type
43.Sq mfs_root
44is also recognized.
45If the kernel is created with option
46.Dv MD_ROOT
47the first preloaded image found will become the root file system.
48.It Cm vnode
49A regular file is used as backing store.
50This allows for mounting ISO images without the tedious
51detour over actual physical media.
52.It Cm swap
53Backing store is allocated from buffer memory.
54Pages get pushed out to the swap when the system is under memory
55pressure, otherwise they stay in the operating memory.
56Using
57.Cm swap
58backing is generally preferable over
59.Cm malloc
60backing.
61.El
62.Pp
63For more information, please see
64.Xr mdconfig 8 .
65.Sh EXAMPLES
66To create a kernel with a ramdisk or MD file system, your kernel config
67needs the following options:
68.Bd -literal -offset indent
69options 	MD_ROOT			# MD is a potential root device
70options		MD_ROOT_SIZE=8192	# 8MB ram disk
71makeoptions	MFS_IMAGE=/h/foo/ARM-MD
72options 	ROOTDEVNAME=\\"ufs:md0\\"
73.Ed
74.Pp
75The image in
76.Pa /h/foo/ARM-MD
77will be loaded as the initial image each boot.
78To create the image to use, please follow the steps to create a file-backed
79disk found in the
80.Xr mdconfig 8
81man page.
82Other tools will also create these images, such as NanoBSD.
83.Sh SEE ALSO
84.Xr disklabel 8 ,
85.Xr fdisk 8 ,
86.Xr loader 8 ,
87.Xr mdconfig 8 ,
88.Xr mdmfs 8 ,
89.Xr newfs 8 ,
90.Xr vmstat 8
91.Sh HISTORY
92The
93.Nm
94driver first appeared in
95.Fx 4.0
96as a cleaner replacement
97for the MFS functionality previously used in
98.Tn PicoBSD
99and in the
100.Fx
101installation process.
102.Pp
103The
104.Nm
105driver did a hostile takeover of the
106.Xr vn 4
107driver in
108.Fx 5.0 .
109.Sh AUTHORS
110The
111.Nm
112driver was written by
113.An Poul-Henning Kamp
114.Aq phk@FreeBSD.org .
115