Provided by: manpages-ro_4.27.0-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

       Notă: 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.9.1                   15 iunie 2024                                        initrd(4)