ÝSÝM
- Provided by: manpages-tr (Version: 1.0.5.1-2)
- Report a bug
/dev/initrd özel dosyasý bir salt-okunur blok aygýtýdýr. /dev/initrd aygýtý çekirdek baþlatýlmadan önce ön yükleyici tarafýndan ilklendirilen (yüklenen) bir RAM disktir. Çekirdek iki dönemden oluþan açýlýþ süreci için /dev/initrd blok aygýtýnýn içeriðini kullanabilir.
Açýlýþ iþleminin ilk döneminde çekirdek çalýþýr ve /dev/initrd (önyükleyici tarafýndan ilklendirilmiþ RAM disk) içeriðinden baþlangýç kök dosya sistemini baðlar. Ýkinci dönemde ise bu baþlangýç kök dosya sisteminin içeriðinden ek sürücüler veya diðer modüller yüklenir. Ek modüller yüklendikten sonra yeni bir kök dosya sistemi (yani, normal kök dosya sistemi) farklý bir aygýttan baðlanýr.
initrd ile açýlýþ sýrasýnda açýlýþ süreci þöyle geliþir:
Aþaðýdaki önyükleyici seçenekleri initrd ile kullanýldýðý zaman çekirdeðin açýlýþ iþlemi etkilenir:
Öntanýmlý olarak, normal kök dosya sistemi için, çekirdeðin ayarlarý (rdev ile çekirdek dosyasýnda yapýlan ayarlar ya da çekirdek dosyasý içinde derlenmiþ ayarlar) ya da önyükleyici seçenekleri ile yapýlan ayarlar kullanýlýr. Bir NFS üzerinden baðlý normal kök dosya sistemi için, nfs_root_name ve nfs_root_addrs önyükleyici seçenekleri NFS ayarlarý olarak kullanýlýr. Bir NFS üzerinden baðlý normal kök dosya sistemi ile ilgili daha fazla bilgi edinmek için çekirdek belgeleri arasýnda bulunan nfs-root.txt dosyasýna bakýnýz. Kök dosya sistemi ayarlarý ile ilgili daha fazla bilgi edinmek için ise LILO ve LOADLIN belgelerine bakýnýz.
Ayrýca normal kök dosya sisteminin deðiþtirilmesi /linuxrc çalýþtýrýlabiliri ile de mümkündür. Bunun için /proc baðlanmýþ olmalýdýr. /proc baðlandýktan sonra /linuxrc, /proc/sys/kernel/real-root-dev, /proc/sys/kernel/nfs-root-name ve /proc/sys/kernel/nfs-root-addrs proc dosyalarýna yazarak normal kök aygýtýný deðiþtirir. Bir fiziksel kök aygýtý, /linuxrc tarafýndan yeni kök dosya sisteminin aygýt numarasý /proc/sys/kernel/real-root-dev içine yazýlarak deðiþtirilir. Bir NFS kök dosya sistemi ise, /linuxrc tarafýndan yeni kök dosya sisteminin NFS ayarlarý /proc/sys/kernel/nfs-root-name ve /proc/sys/kernel/nfs-root-addrs dosyalarýna yazýldýktan sonra /proc/sys/kernel/real-root-dev dosyasýna 0xff (sanal NFS aygýt numarasý) yazýlarak deðiþtirilir. Örneðin aþaðýdaki kabuk komutu normal kök aygýtýný /dev/hdb1 olarak deðiþtirecektir:
echo 0x365 >/proc/sys/kernel/real-root-dev
Bir NFS örneði olarak, IP numarasý 193.8.232.7 ve ismi `idefix' olan bir sistem için 193.8.232.7 IP numarasýyla bir yerel aðlý NFS sunucusu üzerindeki /var/nfsroot NFS dizinini normal kök dosya sistemi olarak deðiþtirecek kabuk komutu:
echo /var/nfsroot >/proc/sys/kernel/nfs-root-name echo 193.8.232.2:193.8.232.7::255.255.255.0:idefix \ >/proc/sys/kernel/nfs-root-addrs echo 255 >/proc/sys/kernel/real-root-dev
initrd'nin esas oluþturulma sebebi sistem kurulumunda modüler çekirdek yapýlandýrmasýný mümkün kýlmaktý.
Olasý bir sistem kurulum senaryosu þöyle olabilir:
Yukarýdaki senaryoda /dev/initrd'ye düþen anahtar rol, çekirdeði yeniden derlemeden, büyük bir çekirdek kullanmak zorunda kalmadan hatta bir baþlangýç çekirdeði seçilmesi bile gerekmeden normal sistem iþlemleri sýrasýnda kullanýlan yapýlandýrma verilerinin yeniden kullanýlabilirliðini saðlamaktýr.
Bir ikinci senaryo da tek bir yönetim aðýnda farklý donaným yapýlandýrmalý sistemler üzerinde çalýþan Linux kurulumlarý içindir. Böyle durumlarda, küçük bir çekirdek ailesi (ideal olarak bir çekirdek) kullanýlmasý ve yapýlandýrmaya iliþkin sisteme özel yapýlandýrmalarýn mümkün olduðu kadar küçük tutulmasý istenebilir. Bu durumda, ihtiyaç duyulan tüm modülleri içeren bir dosya oluþturulur. Bundan sonra sadece /linuxrc dosyasý veya /linuxrc tarafýndan çalýþtýrýlan bir dosya farklý olabilirdi.
Bir üçüncü senaryo kurtarma diskleri için daha elveriþlidir. Kök dosya sisteminin disk bölümünün yeri gibi bilgiler önyükleme sýrasýnda gerekli olmadýðýndan bunun için, /dev/initrd'de yüklü sistem bir olasý saðlamlýk sýnamasýndan sonra özdevimli algýlama ya da bir diyalog kullanabilir.
Son ama en az kullanýlanlardan biri olmayan bir senaryo da CD-ROM'dan kolay kurulum için initrd kullanan CD-ROM'lu Linux daðýtýmlarýnýn kullandýðý senaryodur. Daðýtým, herhangi bir disket kullanmadan /dev/initrd'yi doðrudan yüklemek için LOADLIN'i kullanabilir. Daðýtým ayrýca, bir açýlýþ disketinden LILO kullanýp, /dev/initrd üzerinden CD-ROM'daki daha büyük bir ram disk'i yükleyebilir.
/dev/initrd ana numarasý 1, alt numarasý 250 olan bir salt okunur blok aygýtýdýr. /dev/initrd genellikle 0400 izinleriyle (sadece root için okuma izni) root.disk sahipliðindeki bir dosyadýr. Linux sisteminde oluþturulmuþ bir /dev/initrd yoksa, aþaðýdaki komutlarla oluþturulabilir:
mknod -m 400 /dev/initrd b 1 250 chown root:disk /dev/initrd
Ayrýca, "RAM disk" ve "baþlangýç RAM diski" desteði için destek, /dev/initrd kullanacak çekirdeðe gömülü olarak (CONFIG_BLK_DEV_RAM=y ve CONFIG_BLK_DEV_INITRD=y) derlenmiþ olmalýdýr. /dev/initrd kullanýlýrken RAM disk bir modül olarak yüklenemez.
/dev/initrd /dev/ram0 /linuxrc /initrd
chown(1), mknod(1), ram(4), freeramdisk(8), rdev(8), çekirdek paketindeki initrd.txt dosyasý, LILO belgeleri, LOADLIN belgeleri, SYSLINUX belgeleri.
initrd aygýtýnýn çekirdek kodu Werner Almesberger <almesber (at) lrc.epfl.ch> ve Hans Lermen <lermen (at) elserv.ffm.fgan.de> tarafýndan yazýlmýþtýr. initrd kodu Linux çekirdeðinin geliþtirme sürümlerinden 1.3.73 sürümünde çekirdek kaynak koduna dahil edilmiþtir.
Nilgün Belma Bugüner <nilgun (at) belgeler·gen·tr>, Kasým 2003