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=aygt-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