Initrd
Filesystems |
---|
Virtual Filesystems |
Disk Filesystems |
CD/DVD Filesystems |
Network Filesystems |
Flash Filesystems |
"Initrd" stands for "initial ramdisk".
A modular kernel (like a Microkernel or Modular Kernel) commonly faces a chicken-and-egg problem: In order to initialize the hardware, it needs to load driver modules; in order to load anything from disk, it needs the necessary drivers (e.g. IDE / SATA, filesystem driver etc.).
An initial ramdisk is one way to solve this problem. Elementary modules are packed into a single file, which is then loaded together with the kernel by the bootloader. The kernel can then use the in-memory Initrd to initialize elementary hardware (e.g. those required for mass storage access).
The format of the image is totally depending on the kernel and its version. It could be a compressed archive of a "real" ramdisk with filesystem semantics, which is uncompressed in memory, or it could be a flat image.
Popular bootloaders like GRUB support loading initial ramdisks. GRUB also supports loading additional kernel modules directly.