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