Linux Indítólemez HOGYAN Tom Fawcett (fawcett@croftj.net) 3.5, July 1999 Ez a dokumentáció azt mutatja be, hogyan készítheted el a saját Linux indító/gyökér lemezeidet. Ezeket a lemezeket a rendszered biztonsági lemezeként, vagy új rendszerkomponensek tesztelésére használhatod. Ha még nem olvastad el a Linux GYIK-et és az olyan idevágó dokumentációkat, mint a Linux Telepítés HOGYAN és a Linux Telepítési Kézikönyv, nem ajánlatos indítólemez készítésével próbálkoznod. Ha csak vészhelyzet esetére szeretnél biztonsági lemezt készíteni, nézd meg a Függeléket. Bevezetés.

Megjegyzés: Ez a dokumentáció elavult lehet. Ha a címlapon szereplő dátum több, mint hat hónappal ezelőtti, nézd meg a Linux Documentation Project holapon (), hogy nincs-e frisebb verzió. Bár ez a dokumentáció jól olvasható sima szöveges formátumban, Verzió megjegyzések.

grahamc@zeta.org.au) írta az eredeti Bootdisk-HOWTO-t és a 3.1-es verzióig ő támogatta. Tom Fawcett (fawcett@croftj.net) sok dolgot hozzátett a 2.0-s kernel miatt, és ő a dokumentáció karbantartója a 3.2-es verziótól kezdve. Chapman eredeti dokumentációjának nagyrésze változatlanul megmaradt. A Bootdisk-HOWTO fordítását, az Indítólemez-HOGYAN-t Bábos Balázs (bbk@swi.hu) készítette. Ez a dokumentáció a helyről szerezhetsz be. Ezek az információk kifejezetten Visszacsatolás és köszönet-nyilvánítás.

Szívesen fogadunk minden a dokumentációval kapcsolatos pozitív vagy negatív visszajelzést. A legjobb tudásunk szerint próbáltuk meg összeállítani az itt található utasításokat és információkat, hogy helytállóak és megbízhatóak legyenek. Légyszíves értesíts minket, ha hibát vagy elírást találnál. Köszönjük sokatoknak, akik segítettetek javításokkal és ötletekkel. A közreműködésetek tette sokkal jobbá, nélkületek nem sikerült volna. Megjegyzéseket, javításokat, kérdéseket a készítő fentebb olvasható E-mail címére küldheted. Nem bánom, ha kérdésekre kell válaszolnom, de először olvasd el a -t. Terjesztési jogosultság.

Copyright © 1995,1996,1997,1998,1999 by Tom Fawcett and Graham Chapman. Ez a dokumentáció szabadon terjeszhető a Linux Documentation Project License () figyelembevételével. Fordulj a készítőkhöz, ha nem tudsz hozzájutni a licenszhez.

Ez egy ingyenes dokumentáció. Abban a reményben terjesztjük, hogy hasznos lehet, de bármiféle garancia nélkül.

Bevezetés.

A Linux indítólemezek több esetben hasznosak lehetnek, mint például: Új kernel tesztelése. Lemezhiba utáni helyreállítás -- bármi, az elveszett indító szektortól kezdve a merevlemez fejének összetöréséig. Letiltott rendszer javítása. Súlyos hiba, ha root-ként használhatatlanul hagyva a rendszert kiléphetsz belőle, és indító lemezre lesz szükséged a helyreállításához. Olyan kritikus rendszer állományok frissítésekor, mint például a Több lehetőség áll rendelkezésedre, hogy beszerezz indító lemezeket: Használhatod például a Slackware disztribúció lemezeit. Ezek legalább lehetővé teszik, hogy Linux rendszert indíts. Használhatsz mentő csomagokat, amiket arra terveztek, hogy biztonsági indító lemezt készíthess velük. Vizsgáld meg, hogy mi szükséges az összes lemez működéséhez, és készítsd el a sajátod. Néhányan ez utóbbit választják, azaz saját maguk készítik el a rendszerindító lemezeiket. Így ha valami elromlik, ki tudják találni, hogy mi a teendő a megjavításához. Ezen kívül ez egy jó módszer arra, hogy megtanulják, hogy is működik egy Linux rendszer. Ez a dokumentáció feltételezi, hogy van némi jártasságod a Linux rendszer-adminiszráció alapkérdéseiben. Például nem árt tudnod, hogy mik azok az alkönyvtárak, állományrendszerek és floppy lemezek. Ezen kívül jó ha tudod használni a /etc/passwd és fstab állományok mire jók, és hogyan néznek ki. Nem árt, ha azt is tudod, hogy a legtöbb parancsot, amit ebben a HOGYAN-ban is használunk root-ként kell futtatnod. A saját indítólemezed a semmiből való elkészítése meglehetősen bonyolult dolog. Ha még nem olvastad el a Linux GYIK-et és az olyan idevágó dokumentációkat, mint a Linux Telepítés HOGYAN és a Linux Telepítési Kézikönyv, nem ajánlatos indítólemez készítésével próbálkoznod. Ha csak vészhelyzetek esetére kell egy működő indítólemez, sokkal egyszerűbb, ha letöltesz egy megfelelő változatot magadnak. Nézd meg a függeléket lejjebb, hogy hol is találod ezeket. Indítólemezek és az indítás folyamata.

