Wiki od rinitrd - wiki

Ez a dokumentum leírja, hogyan lehet létrehozni és telepíteni az initrd, ami lehet, hogy a kernel verzió 4.x Lásd még: «man mkinitrd».

Mi initrd?

initrd jelentése «initial ramdisk» (kezdeti virtuális lemez). A kezdeti virtuális lemez, ez egy nagyon kicsi Linux fájlrendszer betöltődik a RAM és felszerelni, mint alapvető rakodó, szerelés előtt a fő gyökér fájlrendszert.

Miért van szükség initrd?

A szokásos oka, hogy az initrd, hogy meg kell tölteni kernel modulok telepítése előtt a root partíció. Általában ezek a modulra van szükség, hogy támogassa a fájlrendszer által használt root partíció (ext3, ext4, btrfs XFS), vagy a vezérlő, a merevlemez csatlakozik a (SCSI, RAID, stb.) Lényegében olyan sok különböző lehetőségek állnak rendelkezésre a modern Linux kernelek, de nem praktikus, hogy megpróbálja betölteni egy másik kernel, annak érdekében, hogy eleget mindenki igényeit. Egy sokkal rugalmasabb megoldás, hogy terhelés egy szabványos mag és egy sor modulok érte.

Hogyan tudok létrehozni initrd?

A legegyszerűbb módja annak, hogy hozzon létre egy initrd használni a mkinitrd forgatókönyvet. tartalmazza a Slackware csomag, hogy az úgynevezett «mkinitrd». Mi megy át a folyamat korszerűsítése a Linux kernel 4.4.14 generikus egy csomag, ami a Slackware / a / könyvtárban.

Először is, győződjön meg arról, hogy a mag kernel modulok és mkinitrd csomag telepítve (aktuális verzió lehet egy kicsit más, ezért ez csak egy példa):

Lépj be a / boot:

Most szükség lesz, hogy indítson «mkinitrd». Használom ext4 a root fájlrendszert, és mivel a hajtás vezérlő nem igényel különleges támogatást számomra, a csomagtartó, meg kell csak egy ext4 modult.

Ez a parancs két dolgot. Először hozzon létre a / boot / initrd-fa, amely az initrd fájlrendszert. Aztán jön létre initrd (/boot/initrd.gz) ennek a fának. Ha azt szeretnénk, akkor lehet, hogy egyes további módosítások / boot / initrd-tree /, majd futtassa újra mkinitrd opciók nélkül, hogy újra a képet. Ez nem feltétlenül csinálni, de az, hogy gondolni, hogy csak haladó felhasználóknak szükségük van.

Itt egy másik példa: Készítsen initrd használata Linux 4.4.14 kernel modult a rendszer ext4 root partíció a / dev / sdb3:

Most, hogy már létrehozott initrd, hogyan lehet használni?

Most, hogy megvan initrd (/boot/initrd.gz), akkor szeretnénk, hogy töltse be a rendszermag indítható. Ha használja a LILO bootloader, akkor meg kell szerkeszteni a fájlt /etc/lilo.conf, és adjunk hozzá egy sort, amelyik betölti initrd. Íme egy példa a lilo.conf szakasz, amely megmutatja, hogyan kell csinálni:

Initrd betöltése a sorban «initrd = /boot/initrd.gz». Csak ezt a sort közvetlenül a sorban a kernel által használt kép. Mentsd el a fájlt, majd futtatni a LILO újra (tárcsázásával «lilo» parancssorból). Meg kell futtatni «lilo» valahányszor szerkeszteni lilo.conf vagy újra initrd.

Initrd betöltése a sorban «initrd = /boot/initrd.gz». Csak ezt a sort közvetlenül a sorban a kernel által használt kép. Mentsd el a fájlt, majd futtatni a LILO újra (tárcsázásával «lilo» parancssorból). Meg kell futtatni «lilo» valahányszor szerkeszteni lilo.conf vagy újrateremti initrd.

Egyéb rendszerbetöltők, mint a SYSLINUX is támogatja a initrd. A részleteket lásd a dokumentációt e programok használatáról szóló initrd velük.

Kapcsolódó cikkek