Glossary

initrd

The initrd (initial ramdisk) is a small filesystem image loaded into memory by the bootloader before the kernel starts, used to bootstrap the environment needed to mount the real root filesystem. Its original form was a compressed block-device image that the kernel treated as a ramdisk. It has been superseded by initramfs, a cpio archive unpacked into an in-memory tmpfs—but both are commonly referred to as "the initrd" in everyday speech.

Why is it needed? The root filesystem might live on an encrypted LVM volume, a software RAID array, an iSCSI target, or an NFS share—and the kernel proper contains only a minimal set of drivers. The initrd contains the additional modules, tools, and scripts needed to unlock, assemble, and mount that root filesystem, at which point it pivots to the real root and execs /sbin/init.

On Debian/Ubuntu, update-initramfs -u regenerates the image after kernel or module changes. On Fedora and Arch, dracut or mkinitcpio perform the same task. The resulting files live in /boot/initrd.img-* or /boot/initramfs-*.img. When a system refuses to boot after a kernel update, an incompatible or incomplete initramfs is often to blame; booting an older kernel from GRUB's menu is the standard recovery step.

Related terms: initramfs, GRUB, Kernel, /boot

Discussed in:

Also defined in: Textbook of Linux