Az indítási folyamat.

A:-val jelölik, Linuxban /dev/fd0). A BIOS ezután megpróbálja végrehajtani ezt a szektort. A legtöbb indítható lemez 0. szektora, 0. cylindere a következők valamelyikét tartalmazza: indító betöltő, mint például a LILO kódja, ami majd megtalálja a kernelt, betölti, és végrehajtja, hogy elindítsa a teljes betöltőt. egy olyan operációs rendszer magjának kezdete, mint például a Linux. Ha a Linux kernel nyers-másolással kerül át egy lemezre, a lemez első szektora magának a kernelnek az első szektorát fogja tartalmazni. Az első szektor fogja folytatni a betöltési folyamatot a kernel többi részének indító eszközről való betöltésével. Amint a kernel teljes egészében betöltődött, néhány alapvető eszköz-inicializálást hajt végre. Ezután megpróbálja betölteni és beilleszteni a néhány eszközről. A gyökér állományrendszer egyszerűen az az állományrendszer, amit ``/''-ként illesztünk be. A kernelnek meg kell mondani, hogy hol keresse a gyökér állományrendszert; ha nem talál betölthető állományrendszert itt, megáll. Néhány esetben az induláskor -- gyakran, amikor lemezről indítunk -- a gyökér állományrendszert töltjük be, amit a rendszer a RAM-ból olvas úgy, mintha lemez lenne. Két indok lehet, ami miatt a rendszert memórialemezre töltjük. Az első, hogy a RAM lényegesen gyorsabb bármely floppy lemeznél, így a rendszer működése nagyon gyors, a második, hogy a kernelt töltjük be a lemezről, majd memórialemezre kitömörítjük, ezzel lehetővé téve több állomány lemezre másolását. Ha a gyökér állományrendszer betöltődött, és beillesztődött, a következőhöz hasonló üzenetet kapsz: VFS: Mounted root (ext2 filesystem) readonly. init inittab sysinit Ennél a pontnál a renszer megkeresi az gyökér állományrendszeren az /bin vagy az /sbin alkönyvtárban), és végrehajtja. Az /etc/inittab állományból olvassa a konfigurációt, megkeresi a megfelelő /etc/rc vagy az /etc/init.d/boot. Ez a szkript parancsértelmező parancsok halmaza, amik az olyan alap rendszer szolgáltatásokat állítják be, mint: futtatása minden lemezen, Megfelelő kernel Swap indítása, Hálózat inicializálása, Az -ban felsorolt lemezek beillesztése. Ez a szkript gyakran meghív más szkripteket, hogy moduláris inicializálást tegyen lehetővé. Például a közös SysVinit szerkezet, az /etc/rc.d/ alkönyvtár olyan alkönyvtárak teljes rendszerét tartalmazza, amelyek állományai megadják, hogy hogy kell engedélyezni és leállítani a legtöbb rendszerszolgáltatást. Mindazonáltal az indítólemezek sysinit szkriptje gyakran nagyon egyszerű. Amikor a sysinit szkript végez, visszaadja a vezérlést az -hez hasonló programot, ami a konzolon és tty-ken keresztüli kommunikációért felelős. A programot, hogy a bejelentkezéseket lekezelje, és beállítsa a felhasználói környezetet. Lemez típusok.

Miután átnéztük az alap indulási folyamatot, definiálhatjuk a különböző lemeztípusokat. Négy típusba sorolhatjuk a lemezeket. A dokumentációban szereplő ``lemez'' szó alatt a továbbiakban a floppy lemezt értjük, ha másként nem rendelkezünk, bár a legtöbb dolog, amiről szó lesz, érvényes merevlemezre is. gyökér(root) A Linux rendszer működéséhez szükséges állományokat tartalmazó állományrendszer. Az ilyen lemez nem szükségszerűen tartalmaz kernelt, vagy indító betöltőt (boot loader). betöltő/gyökér(boot/root) Olyan lemez, ami a kernelt és a gyökér állományrendszert is tartalmazza. Más szavakkal, mindent tartalmaz, amire egy Linux rendszer merevlemez nélküli működéséhez szükség van. Ennek a lemeztípusnak a tömörsége az előnye -- minden szükséges dolgot egyetlen lemezen tartalmaz. Mindazonáltal mivel minden folyamatosan növekszik, egyre nehezebb mindent egy lemezre zsúfolni, még tömörítéssel is. boot/root disk eszköz(utility)Olyan lemez, ami nem gyökérként beillesztendő állományrendszert tartalmaz, hanem kiegészítő adatokat. Egyéb eszközök szállítására használhatsz ilyen lemezt a gyökér lemezed kiegészítéseként, ha arra már nem fér más. Általában amikor ``betöltőlemez készítéséről'' beszélünk, ezalatt egyaránt értjük a betöltő (kernel) és a gyökér (állományok) részek elkészítését. Ezek lehetnek együtt (egylemezes betöltő/gyökér lemez), vagy külön (betöltő+gyökér lemezek). A legrugalmasabb megoldás helyreállító lemezek esetén valószínűleg a különválasztott betöltő és gyökér lemezek használata, és egy vagy több eszköz lemez a többlet kezelésére. Gyökér állományrendszer készítése.

