Initramfs

Linux.fista
Versio hetkellä 18. elokuuta 2007 kello 17.02 – tehnyt Pb (keskustelu | muokkaukset) (→‎Katso myös)
Siirry navigaatioon Siirry hakuun

Initrd eli initial ramdisk on Linux-ytimen käynnistyksen aikana käyttämä, keskusmuistiin valmiista levykuvasta luotu tiedostojärjestelmä. Käynnistyslatain lataa ytimen sekä initrd-levykuvan keskusmuistiin. Initrd: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 kryptattu tai NFS-verkkolevy, vaaditaan sen liittämiseen ajoittain suuriakin määriä työkaluja, joita olisi vaikea sisällyttää itse ytimeen. Initrd:tä 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 initrd:tä myös graafisen splash-ruudun näyttämiseen käynnistyksen aikana.

Ytimen 2.6-versiossa on tullut mahdolliseksi käyttää varsinaisen initrd:n sijaan initramfs-nimistä toteutusta. 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

Debian-pohjaiset

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

Gentoo

Genkernel luo initrd-kuvan automaattisesti. Initramfs Gentoon wikissä

Luonti käsin

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

Mkinitramfs

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

Linkkejä