Theme4 indítólemezek

A rendszerindító lemez alapvetően egy miniatűr, különálló Linux rendszer egy hajlékonylemezen. Ugyanazoknak a funkcióknak kell teljesíteniük, mint egy teljes teljes méretű Linux rendszer. Mielőtt megpróbálna létrehozni, meg kell értened a kezdeti Linux indítás folyamatának alapjait.







4.1.1 A bootstrap folyamat.

Minden PC rendszernek meg kell indítania a boot-eljárást a ROM-ban (a BIOS-ban jelölt kódot) végrehajtva, a 0 szektor betöltésére; a csomagtartó 0 hengerének. A rendszerindító eszköz általában az első hajlékonylemez-meghajtó (az A: DOS és / dev / fdO alatt Linux alatt). A BIOS ezután megpróbálja végrehajtani ezt az ágazatot. A legtöbb indítólemezen, a 0-os szektorban, a 0-os henger a következőket tartalmazza:

a bootloader kód LILO típusú, amely megtalálja, betölti és végrehajtja a rendszermagot, elindítva a megfelelő bootstrapot.

az operációs rendszermag kezdete, például a Linux.

Ha a Linux kernelt nyers lemezre másolták lemezre, a lemez első szektora a Linux kernel első szektora. Ez az első szektor folytatja a bootolási folyamatot, a rendszermag többi részét a rendszerindító eszközről töltve.

Miután a rendszermag teljesen fel van töltve, elvégzi az alapvető eszközinicializálás végrehajtását. Ezután megpróbálja betölteni és csatolni a gyökér (root) fájlrendszert a

valamilyen eszközt. A gyökér fájlrendszer egyszerűen egy "V" -ra szerelt fájlrendszer. A rendszermagnak meg kell tudni, hol keresse a gyökér fájlrendszert; Ha nem találja a rendszerindító képet, akkor leáll.

Egyes - gyakran, amikor lemezről indítunk - a gyökér fájlrendszer-hajó egy ramdisk, ami RAM (RAM), arra utal, hogy a rendszer, mintha egy lemezt. Ennek két oka van. Először is, a RAM több nagyságrenddel gyorsabb, mint a floppy lemez, így a rendszer műveletei gyorsan elvégezhetők; és a második

- a rendszermag letöltheti a tömörített fájlrendszert egy hajlékonylemezről és kinyomtathatja egy memóriakártyára, így több más fájlt helyezhet el a lemezre.

A gyökérfájlrendszer betöltése és felszerelése után az üzenet jelenik meg: VFS: Felszerelt gyökér (ext2 fájlrendszer) csak olvasható.

és vsholnyaet ^ CTeMa van bites programot a gyökér fájlrendszer (/ bin vagy az / sbin) svsinit és végre SH11 ChITaST con O ur Uratsioiny / etc / inittab keres egy vonallal „kell és yaet nevű script. A sysinit szkript általában olyan, mint a / etc / rc

vagy /etc/init.d/boot. Ez a parancsfájl halmaz parancsokból áll, amelyek a rendszer alapvető műveleteit hajtják végre, például:

Fsck futtatás az összes lemezen,

A szükséges kernelmodulok betöltése,

Kiindulási csere (swaping),

Az fstab-ban megadott meghajtók felszerelése.

Ez a szkript sok más szkriptet hív le a modulok inicializálására. Például a SysVinit általános felépítésében az / etc / red / könyvtár egy olyan alkönyvtárak komplex struktúráját tartalmazza, amelyek fájlai meghatározzák, hogyan kell elindítani és megszüntetni a rendszer legtöbb szolgáltatását. A rendszerindító lemezeken azonban a sysinit szkript gyakran nagyon egyszerű.

4.1.2 Lemez típusok.

Miután alapos áttekintést készítettünk a kezdeti indítási folyamatról, most meg tudjuk határozni az állítólagos lemezek különböző típusát. A lemezeket négy típusba soroljuk. A továbbiakban a "lemez" kifejezést hajlékonylemezként használjuk, hacsak nincs másként megadva, bár a legtöbbet a merevlemezeken is használhatjuk.

A lemez tartalmaz egy betöltendő rendszermagot. A rendszermag betöltéséhez egy lemezt lehet használni, amely egy másik lemezre betöltheti a gyökér fájlrendszert. A rendszerindító lemez rendszermagján általában meg kell adni, hogy hol találja meg a gyökér fájlrendszert. boot disk terhelés gyakran root fájlrendszerrel Dru-goy floppy, hanem jelezheti a rendszerindító lemez betöltéséhez a root fájlrendszert a merevlemezről. Ez általában egy új mag tesztelésénél történik. (Valójában a "make zdisk" automatikusan létrehoz egy ilyen lemezt a kernel forráskódjából).

