NAME
initrd
—
initial ramdisk image as early
userland
DESCRIPTION
Theinitrd
is a small initial ramdisk image that packs a
minimal init(8), basic
rc(8) scripts, and many other statically linked tools, such as various
mount(8) utilities,
lvm(8),
cryptsetup(8),
tcplay(8), as well as some networking tools. The
initrd
is a nice early userland and is required to
help mount the root partition residing on an encrypted device or LVM.
The statically linked tools are known as the “rescue
tools” and shipped at /rescue. The inclusion
of such rescue tools makes initrd
can provide with a
powerful rescue environment to fix severe problems, e.g., the root partition
cannot be mounted. Users can also choose to boot into the rescue mode from
the bootloader menu.
The initrd
is a
md(4) image formatted with the
UFS(5) filesystem. It is created by the “initrd” target
of the build(7) framework, and is compressed and installed at
/boot/kernel/initrd.img.gz. The following
configurations should be added to /boot/loader.conf
to make use of the initrd
image:
initrd.img_load="YES" initrd.img_type="md_image" vfs.root.mountfrom="ufs:md0s0"
Then, the “vfs.root.realroot” kernel environment variable can be configured to specify how to mount the real root partition. Its general syntax is:
vfs.root.realroot="<type>:[arg1[:arg2[:...]]]"
Currently, the supported types of real root partition are: local, crypt, and tcplay. The local type allows to mount any local filesystem that does not require any special setup apart from the initial discovery and calling the mount(8) program. The general format is as follows:
vfs.root.realroot="local:<FS-TYPE>:<DEVICE-PATH>[:<OPTIONS>]"
The crypt and tcplay types allow to mount volumes supported by cryptsetup(8) and tcplay(8), respectively. The device will be set up after asking the user for the key, and this volume will then be mounted as the root. The general formats are as follows:
vfs.root.realroot="crypt:<FS-TYPE>:<DEVICE-PATH>:<MAPPING-NAME>[:<OPTIONS>]" vfs.root.realroot="tcplay:<FS-TYPE>:<DEVICE-PATH>:<MAPPING-NAME>[:<OPTIONS>]"
FILES
- /boot/kernel/initrd.img.gz
- Location of the compressed
initrd
image.
EXAMPLES
vfs.root.realroot="local:ufs:/dev/vg00/lv0[:OPTIONS]" vfs.root.realroot="crypt:ufs:/dev/ad0s0a:secvolume[:OPTIONS]" vfs.root.realroot="crypt:hammer2:/dev/serno/XXXXXX.s1d:root[:OPTIONS]"
SEE ALSO
md(4), loader.conf(5), build(7), cryptsetup(8), lvm(8), tcplay(8)
HISTORY
The initrd
manual page first appeared in
DragonFly 5.3.
AUTHORS
The initrd
manual page was written by
Aaron LI
<aly@aaronly.me>.
BUGS
The initrd
image occupies about 10-15 MB
wired memory and cannot be freed after chrooting to the real root
partition.