Provided by: manpages-tr_1.0.5.1-1.1_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