The reason most Linux distributions use ramfs (initramfs) at boot is because its contents can be included in the kernel file or provided by the bootloader. Therefore, they are available immediately at boot, without having to load their kernel from somewhere.
This allows the kernel to run user space programs, for example, configure devices, load modules, configure this excellent RAID array containing all file systems, or even ask the user for a password for their encrypted root file system.
When this configuration is complete, the first script, which is called only exec () s / sbin / init from the root file system (now configured and available).
I have seen quite a few systems in which drivers for disk controllers and rootfs are loaded through modules in initramfs, and are not included in the kernel image.
You do not need to strictly download initramfs - if your kernel image contains all the drivers needed to access the root files, and you do not need any special configuration or user input (for example, RAID arrays or encrypted file systems) to install it. Often you can directly run / sbin / init from rootfs.
See also:
http://www.kernel.org/doc/Documentation/filesystems/ramfs-rootfs-initramfs.txt
http://www.kernel.org/doc/Documentation/initrd.txt
As a side note, some systems (rescue disks, built-in and such) can use ramfs as the root file system when the actual root file system is on media that can be deleted or not writable (CD, Flash MTD, etc. ) ,.
source share