initramfs, abbreviated from "initial RAM file system", is the successor of initrd. It is a cpio archive of the initial file system that gets loaded into memory during the Linux startup process. The Linux kernel mounts it as root file system and starts the init process from it. This will complete certain tasks before the real root file system is loaded; thus, initramfs needs to contain all of the device drivers and tools needed to mount the real root filesystem.
For some applications, initramfs can utilize casper utility to create a writable environment using unionfs to overlay a persistence layer over a read-only root filesystem image. For example, overlay data can be stored on a USB flash drive, while a compressed SquashFS read-only image stored on a live CD acts as a root filesystem.
The initramfs is one solution to the "chicken or the egg" problem of some mass storage devices and some file systems—especially cryptographic file systems—requiring complex device drivers to read data from them, when device drivers are normally stored inside the file system in the mass storage device.
- "Linux kernel documentation: Documentation/filesystems/ramfs-rootfs-initramfs.txt". kernel.org. 2013-09-17. Retrieved 2014-03-13.
- "Ubuntu Manpage: casper - a hook for initramfs-tools to boot live systems". manpages.ubuntu.com.
- Shawn Powers. "Casper, the Friendly (and Persistent) Ghost". Linux Journal. 2012.
|This Linux-related article is a stub. You can help Wikipedia by expanding it.|