initrd provides the capability to load a RAM disk by the boot loader. This RAM disk can then be mounted as the root file system and programs can be run from it. Afterwards, a new root file system can be mounted from a different device. The previous root (from initrd) is then moved to a directory and can be subsequently unmounted. initrd is mainly designed to allow system startup to occur in two phases, where the kernel comes up with a minimum set of compiled-in drivers, and where additional modules are loaded from initrd.
initrd is mainly designed to allow system startup to occur in two phases, where the kernel comes up with a minimum set of compiled-in drivers, and where additional modules are loaded from initrd.(abstract from http://www.kernel.org/doc/Documentation/kernel-parameters.txt)
The initrd files are usually in /boot directory, named /boot/initrd.img-kversion with a /initrd.img being a symbolic link to the latest installed initrd.
The typical Debian user should not care about the initrd because it is created automatically at kernel image'd post-installation time. Anyway you can configure the behaviour of this process with the file /etc/kernel-img.conf. Note: If it works, do not touch it.
initrd kernel parameter
The initrd=filename kernel parameter Specify the location of the initial ramdisk (which can be either a plain 2.4's initrd or a 2.6's initramfs).
Initramfs image (kernel >= 2.6)
Kernel 2.6 is expecting the initrd file to be a (compressed) cpio archive, to be uncompressed in a ramdisk, known as initramfs. Debian automatically uses initramfs-tools or yaird to create and/or update an appropriate initrd for the system.
If you're using initramfs-tools, you can configure it and hence change what is put into the initrd by editing /etc/initramfs-tools/initramfs.conf or putting files into /etc/initramfs-tools/conf.d/ overriding /etc/initramfs-tools/initramfs.conf. For example, you can change the driver policy by setting MODULES=most to MODULES=dep there. This will cause the system to include only the drivers the system is aware of to need (instead of simply including most of them). However, be aware of a slightly chance that a needed driver isn't included and your system may fail to boot. The driver policy (MODULES-option) can be overridden by a file named driver-policy put into /etc/initramfs-tools/conf.d/.
Read linux 2.6.23's Documentation/initrd.txt for more information.
Initrd image (kernel <=2.4)
kernel 2.4 is now obsolete, legacy initrd too !
Kernel up to 2.4 were expecting the initrd file to be a (compressed) block-disk image (i.e formated as ext2 or minix fs). the initrd was created using mkinitrd.
Read linux 2.4.35's Documentation/initrd.txt for more information.
Debian Linux Kernel Handbook : Managing the initial ramfs (initramfs) archive
initrd man page