Initrd - un disc electronic instalat la pornire - documentație linux

TITLUL
initrd este un disc electronic instalat în timpul
sistem de boot

DESCRIERE
Fișierul special / dev / initrd este un dispozitiv blocat
read-only. Aparatul / dev / initrd este






discul electronic instalat la momentul încărcării
înainte de începerea kernelului. Prin urmare, kernelul poate
utilizați conținutul fișierelor dispozitivelor bloc / dev / ini-
trd pentru o boot de sistem în două etape.

În prima etapă de încărcare, kernelul este lansat și
instalează sistemul de fișiere rădăcină care conține
/ dev / initrd. În a doua etapă, suplimentar
drivere și module din partiția inițială rădăcină. după
modulele suplimentare sunt instalate noi
root sistem de fișiere.

DESCĂRCAȚI OPERAȚIUNEA
Cu sistemul initrd, sistemul pornește în următoarea ordine:

1. Bootloader-ul încarcă programul kernel-ului și
conținutul / dev / initrd din memoria calculatorului.

2. La pornire, kernelul "despachetează" și copiază
conținutul dispozitivului / dev / initrd din dispozitiv
/ dev / ram0 și apoi eliberează memoria utilizată
dispozitiv cu / dev / initrd.

3. Kernel-ul instalează (pentru citire și scriere) dispozitivul
/ dev / ram0 ca sistem de fișiere inițial rădăcină.

4. Dacă sistemul de rădăcini obișnuit este atât un inițial
(de exemplu, / dev / ram0), kernelul trece la ultimul
pas în descărcare.

5. Dacă fișierul de pornire / linuxrc este prezent în
sistemul inițial de rădăcină, apoi linuxrc începe cu
identificatorul utilizatorului este zero. (Fișierul / lin-
uxrc trebuie să aibă permisiunile sistemului pentru
start-up adecvat. Fișierul / linuxrc poate
fi orice fișier executabil, inclusiv scriptul shell.)

6. Dacă linuxrc nu rulează sau linuxrc este întrerupt, atunci
este instalat un sistem normal de fișiere rădăcină.
(Dacă lucrul / linuxrc cu sistemul de fișiere instalat
deasupra sistemului inițial de fișiere rădăcină, este întrerupt,
atunci comportamentul kernel-ului devine UNDEFINAT. citit
secțiunea NOTĂ pentru mai multe detalii.
informații).

7. Dacă sistemul de fișiere rădăcină normal are un director
/ initrd, dispozitivul / dev / ram0 este transferat de la / la
/ initrd. În caz contrar, dacă directorul /initrd nu există, atunci
dispozitivul / dev / ram0 este eliminat. La transferul de la / la
/ initrd / dev / ram0 nu este eliminat și procesul este mai târziu
funcționează cu / dev / ram0. Dacă directorul /initrd nu este
există în sistemul radicular obișnuit și rămân
procesele care rulează cu / dev / ram0 (dacă există unul
/ linuxrc), comportamentul kernel-ului devine UNPREDICTABLE.
Citiți secțiunea OBSERVĂRI pentru mai multe detalii.
informații despre acest lucru.

8. Procedura obișnuită de încărcare (de exemplu, un apel
/ sbin / init) este produs de un fișier rădăcină normal
sistem.

OPTIUNI
Următoarele opțiuni pentru încărcătorul de încărcare utilizând
initrd afectează încărcarea kernel-ului:

initrd = nume de fișier
Specifică fișierul descărcat ca conținut
/ dev / initrd. Pentru LOADLIN aceasta este o opțiune de comandă
line. Pentru LILO, ar trebui să utilizați acest lucru
comanda în fișierul de setări LILO numit
/etc/lilo.config. Numele de fișier specificat în acest document
opțiune, va fi imaginea sistemului de fișiere,
program arhivat gzip.

