Нужен, например, если поддержка корневой fs собрана модулем. Короче, с initrd подгружаются необходимые в ходе загрузки os модули. В принципе, можно и без него.
Я так понимаю, что от версии ядра initrd.img зависеть не должен?
Вообще, у меня очень странная проблема: в начале я скомпилил ядро с поддержкой raiserfs как модуля (просто не обратил внимания), ясно дело не загрузилось, затем скомпилил поддержку уже в ядре -- картина та же. Вот думал, что проблема с initrd.img, тем более, что выдается ошибка типа unknown block (0,0)...
это файловая система, которая запакована в файл и используется заместо корня в процессе загрузки. нужна для таких вещей как фрэймбуффер и т.д. Если собираешь свое ядро и без всяких наворотов он тебе нафиг не нужен
Совсем не обязательно. Может быть и ramfs - сжатый cpio архив и minix, да и любой другой ф.с., но поддержка ядром этой ф.с., действительно обязательна.