The
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
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.
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=
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.