root = device-name
indică dispozitivul folosit ca
sistem normal de fișiere rădăcină. Pentru LOADLIN
aceasta este o opțiune de linie de comandă. Pentru LILO această opțiune,
folosit la momentul încărcării; poate fi
în fișierul de setări LILO numit
/etc/lilo.config. Dispozitivul specificat în acest document
linia trebuie instalată dacă este disponibilă
un sistem de fișiere rădăcină adecvat.

MODIFICAREA SISTEMULUI CURENT DE ROOT
Implicit, instalațiile de kernel (cu parametrul rdev sau ansamblul
kernel-ul cu acest parametru) sau opțiunile din versiunea inițială
Bootloader-ul este folosit pentru sistemul normal de fișiere rădăcină.
sistem. Atunci când construiți un sistem de fișiere NFS ca root
Trebuie să utilizați opțiunile de boot nfs_root_name și
nfs_root_addrs pentru a configura NFS. Pentru mai multe
informații detaliate privind sistemul SNFS colectate ca






root, citiți fișierul de documentare despre kernelul nfsroot.txt.
Pentru mai multe informații despre instalarea fișierului rădăcină
sistemele pot fi citite și în documentația privind LILO și LOAD-
LIN.

UTILIZARE
Principalul motiv pentru utilizarea initrd a fost posibilitatea
configurați modulele de kernel atunci când instalați sistemul.

Următoarele sunt etapele de instalare:

1. Programul de bootloader este instalat pe o dischetă sau din
împreună cu miezul minim
(de exemplu, suport pentru / dev / ram, / dev / initrd și
sistem de fișiere ext2) încarcă / dev / initrd cu un comprimat
sistemul inițial de fișiere.

2. Scriptul / linuxrc specifică: ceea ce este necesar pentru asamblare
root sistem de fișiere (ce tip de dispozitiv,
drivere de dispozitiv etc.), suporturi media (de ex., CD-ROM,
rețea și așa mai departe). Acest lucru se poate face prin interogare
utilizator, prin auto-dovedire sau folosind ambele
abordare.

3. Scriptul / linuxrc încarcă modulele necesare din
sistemul inițial de fișiere.

4. În continuare, / linuxrc creează un sistem de fișiere rădăcină. (Pe
această etapă nu este încă una de lucru).

5. scriptul / linuxrc instalează / proc / sys / kernel / real-
root-dev, parses / proc, fișierul root rădăcină
sistem și orice sistem de fișiere pe care le-a asamblat și
își completează activitatea.

6. Kernel-ul instalează sistemul de fișiere root.

7. Când sistemul de fișiere este instalat și funcționează,
aveți posibilitatea să instalați bootloader-ul.

8. Bootloader-ul este configurat să se instaleze în / dev / ini-
trd, sistem de fișiere cu un set de module pentru asamblare
sistem. (Dispozitivul / dev / ram0 poate fi modificat,
apoi deconectat, iar imaginea poate fi copiată
dispozitiv într-un fișier).

9. Acum sistemul poate fi încărcat.

Rolul principal al / dev / initrd în procesul de mai sus
este utilizarea datelor de configurare în timpul funcționării
sistem de fișiere root rădăcină fără a fi nevoie
nucleul complet sau asamblarea acestuia.

A doua opțiune este folosită în principal în cazul în care Linux
funcționează în sisteme cu configurații diferite și pe rețea,
administrată de o persoană. În astfel de cazuri este convenabil
utilizați un singur nucleu și suma minimă
software specific. Creați o partajare
fișier cu toate modulele necesare, atunci nu va fi
numai scriptul / linuxrc sau scriptul care rulează
/ linuxrc.

Informații precum locația secțiunii cu rădăcina
sistemul de fișiere nu este necesar la momentul încărcării; sistem
încărcat cu / dev / initrd, poate sondaj
și / sau să facă automat definițiile.

