Provided by: manpages-ro_4.23.1-1_all bug

NUME

       initrd - discul RAM inițializat de încărcătorul de boot

CONFIGURARE

       /dev/initrd  este  un  dispozitiv  de  bloc  numai pentru citire căruia i s-a atribuit numărul major 1 și
       numărul minor 250.  În mod obișnuit, /dev/initrd este deținut de root:disk cu modul 0400 (acces în citire
       numai de către root). În cazul în care sistemul Linux nu are /dev/initrd  deja  creat,  acesta  poate  fi
       creat cu următoarele comenzi:

           mknod -m 400 /dev/initrd b 1 250
           chown root:disk /dev/initrd

       De  asemenea, pentru a utiliza /dev/initrd, trebuie compilat direct în nucleul Linux atât suportul pentru
       „discul  RAM”,  cât   și   pentru   „discul   RAM   inițial”   (de   exemplu,   CONFIG_BLK_DEV_RAM=y   și
       CONFIG_BLK_DEV_INITRD=y).  Atunci  când  se  utilizează  /dev/initrd, controlorul de disc RAM nu poate fi
       încărcat ca modul.

DESCRIERE

       Fișierul special /dev/initrd este un dispozitiv de bloc numai pentru citire.  Acest  dispozitiv  este  un
       disc  RAM  care  este  inițializat  (adică,  încărcat)  de către încărcătorul de boot înainte de pornirea
       nucleului. Apoi, nucleul poate utiliza conținutul lui /dev/initrd pentru o pornire a sistemului  în  două
       faze.

       În  prima  fază  de  pornire,  nucleul  pornește  și  montează  un sistem de fișiere rădăcină inițial din
       conținutul lui /dev/initrd (de exemplu, discul RAM inițializat de încărcătorul de  pornire).  În  a  doua
       fază,  controlori  suplimentari  sau  alte  module  sunt încărcate din conținutul dispozitivului rădăcină
       inițial. După încărcarea modulelor suplimentare, un nou sistem de fișiere  rădăcină  (adică  sistemul  de
       fișiere rădăcină normal) este montat de pe un alt dispozitiv.

   Operația de pornire
       La pornirea cu initrd, sistemul pornește după cum urmează:

       (1)  Încărcătorul de pornire încarcă programul nucleului și conținutul lui /dev/initrd în memorie.

       (2)  La  pornirea  nucleului,  acesta  decomprimă  și  copiază  conținutul  dispozitivului /dev/initrd pe
            dispozitivul /dev/ram0 și apoi eliberează memoria utilizată de /dev/initrd.

       (3)  Apoi, nucleul montează în citire-scriere  dispozitivul  /dev/ram0  ca  sistem  de  fișiere  rădăcină
            inițial.

       (4)  Dacă  sistemul  de  fișiere  rădăcină normal indicat este, de asemenea, sistemul de fișiere rădăcină
            inițial (de exemplu, /dev/ram0), atunci nucleul sare la ultimul pas  pentru  secvența  obișnuită  de
            pornire.

       (5)  Dacă  fișierul  executabil  /linuxrc  este prezent în sistemul de fișiere rădăcină inițial, /linuxrc
            este executat cu UID 0; (fișierul /linuxrc  trebuie  să  aibă  permisiunea  de  execuție).  Fișierul
            /linuxrc poate fi orice executabil valid, inclusiv un script shell.

       (6)  Dacă  /linuxrc  nu  este  executat  sau  când  /linuxrc  se termină, este montat sistemul de fișiere
            rădăcină normal; (dacă /linuxrc iese cu orice sistem  de  fișiere  montat  pe  sistemul  de  fișiere
            rădăcină  inițial,  atunci  comportamentul  nucleului  este NESPECIFICAT). Consultați secțiunea NOTE
            pentru comportamentul actual al nucleului.

       (7)  Dacă sistemul de fișiere rădăcină normal are un director /initrd, dispozitivul /dev/ram0 este  mutat
            din  /  în  /initrd.  În caz contrar, dacă directorul /initrd nu există, dispozitivul /dev/ram0 este
            demontat.; (atunci când este mutat din / în /initrd, /dev/ram0 nu este  demontat  și,  prin  urmare,
            procesele  pot  continua să ruleze de pe /dev/ram0. Dacă directorul /initrd nu există pe sistemul de
            fișiere rădăcină normal și orice proces rămâne în execuție  de  pe  /dev/ram0  când  /linuxrc  iese,
            comportamentul  nucleului este NESPECIFICAT). Consultați secțiunea NOTE pentru comportamentul actual
            al nucleului.

       (8)  Secvența obișnuită de pornire (de exemplu, invocarea lui /sbin/init) este efectuată pe  sistemul  de
            fișiere rădăcină normal.

   Opțiuni
       Următoarele  opțiuni  ale  încărcătorului  de  pornire,  atunci  când sunt utilizate cu initrd, afectează
       operația de pornire a nucleului:

       initrd=fnume-fișier
              Specifică fișierul care urmează să fie  încărcat  ca  fiind  conținutul  lui  /dev/initrd.  Pentru
              LOADLIN,  aceasta  este  o  opțiune  de linie de comandă. Pentru LILO trebuie să utilizați această
              comandă în fișierul de configurare LILO /etc/lilo.config. Numele fișierului specificat cu  această
              opțiune va fi de obicei o imagine de sistem de fișiere comprimată în formatul gzip.

       noinitrd
              Această opțiune de pornire dezactivează operația de pornire în două faze. Nucleul execută secvența
              obișnuită  de  pornire  ca și cum /dev/initrd nu ar fi fost inițializat. Cu această opțiune, orice
              conținut al /dev/initrd încărcat în memorie de către conținutul  încărcătorului  de  pornire  este
              păstrat.  Această  opțiune  permite  ca  conținutul  lui  /dev/initrd să fie orice date și nu este
              necesar să se limiteze la o imagine a  sistemului  de  fișiere.  Cu  toate  acestea,  dispozitivul
              /dev/initrd este numai pentru citire și poate fi citit o singură dată după pornirea sistemului.

       root=nume-dispozitiv
              Specifică  dispozitivul  care urmează să fie utilizat ca sistem de fișiere rădăcină normal. Pentru
              LOADLIN, aceasta este o opțiune de linie de comandă.  Pentru  LILO,  aceasta  este  o  opțiune  de
              pornire  sau  poate  fi  utilizată  ca  o  linie  de  opțiune  în  fișierul  de  configurare  LILO
              /etc/lilo.config. Dispozitivul specificat de această opțiune trebuie să  fie  un  dispozitiv  care
              poate fi montat și care are un sistem de fișiere rădăcină adecvat.

   Schimbarea sistemului de fișiere rădăcină normal
       În  mod  implicit,  pentru sistemele de fișiere rădăcină normale se utilizează configurația nucleului (de
       exemplu, configurată în fișierul nucleu cu rdev(8) sau compilată în  fișierul  nucleu)  sau  configurația
       opțiunii încărcătorului de pornire.  Pentru un sistem de fișiere rădăcină normal montat prin NFS, trebuie
       să  se utilizeze opțiunile de pornire nfs_root_name și nfs_root_addrs pentru a da parametrii NFS.  Pentru
       mai multe informații despre rădăcina montată prin NFS, consultați fișierul  de  documentare  a  nucleului
       Documentation/filesystems/nfs/nfsroot.txt  (sau  Documentation/filesystems/nfsroot.txt  înainte  de Linux
       2.6.33).  Pentru mai multe informații despre stabilirea sistemului de fișiere  rădăcină,  consultați,  de
       asemenea, documentația LILO și LOADLIN.

       De  asemenea,  este  posibil ca executabilul /linuxrc să schimbe dispozitivul rădăcină normal.  Pentru ca
       /linuxrc să modifice dispozitivul root normal,  trebuie  să  fie  montat  /proc.   După  montarea  /proc,
       /linuxrc    modifică    dispozitivul    normal    rădăcină    prin    scrierea    în    fișierele    proc
       /proc/sys/kernel/real-root-dev,   /proc/sys/kernel/nfs-root-name   și    /proc/sys/kernel/nfs-root-addrs.
       Pentru  un  dispozitiv  rădăcină fizic, dispozitivul rădăcină este schimbat prin faptul că /linuxrc scrie
       noul număr al dispozitivului sistemului de fișiere rădăcină în /proc/sys/kernel/real-root-dev.  Pentru un
       sistem de fișiere rădăcină NFS, dispozitivul rădăcină  este  modificat  prin  faptul  că  /linuxrc  scrie
       configurația  NFS  în fișierele /proc/sys/kernel/nfs-root-name și /proc/sys/kernel/nfs-root-addrs și apoi
       scrie 0xff (de exemplu, numărul pseudo-dispozitivului NFS)  în  fișierul  /proc/sys/kernel/real-root-dev.
       De exemplu, următoarea linie de comandă shell ar schimba dispozitivul rădăcină normal în /dev/hdb1:

           echo 0x365 >/proc/sys/kernel/real-root-dev

       Pentru  un  exemplu  NFS,  următoarele  linii de comandă shell ar schimba dispozitivul rădăcină normal în
       directorul NFS /var/nfsroot pe un server NFS în rețea locală cu numărul IP 193.8.232.7 pentru  un  sistem
       cu numărul IP 193.8.232.2 și numit „idefix”:

           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

       Nota:  Utilizarea  /proc/sys/kernel/real-root-dev  pentru  a  schimba  sistemul  de fișiere rădăcină este
       depășită.   Consultați  fișierul  sursă  al  nucleului  Linux  Documentation/admin-guide/initrd.rst  (sau
       Documentation/initrd.txt  înainte  de  Linux  4.10),  precum  și  pivot_root(2)  și  pivot_root(8) pentru
       informații despre metoda modernă de schimbare a sistemului de fișiere rădăcină.

   Utilizare
       Principala motivație pentru implementarea initrd a fost  aceea  de  a  permite  configurarea  modulară  a
       nucleului la instalarea sistemului.

       Un posibil scenariu de instalare a sistemului este următorul:

       (1)  Programul  de încărcare pornește de pe dischetă sau de pe alt suport cu un nucleu minim (de exemplu,
            suport pentru /dev/ram, /dev/initrd și sistemul  de  fișiere  ext2)  și  încarcă  /dev/initrd  cu  o
            versiune comprimată în format gzip a sistemului de fișiere inițial.

       (2)  Executabilul  /linuxrc  determină ce este necesar pentru (1) montarea sistemului de fișiere rădăcină
            normal (adică tipul de dispozitiv, controlorii de dispozitiv, sistemul de fișiere) și  (2)  suportul
            de  distribuție (de exemplu, CD-ROM, rețea, bandă, ...).  Acest lucru se poate face prin solicitarea
            utilizatorului, prin autoprobare sau prin utilizarea unei abordări hibride.

       (3)  Executabilul /linuxrc încarcă modulele necesare din sistemul de fișiere rădăcină inițial.

       (4)  Executabilul /linuxrc creează și populează sistemul de fișiere rădăcină; (în această etapă, sistemul
            de fișiere rădăcină normal nu trebuie să fie încă un sistem finalizat).

       (5)  Executabilul /linuxrc  instalează  /proc/sys/kernel/real-root-dev,  demontează  /proc,  sistemul  de
            fișiere root normal și orice alte sisteme de fișiere pe care le-a montat, apoi se termină.

       (6)  Nucleul montează apoi sistemul de fișiere rădăcină normal.

       (7)  Acum că sistemul de fișiere este accesibil și intact, încărcătorul de pornire poate fi instalat.

       (8)  Încărcătorul  de  pornire este configurat să încarce în /dev/initrd un sistem de fișiere cu setul de
            module care a fost utilizat pentru a porni sistemul (de exemplu,  dispozitivul  /dev/ram0  poate  fi
            modificat, apoi demontat și, în final, imaginea este scrisă din /dev/ram0 într-un fișier).

       (9)  Sistemul este acum pornibil și pot fi efectuate sarcini suplimentare de instalare.

       Rolul  cheie  al /dev/initrd în cele de mai sus este acela de a reutiliza datele de configurare în timpul
       funcționării normale a sistemului, fără a necesita selectarea inițială a nucleului, un nucleu generic  de
       mari dimensiuni sau, recompilarea nucleului.

       Un al doilea scenariu este cel al instalațiilor în care Linux rulează pe sisteme cu configurații hardware
       diferite  într-o  singură rețea administrativă. În astfel de cazuri, ar putea fi de dorit să se utilizeze
       doar un set mic de nuclee (ideal ar fi unul singur) și să se mențină cât mai mică partea de informații de
       configurare specifică sistemului. În acest caz, creați un fișier comun cu toate modulele necesare.  Apoi,
       doar fișierul /linuxrc sau un fișier executat de /linuxrc ar fi diferit.

       Un  al  treilea  scenariu  este reprezentat de discuri de recuperare mai convenabile. Deoarece informații
       precum locația partiției sistemului de fișiere rădăcină nu sunt necesare în momentul  pornirii,  sistemul
       încărcat  de  pe  /dev/initrd  poate  utiliza  un dialog și/sau o detecție automată urmată de o eventuală
       verificare a corectitudinii.

       Nu în ultimul rând, distribuțiile Linux pe CD-ROM pot folosi initrd  pentru  o  instalare  ușoară  de  pe
       CD-ROM.  Distribuția  poate  utiliza  LOADLIN  pentru a încărca direct /dev/initrd de pe CD-ROM fără a fi
       nevoie de dischete. Distribuția ar putea, de asemenea, să utilizeze o dischetă de pornire LILO și apoi să
       pornească un disc RAM mai mare prin intermediul /dev/initrd de pe CD-ROM.