A gyökér állományrendszernek mindent tartalmaznia kell, amire a teljes Linux rendszernek szüksége van. Ahhoz, hogy ezt megtehessük, a lemeznek tartalmaznia kell a Linux rendszer minimális szükségleteit: Az alap állományrendszer-struktúra, Minimális alkönyvtár-struktúra: /dev, /proc, /bin, /etc, /lib, /usr, /tmp, Alap eszközök: sh, ls, cp, mv, stb., Minimálisan szükséges konfigurációs állományok: rc, inittab, fstab, stb., Eszközök: /dev/hd*, /dev/tty*, /dev/fd0, stb., Eszközök által használt alap függvényeket nyújtó futásidejű eljáráskönyvtárak. Természetesen bármely rendszer akkor hasznos, ha tudsz rajta futtatni is valamit. A gyökérlemez általában csak akkor válik használhatóvá, ha valami ilyesmit megtehetsz vele: Másik meghajtón állományt ellenőrzöl, például azért, hogy leelenőrizd a merevlemezeden lévő gyökér állományrendszeredet, másik meghajtóról el kell, hogy tudd indítani a Linux rendszeredet, mint ahogy azt egy gyökér lemezről meg is teheted. Ezután lefuttathatod az -t az eredeti gyökér meghajtódra, amíg nincs beillesztve. Visszaállíthatod az eredeti gyökér meghajtódat biztonsági mentésből olyan archiváló és tömörítő eszközök használatával, mint a Megmutatjuk, hogy hogyan készíthetsz Az állományrendszer elkészítése.

Íme egy kellően lecsupaszított alkönyvtárcsoport a gyökér állományrendszered számára: /dev -- Eszközök, melyek a B/K műveletekhez szükségesek /proc -- Alkönyvtár-rendszer, amire a proc állományrendszernek van szüksége /etc -- Rendszerkonfigurációs állományok /sbin -- Kritikus rendszer-binárisok /bin -- A rendszer részét alkotó alap binárisok /lib -- Futásidejű támogatást nyújtó osztott eljáráskönyvtárak /mnt -- Más lemezek karbantartására szolgáló beillesztési pont /usr -- Egyéb eszközök és alkalmazások (Az itt bemutatott alkönyvtár-struktúra csak a gyökér lemezre vonatkozik. A valódi Linux rendszerek sokkal összetettebb és sokkal fegyelmezettebb irányvonallal rendelkeznek. Állományrendszer Hierarchia Szabványnak hívják ezt a rendszert, és ez a szabvány határozza meg, hogy melyik állománynak hova kell kerülnie.) /proc alkönyvtár tulajdonképpen csak egy törzs, ahova a proc állományrendszer kerül. Az /mnt és az /usr alkönyvtárak pedig olyan beillesztési pontok, melyeket majd az indító/gyökér rendszer lefutása után használunk. Ezért tehát ezeket az alkönyvtárakat csak létre kell hozni. A maradék négy alkönyvtár tartalmát a következő bekezdésekben részletezzük. /dev

/dev alkönyvtár minden Linux rendszerben használatos eszköz számára egy-egy különleges állományt tartalmaz. A /dev alkönyvtár maga hagyományos alkönyvtár, és az paranccsal. Azonban létezik egy gyosabb módszer is -- másold le a már létező /dev alkönyvtárad tartalmát, majd töröld le azokat az eszközöket, amikre nincs szükséged. Az egyetlen szükséges teendő a Figyelj nagyon, hogy nagybetűs R-t használj!. Ha kisbetűs cp -dpR /dev /mnt feltéve, hogy a lemezt a /mnt alkönyvtárba illesztetted. A állományt használják, így ha szalagos lemezmeghajtódhoz hozzá szeretnél férni az indítólemezről, minden ilyen állományt át kell másolnod. Jegyezzük meg, hogy minden egyes különleges eszköz állományhoz egy-egy inode-ra van szükség, és az /dev alkönyvtárban, amikre valóban szükséged lesz. Például ha nincsenek SCSI lemezeid, minden további nélkül eltávolíthatsz minden Bizonyosodj meg arról, hogy a következő állományokat csatolod ebből az alkönyvtárból: console, kmem, mem, null, ram, tty1. /etc

