xref: /freebsd/share/man/man4/md.4 (revision d6b92ffa)
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 gpart 8 ,
85.Xr loader 8 ,
86.Xr mdconfig 8 ,
87.Xr mdmfs 8 ,
88.Xr newfs 8 ,
89.Xr vmstat 8
90.Sh HISTORY
91The
92.Nm
93driver first appeared in
94.Fx 4.0
95as a cleaner replacement
96for the MFS functionality previously used in
97.Tn PicoBSD
98and in the
99.Fx
100installation process.
101.Pp
102The
103.Nm
104driver did a hostile takeover of the
105.Xr vn 4
106driver in
107.Fx 5.0 .
108.Sh AUTHORS
109The
110.Nm
111driver was written by
112.An Poul-Henning Kamp Aq Mt phk@FreeBSD.org .
113