Fájlrendszerrel rendelkező lemez, amely tartalmazza a szükséges fájlokat a Linux rendszer futtatásához. Az ilyen lemez nem feltétlenül sem rendszermagot, sem boot-betöltőt tartalmaz.

A gyökérlemezzel a rendszermag minden más lemezről függetlenül futtatható, miután a rendszermag elindult. Általában a gyökérlemez automatikusan lemásolja a ramdisk parancsot. Ezáltal a gyökérlemez sokkal gyorsabb, és felszabadítja a lemez meghajtót a szervizlemez számára.

A lemez, amely mind a kernelt, mind pedig a gyökér fájlrendszert tartalmazza. Más szavakkal, mindent tartalmaz, amire szüksége van egy merevlemez nélküli merevlemez betöltésére és futtatására. Az ilyen típusú lemezek előnye, hogy mindannak szüksége van ugyanazon a lemezen.

Azonban a fokozatosan növekvő méret mindenre azt jelenti, hogy egyre nehezebb mindent elhelyezni egy floppy lemezre, még a tömörítéssel is.

Olyan lemez, amely olyan fájlrendszert tartalmaz, amelyet nem szándékozik gyökér fájlrendszerként telepíteni. Ez egy további adatlemez. Az ilyen típusú lemezeket további segédprogramok tárolására használhatja, ha túl sok helyet tartalmaz a gyökérlemezen.

Általában, amikor "bootolható lemez létrehozásáról" beszélünk, úgy értjük, hogy létrehozzák mind a boot (kernel), mind a root (fájlok) részeket. Ezek lehetnek egy (egyetlen indítható / root lemez) vagy különálló (boot + root lemez). A mentési lemezek legrugalmasabb megközelítése egy külön gyökér- és indítólemez, valamint egy vagy több szolgáltatási hajlékonylemez használata a felesleg megoldásához.

Hozzon létre egy gyökér fájlrendszert. A gyökérfájlrendszer létrehozása magában foglalja a rendszer indításához szükséges fájlok kiválasztását. Ebben a részben leírjuk, hogyan lehet tömörített root fájlrendszert létrehozni. Egy kevésbé gyakori lehetőség egy tömörítetlen fájlrendszer létrehozása egy olyan hajlékonylemezen, amely közvetlenül gyökérlemezként van telepítve.

Áttekintése. A gyökér fájlrendszernek tartalmaznia kell mindent, ami a teljes Linux rendszer támogatásához szükséges. Ehhez a lemeznek tartalmaznia kell a Linux rendszer minimális követelményeit:

alap fájlrendszer,







A könyvtárak minimális készlete a / dev, / proc, / bin, / etc, / lib, / usr, / tmp,

A segédprogramok alapkészlete: sh, Is, cp, mv, stb,

A konfigurációs fájlok minimális készlete: rc, inittab, fstab stb.

Eszközök: / dev / hd *, / dev / tty *, / dev / fdO stb.

A könyvtárak támogatják az alapfunkciókat, a használt segédprogramokat.

Természetesen minden rendszer csak akkor hasznos, ha valamit meg tud tenni, és a gyökérlemez hasznos lesz, ha valami ilyesmit tehet:

Ellenőrizze egy másik eszköz fájlrendszerét, például ellenőrizze a merevlemez gyökérfájlrendszerét, el kell indítania a Linuxot egy másik eszközről - a gyökér flopiból. Ezután végrehajthatja az fsck-et a fő gyökérlemezére, miközben nincs felszerelve.

A fő gyökérkészülék teljes vagy részleges visszaállítása az archívumból biztonsági mentési segédprogramokkal, például cpio, tar, gzip és ftape segítségével.

Leírjuk, hogyan lehet tömörített fájlrendszert létrehozni, úgynevezett, mert tömörítve van egy lemezen, és betöltésekor egy ramdisk-ba bontja. Egy tömörített fájlrendszerrel több fájl (kb. 2 megabájt) helyezhető el egy szabványos 1440 KB-os lemezre. Mivel a fájlrendszer sokkal nagyobb, mint egy hajlékonylemez, ezért nem helyezhető el hajlékonylemezre. Máshol kell létrehoznunk, tömörítenünk, majd át kell másolnunk a lemezre.

