Professional Documents
Culture Documents
A Rendszermag Betöltése
A Rendszermag Betöltése
A Linux rendszer indításának első lépése a rendszermag betöltése. Miután a BIOS elvégezte a
számítógép legfontosabb hardverelemeinek ellenőrzését és beállítását, a beállításainak
megfelelő háttértárak vizsgálatával megkeresi és betölti a rendszertöltő programot (boot
loader). A rendszertöltő megkeresi, betölti és elindítja a Linux rendszermagot, ami a
számítógépet a továbbiakban vezérli.
A különféle Linux rendszerek számára többféle rendszertöltő is készült. Az IBM-megfelelő
személyi számítógépek körében a két legelterjedtebb rendszertöltő program a LILO (Linux
Ioader, Linux rendszertöltő), és a GRUB (grand unified bootloader, nagy egyesített
rendszertöltő).
Mindkét rendszertöltő program alkalmas Linuxon kívül más operációs rendszerek betöltésére
is, így egy számítógépen - felváltva - több operációs rendszert is használhatunk.
A LILO
A LILO programcsomag segítségével rendszertöltő programot telepíthetünk hajlékonylemezre,
CD-ROM lemezen elhelyezett hajlékonylemez-térképre, az első merevlemez elsődleges
betöltősávjára, illetve bármely elsődleges lemezrész be-töltősávjára.
A LILO csomag által készített és telepített rendszertöltő képes betölteni a Linux rendszermagot
vagy más operációs rendszert a felhasználóval kialakított kapcsolat alapján.
A rendszertöltő működése
A LILO által telepített rendszertöltő program működését a következő két tény határozza meg:
1
állományrendszert nem használhat. A megoldást az jelenti, hogy a LILO feljegyzi a betöltési
folyamat során szükséges állományok adatblokkjainak fizikai elhelyezkedését, amikor a Linux
rendszermag fut, azaz az állományrendszer használható, a betöltés során pedig az így
elkészített térkép alapján keresi meg az állományok adatblokkjait.
Hiba esetén a kiírt karakterekből következtethetünk arra, hogy hol akadt el a folyamat, mi a
probléma. A következő lista a lehetséges hibajelenségeket sorolja fel.
„semmi" Ha a betöltés során semmi sem jelenik meg a képernyőn, a LILO egyetlen része sem
töltődött be. Ez általában azt jelzi, hogy a betöltősáv hibás.
2
betöltősávban található térkép nem létező adatblokkokra mutat. Ilyen esetben segíthet a
BIOS beállítások megváltoztatása.
LIL? A másodlagos rendszertöltő rossz helyre töltődött be. Az ilyen hibát a BIOS-beállítások
megváltozása, vagy a másodlagos rendszertöltő elhelyezésére használt állomány
mozgatása okozhatja.
Okozhatja ezt a hibaüzenetet az is, ha a BIOS nem támogatja az 1024. henger feletti
lemezterületek elérését.
3
0x01 Érvénytelen utasítás. A BIOS nem támogatja a háttértárat.
0x02 Címjel nem található. Általában lemezhibát jelöl. A LILO dokumentációja szerint
érdemes néhányszor újrapróbálkozni, („egy új lemezzel”).
0x03 írásvédett lemez. Ez a hiba csak írási művelet esetén fordulhat elő.
0x40 Hengerkeresési hiba. A lemezmeghajtó író-olvasó feje nem találja a keresett hengert
az adathordozón, ami a legtöbb esetben az adathordozó fizikai meghibásodásának
legbiztosabb jele.
OxBB BIOS hiba. Segíthet a compact kulcsszó eltávolítása, illetve a linear kulcsszó elhelyezése
4
a LILO beállítóállományban.
A LILO állományai
5
A bevezető szakaszban a következő parancsokat szokás elhelyezni:
default= Megadja, hogy melyik legyen az alapértelmezett indítási mód. A kulcsszó után az
alternatíva nevét kell megadnunk.
6
image= A Linuxot indító lehetőségek mindegyike ezzel a kulcsszóval kezdődik. Az
egyenlőségjel után a rendszermagot tartalmazó állomány nevét és elérési útját kell
megadnunk.
other= A többi operációs rendszert indító lehetőségek kezdődnek ezzel a sorral.
A kulcsszó után annak a lemezrésznek a blokkeszköz-meghajtó állománya szerepel,
amelynek a betöltősávját a lehetőség elindítja.
A következő példa egy olyan LILO.CONF állományt mutat be, ami kétféle indítási módot
biztosít:
boot=/dev/hda
map=/boot/map
install=/boot/boot.b
prompt
timeout=50
linear
default=linux
image=/boot/vmlinuz-2.2.14-5.Osmp
label=linux
read-only
root=/dev/hda3
image=/boot/vmlinuz-2.2.14-5.0
label=linux-up
read-only
root=/dev/hda3
7
Indítólemez készítése
8
46 # Létrehozzuk a lilo beállítóállományt a
47 # hajlékonylemezen.
48 #
49 cat >$MDIR/etc/lilo.conf <<EOF
50 boot =/dev/fd0
51 Timeout=100
52 Prompt
53 Image=/boot/vmlinuz
54 Label=linux
55 Root=/dev/hda1
56 EOF
57
58 #
59 # felmásoljuk a másodlagos rendszertöltőt.
60 #
61 cp /boot/boot.b $MDIR/boot/
62
63 #
64 # Futtatjuk a térképtelepítőt. Számára a
65 # hajlékonylemez beillesztési pontja lesz a
66 # gyökérkönyvtár!
67 #
68 Lilo –r $MDIR
69
70 #
71 # Kész van a lemez, lecsatoljuk a könyvtár -
72 # szerkezetről.
73 #
74 Umount $MDIR
A GRUB
A GRUB (grand unified boot loader, nagy egyesített rendszertöltő) egy rendszertöltő, amely
többek közt képes a GNU/Linux operációs rendszer indítására is. A program igen fejlett,
rugalmas és könnyen kezelhető.A GRUB legfontosabb előnye a legtöbb rendszertöltővel
szemben, hogy képes kezelni a legelterjedtebben használt állományrendszereket. Ez azt
eredményezi, hogy a GRUB már a Linux rendszermag indítása előtt is képes állományokat
kezelni, így a használata és a működése sokkal egyszerűbb. Ha például a rendszermagot letöröljük,
és újra létrehozzuk ugyanazon állománynév alatt, nem kell semmilyen további lépést tennünk annak
érdekében, hogy a rendszertöltő megtalálja, hiszen az állományrendszeren belül az állomány neve
nem változik.
A GRUB képes olyan rendszermagot is betölteni, amelynek létezéséről csak közvetlenül a betöltés
előtt értesül. Ez igen hasznos lehet a rendszer helyreállítása során. A GRUB képes kezelni az
extended 2, extended 3 állományrendszereket, a ReiserFS állományrendszert, valamint a 16 és 32
bites FAT állományrendszereket. Fontos tudnunk azonban, hogy a GRUB kezeli ugyan az
állományrendszereket, de arról nincs információja, hogy az egyes állományrendszerek hogyan
9
épülnek a könyvtárszerkezetbe, azaz nem tudja, hogy az egyes állományrendszereknek mi a
beépítési pontja. Számára nem egy összefüggő fa létezik ezért, hanem annyi önálló fa, ahány
állományrendszer van.
Az állomány nevének leírásakor először a lemezrészt kell megadnunk zárójelek közt, majd az
állomány pontos elérési helyét a lemezrészen belül. Ezt mutatja a következő példa:
splashimage=(hd0,0)/grub/image.xpm.gz
Itt a (hd0 ,0) a lemezrész neve, a /grub/ a lemezrészen belül található könyvtár neve, míg az
image.xpm.gz az állománynév.
A zárójelen belül előbb a háttértár típusát kell megadnunk két betűvel, ami merevlemez esetén hd,
hajlékonylemez esetén pedig fd. A GRUB nem tesz különbséget az IDE és SCSI csatolófelületen
keresztül kapcsolódó lemezek közt, egyszerűen sorra veszi az összes merevlemezt, és megszámozza
őket.
A háttértár típusa után következik a sorszáma. A GRUB az eszközök számozását 0-tól kezdi, az első
merevlemez sorszáma tehát 0, a másodiké 1 és így tovább.
A háttértár sorszáma után - ha nem az egész háttértárra hivatkozunk, hanem valamelyik
lemezrészre - egy vesszővel elválasztva következhet a lemezrész sorszáma. A GRUB a
lemezrészek sorszámozását 0-tól kezdi, a logikai lemezrészek sorszámozását pedig 4-től.
Név Hardverelem
(fd0) Az első hajlékonylemezes egység
(hd0) Az első merevlemezes egység
(hd0,0) Az első elsődleges lemezrész az első merevlemezen
(hd0,4) Az első logikai lemezrész az első merevlemezen
(hd1,0) Az első elsődleges lemezrész a második merevlemezen
A rendszertöltő használata
10
Halt. Leállítja a számítógépet
Help. Felsorolja a parancsokat, vagy egy parancsot írunk be ahelp után, kiírja annak rövid
használati utasítását.
Install. A parancs telepíti a rendszertöltő programot és létrehozza a szükséges térképeket.
A parancs használata meglehetősen bonyolult. Paraméterként meg kell adnunk az elsődleges
rendszertöltő állomány nevét, a meghajtó nevét, ahová telepíteni szeretnénk a rendszertöltő
programokat, a másodlagos rendszertöltő állomány nevét, illetve megadhatjuk a beállító-
állomány nevét.
Az install bonyolultsága miatt használjuk inkább a setup parancsot, amely ezeket az elemeket
automatikusan megkeresi, és azután indítja az install parancs végrehajtását.
quit Kilépés. Ezt a parancsot csak akkor használhatjuk, ha a programot a grub paranccsal
indítottuk. Ha a parancssorba a rendszerindítás során léptünk, a halt parancsot
használhatjuk.
reboot A parancs újraindítja a számítógépet.
root meghajtó Beállítja, hogy melyik legyen az alapértelmezett meghajtó.
setup meghajtó Automatikusan telepíti a rendszertöltőt a paraméterként megadott
meghajtóra. A parancs hatására a GRUB megkeresi a root paranccsal
beállított helyen a szükséges állományokat (elsődleges rendszertöltő,
másodlagos rendszertöltő, beállító-állomány stb.)
testvbe üzemmód Megpróbálja a grafikus csatolót az adott üzemmódba kapcsolni
(VESA).
vbeprobe Megvizsgálja és kiírja, hogy milyen grafikus módokat támogat a grafikus csatoló
(VESA).
A GRUB beállítása
default szám A menük előtti bevezető részben helyezhetjük el ezt a parancsot. Beállítja,
hogy, melyik menüpont legyen az alapértelmezett. A menük számozása 0-val
11
kezdődik.
savedefault Az éppen aktuális menüpont számát menti a saved változóba. A
menüpontokhoz tartozó végrehajtható utasítások közt helyezzük el.
timeout mp A parancs segítségével megadhatjuk, hogy ha a felhasználó nem nyom le
egyetlen billentyűt sem, hány másodperc után induljon el az alapértelmezett
menüpont végrehajtása.
Ha 0 értéket adunk meg a parancs után, a rendszertöltő azonnal indítja a
menüpontot, ellenben ha egyáltalán nem adjuk meg a timeout parancsot, a
rendszertöltő tetszőlegesen hosszú ideig várakozik.
hiddenmenu Ha ezt a parancsot helyezzük el a menüpontok előtti bevezető részben, a menü
nem jelenik meg. A felhasználó az billentyűvel kérheti a menü megjelenítését,
amíg a beállított idő le nem jár.
password jelszó Ha valamelyik menüpontnál adjuk meg ezt a parancsot, a menüpont
kiválasztása után a rendszertöltő jelszót kér és csak akkor hajtja végre a
menüpont által előírt parancsokat, ha a felhasználó által begépelt jelszó
megegyezik a password parancs után begépelt paranccsal.
A password parancs —md5 kapcsolója jelzi, hogy a jelszót MD5 kódolással adtuk meg. A
jelszó kódolt formáját többek közt az md5crypt GRUB paranccsal is
előállíthatjuk.
splashimage= állománynév A menü hátterében megjelenő képet tartalmazó állomány neve.
Az állománynak 640 x 480 méretű formátumú képnek kell lennie 14 színnel.
title Szöveg…A menüpontot bevezető első sor, ami megadja a szöveget, amely a
rendszertöltő menüjében megjelenik. A title parancs utáni teljes sor a
menübe kerül. A title parancs utáni sorok a menüpont kiválasztásakor
végrehajtandó utasítássorozatot alkotják.
12
lesz, de nem indul el azonnal. A boot parancs indítja el a rendszermagot.
Initrd fájlnév parancs előkészíti a magmodulokat, és a megfelelő paraméterekkel jelzi a
rendszermag számára, hogy be kell töltenie azokat.
Ezt a parancsot mindig a kernel parancs után használjuk.
boot A parancs hatására a rendszertöltő elindítja a már betöltött rendszermagot. Ezt a
parancsot nem szükséges a menüben elhelyeznünk, mert a rendszertöltő a menü
utolsó sora után automatikusan végrehajtja.
13
Idegen (nem Linux) operációs rendszerek betöltésekor szükségünk lehet a következő
parancsokra:
14
title Masvalami
rootnoverify (hd0,0)
chainloader +1
Indítólemez készítése
15
37 # ramokat a hajlékonylemezre.
38 #
39 cp $IMAGES/stage* $MDIR/boot/grub
40 cp $KERNEL /mnt/floppy/boot/vmlinuz
41
42 #
43 #Létrehozzuk a hajlékonylemezen a GRUB beállítóállományát.
44 #
45 cat <<EOF >$MDIR/boot/grub/grub.conf
46 #default=0
47 #default=10
48 title Indítás a ~/dev/hda1 gyokerrel
49 Root (fd0)
50 Kernel /boot/vmlinuz ro root=/dev/hda1
51 EOF
52
53 #
54 # Lecsatoljuk a hajlékonylemezt.
55 #
56 umount /mnt/floppy
57
58 #
59 # Telepítjük a hajlékonylemezre a GRUB rendszertöltőt a root
60 # és setup parancsokkal. A parancsokat a grub hajtja végre
61 #
62 /sbin/grub –batch <<EOF
63 root (fd0)
64 setup (fd0)
65 quit
66 EOF
16