Ero sivun ”Initramfs” versioiden välillä

Linux.fista
Siirry navigaatioon Siirry hakuun
pEi muokkausyhteenvetoa
 
(9 välissä olevaa versiota 3 käyttäjän tekeminä ei näytetä)
Rivi 1: Rivi 1:
Initial ramdisk, tai initrd, kuten sitä yleensä nimitetään, on keskusmuistiin ytimen käynnistyksen yhteydessä ladattava massamuistinomainen alue.  
'''Initramfs''' eli '''initial ram filesystem''' (ennen initrd) on [[ydin|Linux-ytimen]] käynnistyksen aikana käyttämä, keskusmuistiin [[cpio]]-pakkauksesta tai valmiista [[levykuva]]sta luotu tiedostojärjestelmä. [[Käynnistyslatain]] lataa ytimen sekä initramfs:n keskusmuistiin. Initramfs:n yleisin käyttötarkoitus on tarjota ytimelle [[ytimen moduulit|moduuleja]] (mm. laiteajureita) ja työkaluja, jotka mahdollistavat [[juuriosio]]n [[mount|liittämisen]] ja sitä kautta käynnistysprosessin jatkumisen ja [[init]]in lataamisen. Koska juuriosio voi olla esimerkiksi salakirjoitettu tai [[NFS]]-verkkolevy, vaaditaan sen liittämiseen ajoittain suuriakin määriä työkaluja, joita olisi vaikea sisällyttää itse ytimeen. Myös [[LVM]]-tiedostojärjestelmien käyttöönotto käynnistyksen aikana edellyttää initramfs:n käyttämistä.


==kuvaus==
Initramfs:ää ei tarvita lainkaan esimerkiksi siinä tapauksessa, että käyttäjä on itse [[kernelin kääntäminen|kääntänyt ytimen]] ja sisällyttänyt siihen vain ne moduulit joita hän itse tietää tarvitsevansa, eikä ytimestä näin muodostu liian suurta. Eräät [[jakelu]]t, kuten [[Suse]] ja [[Ubuntu]], käyttävät initramfs:ää myös graafisen splash-ruudun näyttämiseen käynnistyksen aikana.
Tyypillisesti initrd sisältää järjestelmän käynnistämiseen tarvittavat modulit ja perustyökalut. Tällöin itse järjestelmän käynnistys saattaa nopeutua, eikä ole tarpeellista ladata tarpeettomia ajureita, joita muuten vaadittaisiin käynnistykseen.  
 
Ytimen 2.6-sarjassa aiemmin käytetty initrd korvattiin initramfs-nimisellä toteutuksella. Toisin kuin initrd:ssä, initramfs:ssä ei luoda keskusmuistiin perinteistä ramdisk-lohkolaitetta, vaan pelkkä [[tmpfs]]-tyyppinen tiedostojärjestelmä. Initramfs on toteutukseltaan yksinkertaisempi ja luotettavampi. Initramfs:n koko myös muuttuu automaattisesti vastaamaan sen sisältämää datamäärää.
 
==Initramfs:n luonti==
===[[Arch Linux]]===
Arch Linux on siirtynyt initramfs:n luonnissa käyttämään [[mkinitramfs]]:n sijaan kehittyneempää [[mkinitcpio]]-työkalua. Uusi initramfs-levykuva luodaan ytimen päivityksen yhteydessä automaattisesti /etc/mkinitcpio.conf-asetustiedoston pohjalta. Mkinitcpion käyttöä ja ominaisuuksia on selostettu Arch Linuxin wikissä osoitteessa
http://wiki.archlinux.org/index.php/Configuring_mkinitcpio


==initrd:n automaattinen luonti==
===[[Debian]]-pohjaiset===
===[[Debian]]-pohjaiset===
Initrd:n Debian-pohjaisissa [[jakelu| jakeluissa]] automatisoitu ytimen kääntämisen yhteydessä tapahtuvaksi, liittämällä --initrd -parametrin make-kpkg-komentoon:
Initrd:n luonti on Debian-pohjaisissa [[jakelu|jakeluissa]] automatisoitu ytimen asennuksen yhteydessä tapahtuvaksi. Jos [[Kernelin kääntäminen|käännät kernelin]] Debian-tyyliin, saat initrd:n käyttöön liittämällä --initrd -parametrin make-kpkg-komentoon:
  make-kpkg --initrd --rootcmd fakeroot kernel_image
  make-kpkg --initrd --rootcmd fakeroot kernel_image
Mikäli sinun tarvitsee käsitellä initramfs:ää muuten kuin pakettienhallinan automaattien kautta, <tt>initramfstools</tt>-paketti tarjoaa siihen työkalut.