Hozzon létre egy fájlrendszert.

Ilyen gyökérfájlrendszer létrehozásához elég nagy méretű tartalékeszközre van szüksége, hogy az összes fájlt tömörítés előtt tárolja. Szüksége van egy olyan eszközre, amely körülbelül négy megabájtot képes tárolni. Számos lehetőség van:

• A ramdisk használata (DEVICE = / dev / ramO). Ebben az esetben memóriát használ a meghajtó szimulálására. A Ramdisknek elég nagynak kell lennie ahhoz, hogy megfelelő méretű fájlrendszert tartson. Ha LILO-t használ, ellenőrizze a következőket a konfigurációs fájlban (/etc/lib.conf):

RAMDISKSIZE = rum Melyik meghatározza, hogy mennyi RAM-t osztanak ki. Az alapértelmezett érték 4096KB, ami elegendő. Nem szabad megpróbálnia ilyen memóriakártyát használni egy olyan gépen, amelynek memóriája kevesebb, mint 8 MB. Győződjön meg róla, hogy van egy eszköz / dev / ramO, / dev / ram vagy / dev / ramdisk. Szükség esetén hozza létre a / dev / ramO parancsot az mknod-rel (fő 1, kisebb 0).

Ha elég nagy (több megabájtos) használatlan merevlemez-partíció van, akkor ez jó megoldás.

Használja a loopback-eszközt (ioopback), amely lehetővé teszi, hogy a lemezen eszközként dolgozzon. Hurok-eszköz használatakor három megabájtos fájlt hozhat létre a merevlemezen, és létrehozhat egy fájlrendszert rajta. Írja be az ember losetup parancsát a loopback eszközök használatához. Ha a rendszer nem rendelkezik loop eszköz (/ dev / loopO, / dev / loopl stb), akkor létre kell hozni őket -. „Mknod / dev / loopO b 7 0 m Miután létrehozott egy különleges mount és nye umount: hozzon létre egy ideiglenes fájlt a merevlemezen, elegendő kapacitással (pl. / tmp / fsfile). Használhatja a parancsot:

dd haWdev / nulla aVtmp / fsfile bs = lk coshn = mw "

létrehozni egy ppt-blokk fájlt.

Használja a fájlnevet az alábbi DEVICE helyett. Amikor megadja a mount parancsot, engedélyeznie kell a "

o hurok "úgy, hogy a mount hurokeszközt használjon, például:

mount -o hurok -t ext2 / tmp / fsfile / mnt

mount / tmp / fsfile (a loopback eszközön keresztül) a csatolási ponton / mnt. A df parancsnak ezt meg kell erősítenie. Miután kiválasztotta az egyiket, készítse elő a DEVICE:

dd ifWdev / nulla = DEVICE bs = lk count = 3000 Ez a parancs nullázza az eszközt. Ez a lépés fontos, mert a készülék fájlrendszerét tömörítjük, a maximális tömörítési arány elérése érdekében minden fel nem használt részt tele kell nullával tölteni.

(Ha hurokeszközt használ, akkor a használt lemezfájl nevét helyettesítse a DEVICE segítségével.) A Mke2fs megkérdezi, hogy tényleg ezt szeretné-e tenni, mondjuk igen.)

A mke2fs parancs automatikusan felismeri a rendelkezésre álló helyet, és ennek megfelelően konfigurálódik. -t 0 paraméter megakadályozza a hely fenntartását a gyökér számára, és így több hasznos helyet biztosít a lemezen. Ezután csatlakoztassa az eszközt: mount -t ext2 DEVICE / mnt (Ha nem létezik, akkor létre kell hoznia a mount könyvtárat / mnt.) A következő szakaszokban a célkönyvtár összes neve a / mnt függvényhez tartozik.

A fájlrendszer feltöltése. Van egy ésszerű minimum könyvtára a root fájlrendszerhez:

/ dev - Az I / O-hoz szükséges eszközök

csonk könyvtár szükséges a prog fájlrendszerhez

/ etc - rendszerkonfigurációs fájlok

/ sbin - kritikus rendszer binárisok

alapvető binárisok, a javasolt rendszer egy része

/ lib - megosztott könyvtárak, a dinamikus támogatás (futási idő)

/ mnt - csatolópont a többi meghajtó támogatásához

/ usr - további segédprogramok és alkalmazások

Az itt bemutatott könyvtárszerkezet csak a gyökérlemezen használható. A valódi Linux rendszerek sokkal teljesebb és egyértelműbb szabályokat tartalmaznak a fájlok elosztására, úgynevezett Standard Hierarchia Standard (File Hierarchy Standard).

