Provided by: manpages-tr_1.0.2+cvs20040401-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),  /dev/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.org>, Kasım 2003