FIȘIERE

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

NOTE

       •  Cu nucleul actual, orice sistem de fișiere care rămâne montat atunci când /dev/ram0 este mutat de la /
          la /initrd continuă să fie accesibil. Cu toate acestea, intrările /proc/mounts nu sunt actualizate.

       •  Cu nucleul actual, dacă directorul /initrd nu există, atunci /dev/ram0 nu va fi complet demontat  dacă
          /dev/ram0 este utilizat de orice proces sau dacă are un sistem de fișiere montat pe el. Dacă /dev/ram0
          nu este complet demontat, atunci /dev/ram0 va rămâne în memorie.

       •  Utilizatorii  de /dev/initrd nu ar trebui să depindă de comportamentul prezentat în notele de mai sus.
          Comportamentul se poate schimba în versiunile viitoare ale nucleului Linux.

CONSULTAȚI ȘI

       chown(1), mknod(1), ram(4), freeramdisk(8), rdev(8)

       Documentation/admin-guide/initrd.rst (sau Documentation/initrd.txt înainte de  Linux  4.10)  în  arborele
       sursă al nucleului Linux, documentația LILO, documentația LOADLIN, documentația SYSLINUX

TRADUCERE

       Traducerea    în   limba   română   a   acestui   manual   a   fost   făcută   de   Remus-Gabriel   Chelu
       <remusgabriel.chelu@disroot.org>

       Această traducere este  documentație  gratuită;  citiți  Licența publică generală GNU Versiunea 3  sau  o
       versiune   ulterioară   cu  privire  la  condiții  privind  drepturile  de  autor.   NU  se  asumă  NICIO
       RESPONSABILITATE.

       Dacă găsiți erori în traducerea acestui manual, vă rugăm să  trimiteți  un  e-mail  la  translation-team-
       ro@lists.sourceforge.net.

Pagini de manual de Linux 6.8                      2 mai 2024                                          initrd(4)