E könyvtárak közül háromnak üresnek kell lennie a gyökér fájlrendszeren, tehát hogy csak az mkdir készítse őket. A / proc könyvtár alapvetően egy csomópont, amelybe a proc fájlrendszer kerül. A könyvtárak / mnt és / usr csak a rendszerindító / gyökér rendszer indítása után használható csatolási pontok. Ezért ezeket a könyvtárakat csak létre kell hozni.

Átadása. Miután befejezte a gyökérfájlrendszer létrehozását, vegye le, másolja le egy fájlt, és tömörítse:

dd ha = DEVICE bs = lk | gzip -v9> rootfs.gz A végén a rootfs.gz lesz. amely a tömörített gyökér fájlrendszer. Ellenőriznie kell a méretét, hogy megbizonyosodjon róla, hogy illeszkedik a lemezre; ha nem illeszkedik, akkor vissza kell térnie és törölnie kell néhány fájlt.

Válassza ki a rendszermagot. Ha teljes tömörített gyökér fájlrendszer van. A következő lépés egy kernel létrehozása vagy kiválasztása. A legtöbb esetben le lehet másolni a jelenlegi rendszermagot és betölteni egy floppy-t. Vannak azonban olyan esetek is, amikor külön kell létrehozni.

Ennek egyik oka a méret. Ha egy indító lemezt, a kernel lesz az egyik legnagyobb fájlokat a floppy lemezen, így van, hogy minimalizáljuk a kernel méretét. Ha kétlemezes indítható + root lemezt hoz létre, ez nem olyan fontos, hiszen a rendszermag egy külön lemezt futtat. A mérgezés mérsékléséhez hozzon létre azt a szükséges eszközökkel, amelyek szükségesek a kívánt rendszer támogatásához. Ez azt jelenti, hogy hiányzik mindaz, amire nincs szüksége. A hálózatokkal való együttműködés jó a kizárás, valamint a meghajtók és egyéb eszközök támogatása, amelyekre nincs szüksége a rendszerindításkor. Amint korábban említettük, a kernelnek beépített támogatással kell rendelkeznie a ramdisk és az ext2 számára.

Miután meghatároztuk a kernelben található legkisebb eszközökészletet, meg kell határoznunk, hogy mit adjunk vissza. A rendszerindító hajlékonylemez leggyakoribb használata az elpusztult gyökérfájlrendszer vizsgálata és helyreállítása, és ehhez kernel támogatás szükséges. Ha például a tartalék egy kazettán van, és a ftape a szalagos meghajtó eléréséhez van használva, akkor ha elveszíti az aktuális gyökérlemezét és az ftape tartalmú eszközöket, akkor nem tudja visszaállítani azokat a biztonsági szalagokról. Telepítenie kell a Linuxot, le kell töltenie és telepítenie kell az ftape-ot, majd próbálja meg elolvasni a biztonsági másolatot.

A legfontosabb az, hogy a rendszermag minden olyan I / O támogatását, amely a mentési támogatáshoz szükséges, hozzá kell adni a rendszerindító rendszermaghoz.

Lemez létrehozása Most van egy kernel és egy tömörített gyökér fájlrendszer. Ha létrehoz egy indítható / root lemezt, ellenőrizze a méretüket, hogy megbizonyosodjon arról, hogy mindketten ugyanazon a lemezen helyezkednek el. Ha két bootolható + root floppy lemezt készít, ellenőrizze, hogy a gyökér fájlrendszer egy floppy lemezen van-e elhelyezve.

Meg kell döntenie, hogy a LILO-t a rendszermag elindításához vagy bootdisként használja-e. Az alternatíva a rendszermag közvetlen átmásolása a hajlékonylemezre és a boot nélkül a LILO. A LILO használatának előnye, hogy meg tudja határozni néhány, a hardver inicializálásához szükséges rendszermag paramétereket (ellenőrizze a /etc/lilo.conf fájlt a rendszerben). Ha létezik, és a hozzá tartozó "append ^" string szerepel, akkor valószínűleg szüksége van erre a tulajdonságra. A LILO használatának hátránya a rendszerindító lemez létrehozásának bonyolultsága, és egy kicsit több hely. Telepítenie kell egy kis különálló fájlrendszert, amelyet a rendszermag fájlrendszerének hívunk, ahol át fogja adni a rendszermagot és néhány más fájlt, amelyet a LILO szükséges.




Kapcsolódó cikkek