Provided by: manpages-tr_1.0.5.1-2_all bug

İSİM

       initrd - önyükleyici ilklendirmeli RAM disk

AÇIKLAMA

       /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.

AÇILIŞ İŞLEMİ

       initrd ile açılış sırasında açılış süreci şöyle gelişir:

       1.  Önyükleyici çekirdeği ve /dev/initrd'nin içeriğini belleğe  yükler.

       2.  Çekirdek çalışmaya başlayınca, çekirdek  kendinin  sıkıştırmasını  çözüp   /dev/initrd
           aygıtının  içeriğini   /dev/ram0  aygıtına  kopyaladıktan sonra /dev/initrd tarafından
           kullanılan belleği serbest bırakır.

       3.  Çekirdek,  başlangıç  kök  dosya  sistemi  olarak  /dev/ram0'ı  okunabilir-yazılabilir
           bağlar.

       4.  İstenen  normal  kök  dosya  sistemi  zaten  başlangıç  kök  dosya  sistemi  ise (yani
           /dev/ram0) çekirdek son açılış adımına atlar.

       5.  Başlangıç kök dosya sisteminde /linuxrc çalıştırılabilir  dosyası  varsa,  /linuxrc  0
           kullanıcı kimliği ile çalıştırılır. (/linuxrc dosyası çalıştırılabilirlik iznine sahip
           olmalıdır. /linuxrc dosyası  bir  betik  ya  da  geçerli  çalıştırılabilir  bir  dosya
           olabilir.)

       6.  /linuxrc  çalıştırılmazsa  ya  da  /linuxrc  sonlandığı zaman normal kök dosya sistemi
           bağlanır. (Başlangıç kök dosya sistemine bağlanmış dosya sistemleriyle /linuxrc  çıkış
           yaparsa  çekirdeğin  davranışı  BELİRSİZDİR.  (Çekirdeğin mevcut davranışı için NOTLAR
           bölümüne bakınız.)

       7.  Normal kök dosya sisteminde /initrd dizini varsa, /dev/ram0, / den /initrd'ye taşınır.
           Aksi  takdirde,  /initrd  dizini yoksa, /dev/ram0 sistemden ayrılır. (/dev/ram0, / den
           /initrd'ye taşındığı zaman sistemden ayrılmaz ve böylece /dev/ram0 üzerinde çalışmakta
           olan  süreçler  çalışmaya  devam edebilir.) Normal kök dosya sisteminde /initrd dizini
           yoksa  ve  /dev/ram0  üzerinde  hala  çalışan  süreçler  varsa  çekirdeğin   davranışı
           BELİRSİZDİR. (Çekirdeğin mevcut davranışı için NOTLAR bölümüne bakınız.)

       8.  Normal  kök  dosya  sistemi  üzerinde  olağan  açılış işlemi (yani /sbin/init çağrısı)
           uygulanır.

SEÇENEKLER

       Aşağıdaki önyükleyici seçenekleri initrd ile kullanıldığı zaman çekirdeğin  açılış  işlemi
       etkilenir:

       initrd=dosya-ismi
              /dev/initrd'nin  içeriği  olarak yüklenecek dosyayı belirtmek içindir. LOADLIN için
              bu  bir  komut  satırı  seçeneğidir.  LILO  için  bunu  /etc/lilo.conf   dosyasında
              kullanabilirsiniz.  Bu  seçenekle  belirtilen  dosya  ismi genellikle gzip'li dosya
              sistemi eşlemi olacaktır.

       noinitrd
              Bu  önyükleme  seçeneği  açılış  işleminin  iki  dönemini  iptal  eder.   Çekirdek,
              /dev/initrd  ilklendirilmemiş  gibi  olağan  açılışı  gerçekleştirir. Bu seçenekle,
              önyükleyici tarafından belleğe yüklenen /dev/initrd'nin içeriği korunur. Bu seçenek
              /dev/initrd'nin  içeriğinin  herhangi  bir  veri olmasına izin verir, dosya sistemi
              eşlemi olması gerekmez. Bu durumda /dev/initrd  aygıtı  salt  okunurdur  ve  sistem
              açıldıktan sonra da salt okunur olarak kalabilir.

       root=aygıt-ismi
              Normal kök dosya sistemi olarak kullanılacak aygıt ismi belirtilir. LOADLIN için bu
              bir  komut  satırı  seçeneğidir.   LILO   için   bunu   /etc/lilo.conf   dosyasında
              kullanabilirsiniz.  Bu  seçenekle  belirtilecek  aygıt,  kök  dosya  sistemi olarak
              elverişli ve bağlanabilir bir aygıt olmalıdır.

NORMAL KÖK DOSYA SİSTEMİNİN DEĞİŞTİRİLMESİ

       Ö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

KULLANIM

       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:

       1.  Önyükleyici uygulaması disketten ya da başka bir ortamdan mümkün en  küçük  çekirdekle
           (yani  sadece  /dev/ram,  /dev/initrd  ve  ext2  dosya  sistemi  desteğiyle) başlar ve
           başlangıç dosya sisteminin gzipli sürümü ile /dev/initrd'yi yükler.

       2.  /linuxrc çalıştırılabiliri normal kök dosya sistemini  (1)  ve  dağıtım  ortamını  (2)
           (CD-ROM,  ağ,  teyp, vs.) bağlamak için gerekenleri (aygıt türü, aygıt sürücüsü, dosya
           sistemi gibi) saptar.

       3.  /linuxrc çalıştırılabiliri başlangıç dosya sisteminden  gerekli  çekirdek  modüllerini
           yükler.

       4.  /linuxrc çalıştırılabiliri kök dosya sistemini oluşturur ve kullanıma sokar (Bu adımda
           normal kök dosya sistemi henüz eksiksiz bir sistem değildir).

       5.  /linuxrc çalıştırılabiliri  /proc/sys/kernel/real-root-dev  dosyasına  gerekli  değeri
           yazar  ve  /proc sistemden ayrılır, normal kök dosya sistemi ve diğer dosya sistemleri
           bağlı kalır ve /linuxrc çalışmasını sonlandırır.

       6.  Bundan sonra çekirdek normal kök dosya sistemini bağlar.

       7.  Artık normal kök dosya sistemi kullanıma hazırdır, yani önyükleyici kurulabilir.

       8.  Sistemi açmak için kullanılacak modüllerle birlikte bir dosya sistemini /dev/initrd'ye
           yükleyecek  önyükleyici yapılandırılır (Yani, /dev/ram0 aygıtı değiştirilebilir, sonra
           sistemden ayrılıp son olarak  /dev/ram0 içindeki eşlem bir dosyaya yazılabilir).

       9.  Sistem artık açılabilir hale gelmiştir ve ek kurulum işlemlerine devam edilebilir.

       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.

YAPILANDIRMA

       /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.

İLGİLİ DOSYALAR

       /dev/initrd
       /dev/ram0
       /linuxrc
       /initrd

İLGİLİ BELGELER

       chown(1), mknod(1),  ram(4),  freeramdisk(8),  rdev(8),  çekirdek  paketindeki  initrd.txt
       dosyası, LILO belgeleri, LOADLIN belgeleri, SYSLINUX belgeleri.

NOTLAR

       1.  /dev/ram0, / dan /initrd ye taşınırken bağlı kalan dosya sistemleri kullanılmakta olan
           çekirdekle  erişilebilir  olmaya  devam  eder.  Buna  rağmen  /proc/mounts   girdileri
           güncellenmez.

       2.  /initrd  dizini  yoksa,  kullanılmakta  olan  çekirdekle,  /dev/ram0  hala  bir  süreç
           tarafından kullanılıyorsa ya da üzerinde bağlı  bir  dosya  sistemi  varsa,  /dev/ram0
           sistemden   tamamen  ayrılmaz.  /dev/ram0  sistemden  tamamen  ayrılamamışsa  bellekte
           kalacaktır.

       3.  /dev/initrd   kullanıcıları   yukarıdaki   notlarda   belirtilen   davranışa   bağımlı
           olmamalıdır. Bu davranış çekirdeğin gelecekteki sürümlerinde değişebilir.

YAZAN

       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.

ÇEVİREN

       Nilgün Belma Bugüner <nilgun (at) belgeler·gen·tr>, Kasım 2003