Translation(s): English - Fran├žais - Italiano


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.(abstract from http://www.kernel.org/doc/Documentation/kernel-parameters.txt)

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/.

Initrd image (kernel <=2.4)

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.

See Also


CategoryBootProcess