Can anyone explain what is the ramdisk and the initrd and why do we need it.
ramdisk and initrd are probably the same thing (initrd being short for initial ramdisk).
There’s a philosophical description here:
And a practical description saying how it is used on debian systems here:
The short answer is that for many embedded systems, where the kernel is specifically tailored for the device it will run on, an initial ramdisk isn’t needed and it is possible to boot a DB410C without in initial ramdisk. Having said that the ramdisk does help us avoid problems due to the unstable enumeration order of SD card versus eMMC in some DB410C kernels because it allows us to specify the root filesystem by partition label rather than by device name.