Minden esetben szükségesek, Lehet, hogy kellenek, de senki sem elég biztos benne. Szükségtelen hulladék. A lényegtelen állományokat a következő utasítással ismerheted fel: ls -ltru Ez a fordított sorrendben kilistázza a legutóbbi hozzáférés szerint rendezve az állományokat, tehát amelyik állományhoz nem volt hozzáférés, le lehet hagyni a gyökér lemezről. Az én gyökér lemezemen 15 darab konfigurációs állomány található. Ez három csoportra szűkíti a kezelendő állományok halmazát: Állományok, melyeket be kell konfigurálni az indító/gyökér rendszerhez. rc.d/* -- rendszerindító és futásszint váltó szkriptek -- beillesztendő állományrendszerek listája -- az Állományok, melyekről gondoskodni kell az indító/gyökér rendszerhez. -- felhasználók listája, home könyvtárak, stb. Ha fontos a biztonság, a legalább a A maradék. Működnek ebben a pillanatban, így békén hagyom őket. Ezután ténylegesen lét állományt kell konfigurálnom, és meglepően kevés dolgot fognak tartalmazni. #!/bin/sh /bin/mount -av /bin/hostname Kangaroo Bizonyosodj meg róla, hogy az alkönyvtárak helyesek. Nem kell a -t futtatnod, egyszerűen csak jól néz ki, ha teszed. -nak legalább a következőket kell tartalmaznia: /dev/ram0 / ext2 defaults /dev/fd0 / ext2 defaults /proc /proc proc defaults Lemásolhatod a már létező Az -ot úgy kell megváltoztatnod, hogy a sora a rc-t futtassa, vagy valami alap indító szkriptet használjon. Emellett, ha biztos akarsz lenni benne, hogy soros portról se tudjanak felhasználók bejelentkezni, kommentezd ki az összes olyan állomány például így nézhet ki: id:2:initdefault: si::sysinit:/etc/rc 1:2345:respawn:/sbin/getty 9600 tty1 2:23:respawn:/sbin/getty 9600 tty2 Az állomány mondja meg, hogy milyen rendszer fusson a különböző állapotokban, beleértve az indulást, a több-felhasználós üzemmódba váltást, stb. Bizonyosodj meg az /etc/shutdown a /etc/reboot-ba van bedrótozva. Ha /bin/reboot-ra, és kiadom a /etc alkönyvtáradban levő összes szöveges állományt egyszerűen csak másold át, és az összes olyan /etc-beli összes olyan futtatható állományt, amiről nem tudod biztosan, hogy nem lesz rá szükség. Támpontot adhat ebben a fejezet. Valószínűleg elegendő lesz csak ezokat az állományokat átmásolni, de sokmindenben különbözhetnek egymástól a Linux rendszerek, tehát nem lehetsz biztos benne, hogy a te rendszereden ugyanazon állományok halmaza pontosan egyezik a listában megadott állományokkal. Az egyetlen megbízható megoldás az, hogy az /etc/rc.d/ alkönyvtárat tartalmazza a különböző futásszintek parancsértelmező szkriptjeinek tárolására. Az alkönyvtár állhat egyetlen és az /etc/rc.d alkönyvtárat a már működő rendszeredről, és kiszedni a /bin és /sbin

/bin alkönyvtár a megállapodás szerint az alap műveletek elvégzése szempontjából szükséges extra eszközök tárolóhelye, olyan eszközök találhatóak itt, mint az függelékben találsz egy példát a /bin alkönyvtár állományairól, illetve az /sbin alkönyvtár tartalmáról. Ez nem tartalmaz minden mentéshez és mentésből való visszaállításhoz szükséges eszközt, mint például a /usr alkönyvtárba illesztem be. Az bekezdésben. Minden bizonnyal célszerű eltenni egy biztonsági másolat készítése esetén az ehhez használt biztonsági mentő eszközöket, hogy ne kelljen időt pazarolnod olyan verziók telepítésére, amik esetleg nem is olvasság a biztonsági mentéseket tartalmazó szalagokat, lemezeket. Győződj meg róla, hogy csatoltad-e a következő programokat: /lib

/lib alkönyvtárban tárolhatod a szükséges osztott eljáráskönyvtárakat és a betöltőket. Ha a szükséges eljáráskönyvtárak nem találhatóak a /lib alkönyvtárban, akkor a rendszer nem fog tudni elindulni. Ha szerencséd van, láthatsz olyan hibaüzenete, ami utal arra, hogy miért is nem tudott elindulni a rendszered. libc.so., ahol az /lib alkönyvtárad. A % ls -l /lib/libc* -rwxr-xr-x 1 root root 4016683 Apr 16 18:48 libc-2.1.1.so* lrwxrwxrwx 1 root root 13 Apr 10 12:25 libc.so.6 -> libc-2.1.1.so* Ebben az esetben a paranccsal tudod leellenőrizni. Például: % ldd /sbin/mke2fs libext2fs.so.2 => /lib/libext2fs.so.2 (0x40014000) libcom_err.so.2 => /lib/libcom_err.so.2 (0x40026000) libuuid.so.1 => /lib/libuuid.so.1 (0x40028000) libc.so.6 => /lib/libc.so.6 (0x4002c000) /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000) Minden jobboldalon szereplő állományra szükség van. Az állomány lehet szimbolikus lánc is. Jegyezzük meg, hogy néhány eljáráskönyvtár elég nagy, és nem könnyen fog ráférni a gyökér lemezedre. Például a fent is említett fejezetet, hogy ezt hogyan teheted meg. /lib alkönyvtárban az eljáráskönyvtárak betöltőjét is csatolnod kell. A betöltő lehet egyrészt % file/lib/libc.so.4.7.2 /lib/libc.so.5.4.33 /lib/libc-2.1.1.so /lib/libc.so.4.7.2: Linux/i386 demand-paged executable (QMAGIC), stripped /lib/libc.so.5.4.33: ELF 32-bit LSB shared object, Intel 80386, version 1, stripped /lib/libc-2.1.1.so: ELF 32-bit LSB shared object, Intel 80386, version 1, not stripped A PAM és NSS számára szolgáltatandók.

Ha a rendszered PAM-ot (Pluggable Authentication Modules: Beilleszthető Hitelesítő Modul) használ, néhány külön intézkedést kell végezned az indítólemezeden ehhez, különben nem fogsz tudni bejelentkezni. A PAM röviden egy kifinomult, moduláris felépítésű módszer a felhasználók hitelesítésére és a szolgáltatásokhoz való hozzáférésük szabályozására. A legegyszerűbben úgy tudod kideríteni, hogy a rendszered használ-e PAM-ot, ha megnézed a merevlemezed /etc alkönyvtárát, hogy találsz-e benne pam.conf nevű állományt, vagy pam.d nevű alkönyvtárt. Ha bármelyik létezik, minimális PAM támogatásról gondoskodnod kell. (Másik lehetőség, ha lefuttatod az ldd-t a login állományodra. Ha a kimenet tartalmazza a libpam.so állományt, szükséged van a PAM-ra.) Szerencsére a biztonság betöltő lemezek esetében nem kulcsfontosságú tényező, mivel bárki, akinek fizikai hozzáférése van a géphez gyakorlatilag úgyis bármit megtehetne. Ezért gyakorlatilag le is tilthatod a PAM-et egy egyszerű /etc/pam.conf állomány létrehozásával a gyökér lemezeden, ami így néz ki: OTHER auth optional /lib/security/pam_permit.so OTHER account optional /lib/security/pam_permit.so OTHER password optional /lib/security/pam_permit.so OTHER session optional /lib/security/pam_permit.so Valamint másold le a /lib/security/pam_permit.so állományt a gyökér állományrendszeredre. Ez az eljáráskönyvtár körülbelül 8K, tehát minimális többletet jelent csak. Jegyezzük meg, hogy ez a konfiguráció bárkinek teljes hozzáférést biztosít a gépeden levő összes állományhoz és szolgáltatáshoz. Ha valami miatt lényeges számodra az indítólemezed biztonsága, néhány, vagy az összes merevlemezeden lévő PAM beállítást a gyökér állományrendszeredre kell másolnod. Ehhez gondosan tanulmányozd át a PAM dokumentációját, és másolj át minden szükséges eljáráskönyvtárt a /lib/security alkönyvtárból a gyökér állományrendszeredre. Az indítólemezedre rá kell tenned még a /lib/libpam.so állományt is, de már tudod, mivel futtattad a /bin/login-ra az ldd-t, hogy melyiket a megjelenített függőség alapján. NSS (Name Service Switch: Név Szolgáltatás Kapcsoló).

Ha glibc-t (azaz libc6) használsz, külön kell foglalkoznod a név szolgáltatásokkal, vagy nem fogsz tudni bejelentkezni. Az /etc/nsswitch.conf állomány szabályozza a különböző szolgáltatásokhoz szükséges adatbázis fellapozásokat. Ha nem tervezel más hálózatok szolgáltatásaihoz való hozzáférést (pl. DNS vagy NIS feloldás), csak egy egyszerű nsswitch.conf állományt kell előkészítened, ami így néz ki: passwd: files shadow: files group: files hosts: files services: files networks: files protocols: files rpc: files ethers: files netmasks: files bootparams: files automount: files aliases: files netgroup: files publickey: files Ez azt mondja meg, hogy minden szolgáltatást csak helyi állományok biztosítanak. Csatolnod kell a /lib/libnss_files.so.1 állományt is, ami dinamikusan fog betöltődni, hogy az állomány feloldásokat kezelje. Ha hálózathoz való hozzáférést is tervezel az indítólemezedről, akkor gondosabban kidolgozott nsswitch.conf állományra lesz szükséged. Nézd meg az nsswitch manuál oldalt a részletekért. Tartsd észben, hogy minden szolgáltatáshoz, amit csatolsz, szükséged van a /lib/libnss_szolgáltatás.so.1-ra. Modulok.

/lib/modules alkönyvtárban helyezheted el. Célszerű még az /etc/conf.modules-el együtt kell a lemezre tenned. Mégis, a modulok használatának legfőbb előnye abban van, hogy a nem kritikus modulokat átpakolhatod az eszközlemezre, és szükség esetén betöltheted, így kevesebb helyet használsz el a gyökér lemezen. Ha több eszközzel kell bajlódnod, jobb megoldásnak kínálkozik a modulok használata, mintha egy hatalmas kernelt készítenél az összes meghajtó szoftverrt belefordítva. Néhány utolsó simítás.

Néhány rendszerprogram, mint például a /var/run/utmp állomány és a /var/log alkönyvtár. mkdir -p /mnt/var/{log,run} touch /mnt/var/run/utmp Végül, miután összeszedted az összes szükséges eljáráskönyvtárt, futtasd az /etc/ld.so.cache állományt a gyökér állományrendszeren. A cache megadja a betöltőnek, hogy hol találj az eljáráskönyvtárakat. Az chdir /mnt; chroot /mnt /sbin/ldconfig A Töltsük fel.

/usr/src/linux alkönyvtárban a keresést. Ha problémád van kernel készítéssel, valószínűleg nem is kellene indító/gyökér lemez készítésével foglalkoznod. Ne felejtsd el tömöríteni a kernelt a ``Rakjuk össze őket: lemez(ek) elkészítése.

Most már van kerneled és tömörített gyökér állományrendszered. Ha indító/gyökér lemezt készítesz, nézd meg a méretüket, és bizonyosodj meg arról, hogy rá fognak-e együtt férni egy lemezre. Ha két lemezes indító+gyökér készletet készítesz, nézd meg a gyökér állományrendszert, hogy ráfér-e egyetlen lemezre. El kell döntened, hogy LILO-t használsz-e a kernel indítólemez betöltéséhez. Másik megoldás lehet a kernel közvetlenül egy lemezre másolása, és /etc/lilo.conf állományt a rendszereden. Ha tartalmaz olyan sorokat, amikben szerepel az `` fejezetre. A kernel másolása LILO-val.

A legutolsó lépés a gyökér állományrendszer átvitele. Ha a gyökér állományrendszer dd if=rootfs.gz of=/dev/fd0 bs=1k seek=KERNEL_BLOKK Ha a gyökér állományrendszer a dd if=rootfs.gz of=/dev/fd0 bs=1k Gratulálok, készen vagy! Mindig célszerű letesztelned az indítólemezed, mielőtt félreteszed vészhelyzet esetére! Ha hibás a betöltés, olvass tovább. Hibakeresés, avagy a Legyőzött Gyötrődése.

Ha az Id xxx respawning too fast: disabled for 5 minutes /etc/inittab állománybeli meghívásuk helyes-e. Ha szokatlan üzeneteket kapsz a /etc/inittab-ból. A fejezetet. A probléma származhat még abból is, hogy shadow jelszavakat használsz, de nem másoltad át az indítólemezedre a /etc/shadow állományt. Ha megpróbálsz néhány futtatható állományt lefuttatni, mint például a Vegyes témakörök.

A gyökér állományrendszer méretének csökkentése

-be illesztve is használhatjuk. Ebben az esetben a binárisokat a /bin alkönyvtárba kell tenni az eszköz lemezeden, hogy a path-ban levő /usr/bin megtalálja őket. Egyéb az eszköz lemezen elhelyezett binárisokhoz szükséges eljáráskönyvtárakat a /lib alkönyvtárba kell tenned az eszközlemezen. Több fontos dolgot észben kell tartanod, amikor eszközlemezt tervezel: Ne tegyél kritikus rendszer binárisokat és eljáráskönyvtárakat az eszközlemezre, mert nem lesz beilleszthető, míg a rendszer teljesen el nem indult. Nem tudsz egyszerre floppy lemez és floppy szalag meghajtót használni. Ez azt jelenti, hogyha floppy szalag meghajtód van, nem fogsz tudni hozzáférni, amíg az eszköz lemezed be van illesztve. Az eszközlemezen lévő állományok hozzáférése lassú lesz. A függelékben találsz példát az eszközlemezre. Íme néhány hasznos ötlet az állományokat illetően: lemez vizsgáló és manipuláló programok (Hogy csinálják a profik?

K. Elindítom a rendszert az indító/gyökér lemezemről, de semmi nem történik. Mit tegyek?

Lásd a fejezetet feljebb. K. Hogy működik a Slackware/Debian/RedHat indítólemez?

Lásd a fejezetet feljebb. K. Hogyan készíthetek XYZ eszközmeghajtóval indítólemezt?

A legegyszerűbb módja, hogy megszerzel egy Slackware kernelt a legközelebbi Slackware tükör szerverről. A Slackware kernelek általános kernelek, amikbe megpróbálják az összes létező eszközt belepakolni, így ha SCSI vagy IDE vezérlőd van, nagy az esélye, hogy a Slackware kernelben benne lesz az ahhoz szükséges meghajtóprogram. Menj az rdev zImage Az /dev/sda2-re volt állítva, de az én SCSI gyökér partícióm a /dev/sda8. Ahhoz, hogy gyökér lemezként használhassam, a következő parancsot kell kiadnom: rdev zImage /dev/fd0 Ha tudni szeretned, hogy hogyan kell egy Slackware gyökér lemezt beállítani, az már kívül esik e HOGYAN keretein, javaslom, hogy nézd meg a Linux Telepítő Kézikönyvet, vagy szerezz be egy Slackware disztribúciót. Nézd meg a ``Referenciák'' fejezetet. K. Hogy frissíthetem az indítólemezem a legfrisebb kernellel?

K. Hogy frissíthetem a gyökér lemezem állományait újakkal?

fejezetet). Ezután illeszd be az állományrendszert és végezd el a változtatásokat. Emlékezned kell arra, hogy honnan indul a gyökér állományrendszered és hány blokkot foglal el: dd if=/dev/fd0 bs=1k skip=ROOTBEGIN count=BLOCKS | gunzip > DEVICE mount -t ext2 DEVICE /mnt Miután elvégezted a változtatásokat, folytasd, mint korábban ( fejezet) és tedd vissza a gyökér állományrendszeredet a lemezre. Nem kell újra átvinned a kernelt, illetve újraszámolni a memórialemez szót, ha nem változtattál az új gyökér állományrendszer kezdőpozícióján. K. Hogy távolíthatom el a LILO-t úgy, hogy újra DOS-t indíthassak?

/sbin/lilo -u parancsot.Használhatod a FDISK /MBR utasítást. Az MBR a Master Boot Record-ot jelenti (Mester Indító Rekord), ami kicseréli az indító szektort egy tiszta DOS-ossal, anélkül, hogy belepiszkálna a partíciós táblába. Néhányan nem teljesen értenek ezzel egyet, de még a LILO készítője, Werner Almesberger is ajánlja. Könnyű, és működik. Q. Hogy indítsak, ha elvesztettem a kernelem és az indító lemezem?

Ha nincs kéznél indító lemez, a legegyszerűbb valószínűleg egy Slackware kernel beszerzése a rendszerednek megfelelő lemezvezérlő típussal (IDE vagy SCSI), ahogy az a ``Hogyan készítsek indítólemezt XXX eszközzel'' kérdésnél is olvashattad. Ezután el tudod indítani a géped ezzel a kernellel, és kijavíthatod a felmerült problémákat. A kernelben, amit megszerzel előfordulhat, hogy nem a neked megfelelően van beállítva a gyökér eszköz lemezed típusához és a partícióhoz. Például a Slackware általános SCSI kernelének gyökér eszköze a /dev/sda2 eszközre mutat, holott az én gyökér Linux partícióm /dev/sda8-ként látszik. Ebben az esetben a kernel gyökér eszközét meg kell változtatni. Még akkor is megtudod változtatni a kernel gyökér eszköz és a memórialemez beállításait, ha csak egy kerneled van és valami más operációs rendszered, mint a DOS például. Az HEX DEC LEÍRÁS 0x01F8 504 A MEMÓRIALEMEZ szó alacsony bájtja 0x01F9 505 A MEMÓRIALEMEZ szó magas bájtja 0x01FC 508 Gyökér eszköz minor száma - lásd alább 0X01FD 509 Gyökér eszköz major száma - lásd alább A memórialemez szót fejlebb, a fejezetben tárgyaltuk. A major és minor eszköz számokat arra az eszközre mutatva kell beállítanod, ahova szeretnéd a gyökér állományrendszered beillesztését. Néhány hasznos érték, hogy választhass: ESZKÖZ MAJOR MINOR /dev/fd0 2 0 Első lemezmeghajtó /dev/hda1 3 1 1. partíció az 1. IDE eszközön /dev/sda1 8 1 1. partíció az 1. SCSI eszközön /dev/sda8 8 8 8. partíció az 1. SCSI eszközön Ha beállítottad ezeket az értékeket, kiírhatod az állományt akár a Norton Utilities Disk Editort, akár a K.Hogyan készíthetnék extra másolatot az indító/gyökér lemezeimről?

Mivel a mágneses média bizonyos idő után lemágneseződik, célszerű a biztonsági lemezedről több másolatot tartanod, felkészülve arra az esetre, ha az eredeti lemezed olvashatatlanná válna. A lemezek másolásának legegyszerűbb módja, beleértve az indítható és az eszköz lemezeket is, ha a dd if=ESZKÖZNEVE of=ÁLLOMÁNYNEVE ahol az ESZKÖZNEVE a lemezmeghajtód eszközneve és az ÁLLOMÁNYNEVE a (merevlemezen levő) kimeneti állomány neve utasítást használd. Ha elhagyod a dd if=ÁLLOMÁNYNEVE of=ESZKÖZNEVE Jegyezzük meg, hogy a fenti utasítássorozat az feltételezi, hogy csak egyetlen lemezmeghajtód van. Ha két ugyanolyan típusú lemezmeghajtód van, akkor használhatod a következő utasítást a közvetlen lemezről-lemezre másoláshoz: dd if=/dev/fd0 of=/dev/fd1 K. Hogyan indíthatnám el a rendszerem a "ahaxxxx=nn,nn,nn" minden induláskor történő beírása nélkül?

aha152x=0x340,11,3,1 Ezt a paramétert többféleképpen is át lehet adni a LILO-nak: Beírhatod minden egyes LILO-val történő rendszerindításkor a parancssorba. Ez meglehetősen unalmas, fárasztó. Használhatod a LILO ``Használhatod a Például egy példa parancssor, ami a fenti paraméter sztringer használja, így nézne ki: zImage aha152x=0x340,11,3,1 root=/dev/sda1 lock Ez mindig átadná a kernelnek a paramétersztringet, és megkérné a kernelt, hogy állítsa be a gyökér eszköznek a /dev/sda1-t, és mentse az egész parancssort a későbbi indításokra. Egy példa az APPEND sorra: APPEND = "aha152x=0x340,11,3,1" Jegyezzük meg, hogy a paramétersztringet NEM szabad idézőjelbe tenni a parancssor esetén, de az APPEND sornál muszáj idézőjelet használni. Jegyezzük meg, hogy a ahhoz, hogy a paramétersztring működjön, a kernelnek tartalmaznia kell a megadott lemeztípus eszközmeghajtóját. Ha nem tartalmazza, semmi sem fog a paramétersztringre hallgatni, és újra kell fordítanod a kernelt a megfelelő eszközmeghajtóval, ha működésre szeretnéd bírni. A kernel újrafordításának részleteiért lépj be az /usr/src/linux alkönyvtárba, és olvasd el a README állományt, majd olvasd el a Linux GYIK-et és a Telepítés HOGYAN-t. Létezik még egy lehetséges alternatíva is, szerezz egy kifejezetten ahhoz a lemez típushoz készült kernelt, és telepítsd. Az olvasók figyelmét mindig felhívjuk a LILO dokumentáció alapos áttanulmányozására, mielőtt LILO telepítéssel kísérletezgetnének. Az K. Bekapcsoláskor "A: cannot execute B" hibaüzenetet kapok. Miért?

A shutdown néhány verziója a /etc/rebootállományt bedrótozva tartalmazza, tehát a reboot-ot a /etc alkönyvtárba kell tenni. Az A probléma javításához vagy mozgasd a programokat a megfelelő alkönyvtárba, vagy változtasd meg a konfigurációs állományokat (pl. /etc/rc.d állományt, ami a merevlemezeden található. K. A kernelembe belefordítottam a memórialemez támogatást, de 0K-val inicializálja magát.

Amikor ez történik, a megjelenő kernelüzenet valahogy így néz ki a kernel indulásakor: Ramdisk driver initialized : 16 ramdisks of 0K size Ez valószínűleg azért van, mert a méretét 0-ra állítod kernel paraméterekkel az indulás idejekor. Ez valószínűleg egy elnézett LILO paraméter miatt lehetséges: ramdisk= 0 Ezt néhány korábbi disztribúció LILO példa konfigurációs állománya tartalmazza,és minden korábbi kernel beállítást felülbírál. Ha van ilyen sorod, távolítsd el. Jegyezzük meg, hogy ha 0K-ra állított memórialemezt próbálsz meg használni, a működés kiszámíthatatlanná válik, és kernel pánikor okozhat. Erőforrások és mutatók

Ha újraírsz egy csomagot, mindig a legfrisebb változatot szerezd be, ha nincs jó indokod másként cselekedni. Előre elkészített indítólemezek.

Jónéhány mentő lemez készítésére alkalmas csomagot találsz a metalab.unc.edu címen. Ezekkel a csomagokkal megadod, hogy mely állományokat szeretnéd csatolni, és a szoftver automatizálja (változó mélységben) az indítólemez készítését. Nézd meg a címet további információkért. Graham Chapman parancsértelmező szkriptje

Graham Chapman készített egy szkriptcsomagot, ami hasznos példa lehet az indítólemezek készítésére. Eme HOGYAN előző verziójának függelékében szerepeltek a szkriptek, de átkerültek az alábbi honlapra: Kényelmesnek találhatod ezen szkriptek használatát, és ha így van, gondosan olvasd el az utasításokat -- például, ha rossz swap eszközt választasz, úgy találnád, hogy a gyökér állományrendszered teljesen és véglegesen letörlődött. Ügyelj rá, hogy pontosan konfigurálod, mielőtt használod! LILO -- a Linux betöltő.

címen, valamint a Metalab-on és a tükrözésein. Linux GYIK és HOGYANok.

Több forrásból is beszerezheted őket. Nézd meg a címent, és a HOGYAN-okat a címen. A Linux legtöbb dokumentációját megtalálod a címen. Ha végképp kétségbeestél, küldj levelet a Memórialemez használat.

/usr/src/linux/Documentation/ramdisk.txt. Ezt Paul Gortmaker írta, és tartalmaz egy fejezetet a tömörített memórialemezekről. A Linux betöltési folyamata.

A Linux Rendszeradminisztrátorok Kézikönyvének van egy a betöltéssel foglalkozó fejezete, lásd: A LILO ``Technikai áttekintésében'' a címen megtalálható a betöltési folyamat kifejezetten technikai, alacsony szintű leírása, egészen addig, amíg a kernel elindul. A forráskód a kézikönyvek alapja. Alább néhány az indítás folyamatához kapcsolódó kernel állományt találsz. Ha megvan a Linux kernel forráskódja, megtalálod ezeket az állományokat a gépeden az /usr/src/linux alkönyvtárban. Más lehetőség, hogy megnézed Shigio Yamaguchi (shigio@wafu.netgate.net) nagyon szép hypertext-es kernel böngészőjét a címen. Néhány fontos állomány: arch/i386/boot/bootsect.S,setup.S A bootszektor számára tartalmaz assembly kódot. arch/i386/boot/compressed/misc.c A kernel kitömörítéséhez tartalmaz kódot. arch/i386/kernel/ Ez az alkönyvtár tartalmazza a kernel inicializációs kódját. A drivers/block/rd.c A memórialemez meghajtó szoftverét tartalmazza. A LILO indulási hibakódok.

címen található Werner Almsberger's LILO User Documentation-ból származik. Amikor a LILO betölti magát, a `` (semmi) A LILO egyetlen részét sem sikerült betölteni. A LILO vagy nincs feltelepítve, vagy nem aktív az a partíció, amire telepítve lett. /boot/boot.b elmozgatása a map telepítő futtatása nélkül. /boot/boot.b elmozgatása a map telepítő futtatása nélkül. /boot/map elmozgatásaa map telepítő futtatása nélkül. If the BIOS signals an error when LILO is trying to load a boot image, the respective error code is displayed. These codes range from Példa egy gyökérlemez könyvtárlistájára.