De asemenea, distribuțiile CD-ROM Linux pot folosi initrd-ul
pentru o instalare simplificată a sistemului utilizând un CD-ROM.
Distribuția poate folosi LOADLIN pentru descărcare directă
/ dev / initrd de pe un CD-ROM fără dischete. distribuire
De asemenea, puteți utiliza discheta de pornire LILO și apoi
încărcați un disc electronic mai mare utilizând / dev / initrd
de pe CD-ROM.

CONFIGURARE
/ dev / initrd este un dispozitiv blocat numai pentru citire.
numărul principal 1 și numărul secundar 250. De obicei
drepturile la / dev / initrd sunt deținute de root.disk cu modul 0400
(citit numai de root). În cazul în care sistemul
Linux nu are pregătit / dev / initrd, poate fi creat
următoarele comenzi:

mknod -m 400 / dev / initrd b 1 250
chown rădăcină: disc / dev / initrd

Suport pentru discul electronic și bootable
discul electronic (de exemplu, CONFIG_BLK_DEV_RAM = y și CON-
FIG_BLK_DEV_INITRD = y) trebuie să fie compilat împreună cu kernelul
pentru a utiliza / dev / initrd. la
folosind / dev / initrd driver-ul pentru discul electronic nu este
poate fi încărcat ca un modul.

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

CM. DE ASEMENEA
1. Cu un kernel existent, orice sistem de fișiere rămase
instalat atunci când se deplasează / dev / ram0 de la / la / initrd,
este disponibil. Înregistrările din / proc / mounts nu sunt actualizate.

2. În cazul versiunii actuale de kernel: dacă directorul / initrd
nu există și dacă / dev / ram0 este utilizat de unii
proces (sau are un fel de fișier
sistem), atunci "/ dev / ram0 NU va fi complet șters.
/ dev / ram0 Incomplet deconectat, apoi / dev / ram0 va rămâne
în memoria sistemului.

3. Utilizatorii / dev / initrd nu trebuie să depindă
comportament descris în comentariile anterioare. mai curând
toate acestea vor fi rezolvate în viitoarele versiuni ale kernel-ului
Linux.

OBSERVAȚII
Sursa de kernel pentru initrd a fost scrisă de Werner Almes-
berger și Hans Lermen. Text sursă initrd
este adăugat la kernel începând cu versiunea 1.3.73.

offtopic

>>> După cinci luni de dezvoltare au lansat medii desktop MATE 1.12, în care dezvoltarea continuă a GNOME 2.32 cod de bază menținând în același timp conceptul clasic de formare a desktop-ului. Pachetele de instalare cu MATE 1.12 vor fi pregătite pentru Arch Linux în viitorul apropiat. Linux Mint, Debian, Ubuntu, Fedora, Mageia, Slackware și openSUSE. MATE 1.12 va fi inclus în următoarea versiune de Linux Mint 17.3 și va fi disponibil și în repozitoriul pentru utilizatorii Ubuntu MATE.

>>> Kees Cook, (Kees Cook), fostul șef lider administrator de sistem kernel.org Ubuntu echipa de securitate, care lucrează acum la Google pe software-ul de protecție ChromeOS, a anunțat crearea proiectului Kernel Protection Project auto, în care a planificat pentru a construi o comunitate pentru dezvoltarea și promovarea principalelor tehnologii de protecție activă nucleul Linux, dintre care cele mai multe au fost deja elaborate în cadrul proiectelor pax și Grsecurity. Finanțarea și resursele pentru lucrare vor fi furnizate de Fundația Linux și de Infrastructura de bază.

>>> A fost lansată o versiune de Linux-distributivă Ubuntu 15.10 "Wily Werewolf". Imagini finite de instalare create pentru Ubuntu Desktop, Ubuntu Server și Ubuntu Core (pentru ei la ultimele etape de testare oferite construi numai de zi cu zi), precum și Kubuntu, Lubuntu, Ubuntu MATE, Ubuntu Cloud, Ubuntu GNOME și Xubuntu.







Articole similare

Trimiteți-le prietenilor: