70cccb5ce0
of this kind. Describe how to compile the driver into the kernel and how to load it as a module. This is useful for people using the MINIMAL kernel configuration file. PR: 218610 Submitted by: Harald Schmalzbauer (bugzilla.freebsd@omnilan.de) Reviewed by: noone (1 month inactivity) MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D12271
125 lines
3.0 KiB
Groff
125 lines
3.0 KiB
Groff
.\" ----------------------------------------------------------------------------
|
|
.\" "THE BEER-WARE LICENSE" (Revision 42):
|
|
.\" <phk@FreeBSD.org> wrote this file. As long as you retain this notice you
|
|
.\" can do whatever you want with this stuff. If we meet some day, and you think
|
|
.\" this stuff is worth it, you can buy me a beer in return. Poul-Henning Kamp
|
|
.\" ----------------------------------------------------------------------------
|
|
.\"
|
|
.\" $FreeBSD$
|
|
.\"
|
|
.Dd November 5, 2017
|
|
.Dt MD 4
|
|
.Os
|
|
.Sh NAME
|
|
.Nm md
|
|
.Nd memory disk
|
|
.Sh SYNOPSIS
|
|
To compile this driver into the kernel,
|
|
place the following lines in your
|
|
kernel configuration file:
|
|
.Bd -ragged -offset indent
|
|
.Cd "device md"
|
|
.Ed
|
|
.Pp
|
|
Alternatively, to load the driver as a
|
|
module at boot time, place the following line in
|
|
.Xr loader.conf 5 :
|
|
.Bd -literal -offset indent
|
|
geom_md_load="YES"
|
|
.Ed
|
|
.Sh DESCRIPTION
|
|
The
|
|
.Nm
|
|
driver provides support for four kinds of memory backed virtual disks:
|
|
.Bl -tag -width preload
|
|
.It Cm malloc
|
|
Backing store is allocated using
|
|
.Xr malloc 9 .
|
|
Only one malloc-bucket is used, which means that all
|
|
.Nm
|
|
devices with
|
|
.Cm 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
|
|
.Xr vmstat 8 .
|
|
.It Cm preload
|
|
A file loaded by
|
|
.Xr loader 8
|
|
with type
|
|
.Sq md_image
|
|
is used for backing store.
|
|
For backwards compatibility the type
|
|
.Sq mfs_root
|
|
is also recognized.
|
|
If the kernel is created with option
|
|
.Dv MD_ROOT
|
|
the first preloaded image found will become the root file system.
|
|
.It Cm vnode
|
|
A regular file is used as backing store.
|
|
This allows for mounting ISO images without the tedious
|
|
detour over actual physical media.
|
|
.It Cm 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
|
|
.Cm swap
|
|
backing is generally preferable over
|
|
.Cm malloc
|
|
backing.
|
|
.El
|
|
.Pp
|
|
For more information, please see
|
|
.Xr mdconfig 8 .
|
|
.Sh EXAMPLES
|
|
To create a kernel with a ramdisk or MD file system, your kernel config
|
|
needs the following options:
|
|
.Bd -literal -offset indent
|
|
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\\"
|
|
.Ed
|
|
.Pp
|
|
The image in
|
|
.Pa /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
|
|
.Xr mdconfig 8
|
|
man page.
|
|
Other tools will also create these images, such as NanoBSD.
|
|
.Sh SEE ALSO
|
|
.Xr gpart 8 ,
|
|
.Xr loader 8 ,
|
|
.Xr mdconfig 8 ,
|
|
.Xr mdmfs 8 ,
|
|
.Xr newfs 8 ,
|
|
.Xr vmstat 8
|
|
.Sh HISTORY
|
|
The
|
|
.Nm
|
|
driver first appeared in
|
|
.Fx 4.0
|
|
as a cleaner replacement
|
|
for the MFS functionality previously used in
|
|
.Tn PicoBSD
|
|
and in the
|
|
.Fx
|
|
installation process.
|
|
.Pp
|
|
The
|
|
.Nm
|
|
driver did a hostile takeover of the
|
|
.Xr vn 4
|
|
driver in
|
|
.Fx 5.0 .
|
|
.Sh AUTHORS
|
|
The
|
|
.Nm
|
|
driver was written by
|
|
.An Poul-Henning Kamp Aq Mt phk@FreeBSD.org .
|