Belirttiğiniz gibi, initramfs'ın amacı "gerçek" kök dosya sistemini monte etmektir (başka şeyler de yapabilir, ancak bu ortak görevdir).
Initramfs olmadan, çekirdek normalde bir bölümü salt okunur olarak bağlar ve ardından kontrolü üzerine geçirir /sbin/init
. Bir initramfs, genellikle kök dosya sistemi normal bir bölüm olmadığında (mdraid, lvm, şifreli, vb.) Bu görevi çekirdekten alır.
Şimdi, initramfs üzerindeki arka plan dışında, /etc/fstab
kök dosya sisteminizde bulunur. Bu nedenle, initramfs başlatıldığında, bu kök dosya sistemi orada değildir ve bu nedenle fstab'a (tavuk ve yumurta sorunu) ulaşamaz.
Bunun yerine, initramf'lerin kullanması için çekirdek önyükleme bağımsız değişkenlerine bir parametre iletmemiz gerekir. Normalde böyle bir şeydir root=/dev/sdX
. Bununla birlikte, kök cihazınızın nerede olduğunu otomatik olarak anlamak için bir şeyler yapabilir ve bu nedenle hiç parametre yoktur. Sadece yazılım (genellikle bir komut dosyası) olduğundan, kök cihazı monte etmek için gerçekten istediği her şeyi yapabilir.
Şimdi, daha önce de belirtildiği gibi, çekirdek gerçek kökü salt okunur olarak bağlayacaktır. Initramfs tam olarak bunu yapmalıdır. Initramfs tamamlandığında, sistem sanki hiç initramf yokmuş gibi önyüklemeye devam eder ve /sbin/init
başlar. Bu init daha sonra tüm normal önyükleme komut dosyalarınızı başlatır ve bu komut dosyalarından birinin görevi, /etc/fstab
okuma-yazmaya kök değiştirme ve diğer tüm dosya sistemlerinizi bağlama işidir .