Négyféle probléma jelentkezhet egy saját rendszermag készítése során. Ezek:
config
hibát jelez:Amikor a config(8) parancs hibát jelez vissza a rendszermagunk konfigurációs beállításainak feldolgozása során, akkor minden bizonnyal csak egy apró hibát vétettünk valahol. Szerencsére a config(8) kiírja a hibás sor számát, ezért gyorsan fel tudjuk kutatni a hibát tartalmazó sort. Például, ha ezt látjuk:
config: line 17: syntax error
Akkor győződjünk meg róla, hogy
helyesen írtuk be az adott sorban szereplő
kulcsszót. Ebben segítségünkre
lehet, ha összevetjük a
GENERIC
konfigurációs
állománnyal vagy más
hivatkozásokkal.
make
hibát jelez:Ha a make
jelez hibát, az
általában arra utal, hogy az általunk
korábban megadott rendszermag
konfigurációs állományt a
config(8) nem értette meg rendesen. Megint azt
tudjuk csak javasolni, hogy nézzük át a
konfigurációs
beállításainkat, és ha
ezután sem sikerül megoldani a
problémát, akkor mellékeljük egy
levélben a rendszermagunk konfigurációs
beállításait és
küldjük el a FreeBSD general questions levelezési lista címére,
ahol a hozzáértők gyorsan
átnézik.
Ha az új rendszermagunk nem indul vagy nem
képes felismerni az eszközeinket, ne essünk
kétségbe! Szerencsére a FreeBSD
tökéletes megoldással tud
szolgálni az összeférhetetlen
rendszermagok esetére: a FreeBSD
rendszerbetöltőjében egyszerűen
válasszuk ki az indítandó
rendszermagot. Ezt akkor tudjuk előhívni,
amikor a rendszerindító menü megjelenik.
Válasszuk ki a hatos, vagyis az „Escape to a
loader prompt” (a betöltő
parancssorának előhívása)
menüpontot. Mikor megjelenik a parancssor,
írjuk be, hogy unload kernel
, majd
adjuk ki a boot
/boot/kernel.old/kernel
,
parancsot, amiben bármilyen más olyan
rendszermagot is megnevezhetünk, ami korábban
már működött. Ezért amikor
beállítunk egy új rendszermagot, mindig
érdemes a kezünk ügyében tartani
legalább egy olyan rendszermagot, amely
működik.
Miután sikerült elindítanunk az egyik
használható rendszermagot, nézzük
át még egyszer a konfigurációs
állományt és próbáljuk
újra lefordítani a rendszermagot. A
probléma megoldását segítheti a
/var/log/messages
állomány áttanulmányozása
is, ami többek közt rögzíti a
rendszermag sikeres indulása során
keletkező üzeneteket. Ezenkívül a
dmesg(8) parancs is meg tudja jeleníteni az
aktuális rendszerindítás
üzeneteit.
Ha gondok merülnének fel a rendszermag
elkészítése során,
mindenképpen tartsuk meg a
GENERIC
, vagy bármilyen
másik olyan rendszermagot, amelyről tudjuk,
hogy működik. Nevezzük át,
így nem fog felülíródni a
következő fordítás és
telepítés során. A
kernel.old
állományra
ugyanis nem minden esetben számíthatunk,
mivel az új rendszermagok
telepítésénél a
kernel.old
mindig
felülíródik a legutóbb
telepített rendszermaggal, amely azonban nem
feltétlenül lesz
működőképes. Sőt, amint csak
lehetséges, rakjuk a működő
rendszermagot a /boot/kernel
könyvtárba vagy különben a
ps(1) és a hozzá hasonló
parancsok nem fognak rendesen működni. Mindezek
elvégzéséhez egyszerűen
nevezzük át a jó rendszermagot
tartalmazó könyvtárt:
#
mv /boot/kernel /boot/kernel.rossz
#
mv /boot/kernel.jó /boot/kernel
Ha olyan rendszermagot telepítettünk, aminek a verziója nem egyezik meg a hozzá tartozó segédprogramokéval, tehát például -CURRENT rendszermagot raktunk egy -RELEASE rendszerhez, egyes rendszerállapotjelző parancsok, mint például a ps(1) vagy a vmstat(8) nem fognak működni. Ebben az esetben az egész rendszert újra kell fordítanunk és telepítenünk a rendszermagunkkal megegyező verziójú forrásból. Részben ezért sem különösen ajánlott, hogy az operációs rendszer többi részétől eltérő verziójú rendszermagot használjunk.
Ha kérdése van a FreeBSD-vel kapcsolatban, a
következő címre írhat (angolul):
<questions@FreeBSD.org>.
Ha ezzel a dokumentummal kapcsolatban van kérdése, kérjük erre a címre írjon:
<gabor@FreeBSD.org>.