K. Elindítom a rendszert az indító/gyökér lemezemről, de semmi nem történik. Mit tegyek?
Lásd a Troubleshooting fejezetet feljebb.
K. Hogy működik a Slackware/Debian/RedHat indítólemez?
Lásd a What the pros do 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 a1
alkönyvtárba, és válaszd ki az IDE vagy SCSI kernelt
attól függően, hogy milyen vezérlőd van. Nézd meg az xxxxkern.cfg
állományt, hogy a kiválaszott kernel milyen eszközmeghajtókat
tartalmaz. Ha az általad használni kívánt eszköz szerepel a listában,
az adott kernellel indulnia kell a gépednek. Töltsd le az xxxxkern.tgz
állományt, másold át a lemezedre az indítólemez készítésével foglalkozó
fejezetben leírtak szerint.
Le kell ellenőrizned a gyökér eszközödet a kernelben a következő paranccsal:
rdev zImage
Az rdev
ki fogja írni a kerneled aktuális indító eszközét. Ha ez
nem egyezik meg az általad kívánt gyökér eszközzel, használd az
rdev
parancsot, hogy megváltoztasd. Például az a kernel, amit
próbáltam, /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?
Állományrendszer használata nélkül egyszerűen másold a dd, vagy indító/gyökér lemez esetén a cp paranccsal a kernelt az indítólemezedre. Konzultálj e HOGYAN ``Indító'' fejezetével az indítólemez készítésének részleteiért. A leírás egyaránt érvényes a kernel frissítésére is.
K. Hogy frissíthetem a gyökér lemezem állományait újakkal?
A legegyszerűbb módja, hogy visszamásolod a gyökérlemezed állományrendszerét az általad használt ESZKÖZRE ( lásd feljebb a Creating the filesystem 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 ( Wrapping it up 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?
Ez nem kifejezetten Indítólemez probléma, de gyakran kérdezik. Linux alatt futtasd a
/sbin/lilo -u
parancsot.Használhatod a dd
utasítást is, hogy visszamásold a
LILO által elmentett indító szektort. Tanulmányozd a LILO dokumentációját,
hogy ezt hogyan teheted meg.
DOS és Windows alatt 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 rdev
úgy változtatja a kernel beállításait, hogy fix eltolásoknál
megváltoztatja a kernel állomány értékét, így egy hexa szerkesztővel te is
megteheted ugyanezt, ha van kéznél valamilyen működő operációs rendszer
alatti szerkesző -- például a DOS alatti Norton Utilities Disk Editor.
Ekkor meg kell nézned az összes értéket, majd szükség esetén meg kell
változtatnod az itt szereplő eltolások alapján:
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 Setting the ramdisk word 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 rawrite.exe
programot
használva. Ezt a programot minden disztribúció tartalmazza. Ez egy
DOS program, ami a lemezre ``nyersen'' írja ki az állományt az
indító szektortól kezdve, nem a lemezen található állományrendszerre.
Ha Norton Utilies-t használsz, a lemez elején kezdődő fizikai lemezre
kell kiírnod az állományt.
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
paranccsal átmásolod az eredeti lemez
tartalmát egy a merevlemezeden lévő állományba, majd ugyanezzel az
utasítással visszamásolod az új lemezre. Jegyezzük meg, hogy nem kell, és
nem is célszerű beillesztened a lemezeket a rendszerbe, mert a dd
nyers eszköz interfészt használ.
Az eredeti lemásolásához 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 count
paramétert, a dd az egész lemezt átmásolja
(nagy sűrűségű lemez esetén 2880 blokk).
A kész állomány új lemezre való visszamásolásához helyezd be az új lemezt, és fordítsd meg az utasítást:
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?
Ahol a lemez eszközt nem lehet automatikusan felismertetni a rendszerrel, el kell látni a kernelt az eszköz paramétereinek sztringjével, mint pl.:
aha152x=0x340,11,3,1
Ezt a paramétert többféleképpen is át lehet adni a LILO-nak:
lock
'' kulcsszavát, hogy tárolja
el a parancssort, mint alapértelmezett parancssort, így a LILO
minden induláskor ugyanazt a paramétert fogja használni.
append=
sort a LILO konfigurációs
állományában. Jegyezzük meg, hogy a paraméter sztringet idézőjelek
közé kell tenni.
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 indító
leíró elővigyázatlan használata tönkreteheti a
partíciókat.
K. Bekapcsoláskor "A: cannot execute B
" hibaüzenetet kapok. Miért?
Több esetben előfordulhat, hogy különböző eszközökben program neveket
bedrótoztak. Ezek az esetek nem jönnek elő mindenütt, de megmagyarázza,
hogy néhány végrehajtható állomány miért nem található meg a rendszereden,
még ha ott is látod. Megnézheted, hogy be van-e drótozva egy adott programba
egy másik, ha kiadod a strings
parancsot, és átküldöd csövön a
grep
-nek.
A bedrótozás tipikus példái:
reboot
-ot a /etc
alkönyvtárba kell tenni.
init
már legalább egy embernek problémát okozott,
nem találta meg a kernel az init
-et.
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. inittab
), hogy a helyes alkönyvtárra mutassanak. Ha
kétségeid támadnának, tedd a programokat ugyanolyan alkönyvtárba,
mint a merevlemezeden vannak, és használd ugyanazt az inittab
és /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.