===[[Gentoo]]===
===[[Gentoo]]===
[[genkernel]] luo initrd-kuvan automaattisesti
[[Genkernel]] luo initrd-kuvan automaattisesti. [http://gentoo-wiki.com/HOWTO_Initramfs Initramfs Gentoon wikissä]
 
===Luonti käsin===
Initrd:n ja initramfs:n voi myös luoda käsin peruskomentorivityökaluilla kuten minkä tahansa [[levykuva|levykuvan]].


===[[mkinitramfs]]===
===[[Mkinitramfs]]===
Initrd:n voi (useimmissa [[jakelu|jakeluissa]]) luoda  <tt>mkinitramfs</tt>-työkalulla. Seuraava esimerkki tallentaa luodun initrd:n tiedostoon initrd.img:
Initramfs:n voi useimmissa [[jakelu|jakeluissa]] luoda  <tt>mkinitramfs</tt>-työkalulla. Seuraava esimerkki tallentaa luodun initrd:n tiedostoon initrd.img:
  mkinitramfs -o initrd.img
  mkinitramfs -o initrd.img


==initrd:n luonti käsin==
==Katso myös==
Initrd:n voi myös luoda käsin peruskomentorivityökaluilla kuten minkä tahansa [[levykuva|levykuvan]].
*[[GNU/Linuxin käynnistysprosessi]]
*[[Ytimen kääntäminen]]
*[[Ytimen moduulit]]


==Katso==
==Aiheesta muualla==
[[kernelin kääntäminen]]
*[[wikipedia:initrd|Initrd englanninkielisessä Wikipediassa]]
*[http://linuxdevices.com/articles/AT4017834659.html Initramfs linuxdevices.comissa]


[[Luokka:Järjestelmä]]
[[Luokka:Järjestelmä]]
[[Luokka:Käsitteet]]
[[Luokka:Käsitteet]]
[[Luokka:Ydin]]
[[Luokka:Ohjeet]]

Nykyinen versio 27. tammikuuta 2021 kello 14.46

Initramfs eli initial ram filesystem (ennen initrd) on Linux-ytimen käynnistyksen aikana käyttämä, keskusmuistiin cpio-pakkauksesta tai valmiista levykuvasta luotu tiedostojärjestelmä. Käynnistyslatain lataa ytimen sekä initramfs:n keskusmuistiin. Initramfs:n yleisin käyttötarkoitus on tarjota ytimelle moduuleja (mm. laiteajureita) ja työkaluja, jotka mahdollistavat juuriosion liittämisen ja sitä kautta käynnistysprosessin jatkumisen ja initin lataamisen. Koska juuriosio voi olla esimerkiksi salakirjoitettu tai NFS-verkkolevy, vaaditaan sen liittämiseen ajoittain suuriakin määriä työkaluja, joita olisi vaikea sisällyttää itse ytimeen. Myös LVM-tiedostojärjestelmien käyttöönotto käynnistyksen aikana edellyttää initramfs:n käyttämistä.

Initramfs:ää ei tarvita lainkaan esimerkiksi siinä tapauksessa, että käyttäjä on itse kääntänyt ytimen ja sisällyttänyt siihen vain ne moduulit joita hän itse tietää tarvitsevansa, eikä ytimestä näin muodostu liian suurta. Eräät jakelut, kuten Suse ja Ubuntu, käyttävät initramfs:ää myös graafisen splash-ruudun näyttämiseen käynnistyksen aikana.

Ytimen 2.6-sarjassa aiemmin käytetty initrd korvattiin initramfs-nimisellä toteutuksella. Toisin kuin initrd:ssä, initramfs:ssä ei luoda keskusmuistiin perinteistä ramdisk-lohkolaitetta, vaan pelkkä tmpfs-tyyppinen tiedostojärjestelmä. Initramfs on toteutukseltaan yksinkertaisempi ja luotettavampi. Initramfs:n koko myös muuttuu automaattisesti vastaamaan sen sisältämää datamäärää.

Initramfs:n luonti[muokkaa]

Arch Linux[muokkaa]

Arch Linux on siirtynyt initramfs:n luonnissa käyttämään mkinitramfs:n sijaan kehittyneempää mkinitcpio-työkalua. Uusi initramfs-levykuva luodaan ytimen päivityksen yhteydessä automaattisesti /etc/mkinitcpio.conf-asetustiedoston pohjalta. Mkinitcpion käyttöä ja ominaisuuksia on selostettu Arch Linuxin wikissä osoitteessa http://wiki.archlinux.org/index.php/Configuring_mkinitcpio

Debian-pohjaiset[muokkaa]

Initrd:n luonti on Debian-pohjaisissa jakeluissa automatisoitu ytimen asennuksen yhteydessä tapahtuvaksi. Jos käännät kernelin Debian-tyyliin, saat initrd:n käyttöön liittämällä --initrd -parametrin make-kpkg-komentoon:

make-kpkg --initrd --rootcmd fakeroot kernel_image

Mikäli sinun tarvitsee käsitellä initramfs:ää muuten kuin pakettienhallinan automaattien kautta, initramfstools-paketti tarjoaa siihen työkalut.

Gentoo[muokkaa]

Genkernel luo initrd-kuvan automaattisesti. Initramfs Gentoon wikissä

Luonti käsin[muokkaa]

Initrd:n ja initramfs:n voi myös luoda käsin peruskomentorivityökaluilla kuten minkä tahansa levykuvan.

Mkinitramfs[muokkaa]

Initramfs:n voi useimmissa jakeluissa luoda mkinitramfs-työkalulla. Seuraava esimerkki tallentaa luodun initrd:n tiedostoon initrd.img:

mkinitramfs -o initrd.img

Katso myös[muokkaa]

Aiheesta muualla[muokkaa]