Naprej Nazaj Vsebina

4. Prevajanje jedra

4.1 Čiščenje in urejanje odvisnosti

Ko konfiguracijski skript konča z delom, vam pove, da napravite ,,make dep`` in (morda) ,,clean``. Torej napišete ,,make dep``. To vam zagotovi, da so vse odvisnosti, na primer vključne datoteke, na svojem mestu. To ne traja dolgo, razen, če imate zelo počasen računalnik. Pri starejših različicah jedra morate po koncu delanja odvisnosti napisati še ,,make clean``. To odstrani vse objektne datoteke in druge stvari, ki so jih pustile za sabo stare različice. V vsakem primeru ne pozabite narediti tega koraka preden začnete prevajati jedro.

4.2 Čas za prevajanje

Po urejanju odvisnosti in čiščenju lahko napišete ,,make zImage`` ali ,,make zdisk`` (ta del traja veliko časa). ,,make zImage`` prevede jedro in v imeniku arch/i386/boot pusti datoteko, imenovano ,,bzImage`` (med drugim). To je novo komprimirano jedro. ,,make bzdisk`` naredi isto stvar, le da prepiše novo datoteko bzImage na disketo, ki ste jo, upajmo, vstavili v pogon ,,A:`` (/dev/fd0). ,,bzdisk`` je priročno orodje za testiranje novih jeder; če novo jedro ne deluje v redu, preprosto odstranite disketo in zaženite staro jedro. Včasih boste to disketo lahko uporabili tudi, če boste po pomoti odstranili svoje jedro (ali naredili kaj podobno groznega). Disketo lahko uporabite tudi pri inštalaciji novih sistemov, ko preprosto prepišete vsebino enega diska na drugega (,,Vse to in še več! Koliko bi plačali zdaj?``). Vsa, vsaj na pol razumno nova, jedra so komprimirana, odtod črka ,,bz`` pred njihovimi imeni. Komprimirano jedro se samodejno odkomprimira, ko se izvaja.

V starejših jedrih ni izbire za gradnjo bzImage; le zImage. Ta izbira je trenutno še vedno dostopna, vendar je glede na velikost kode novejših jeder uporaba bzImage bolj ali manj obvezna, saj starejše metode ne znajo uporabljati prevelikega jedra.

4.3 Drugi cilji ,,make``

,,make mrproper`` naredi bolj intenzivno čiščenje (,,clean``). Včasih je ta cilj potreben; morda ga želite uporabiti ob vsakem popravku. ,,make mrproper`` bo tudi pobrisal vašo konfiguracijsko datoteko, zato shranite njeno rezervno kopijo (.config), če se vam zdi pomembna.

,,make oldconfig`` bo poskušal nastaviti jedro s stare konfiguracijske datoteke; namesto vas bo šel skozi proces ,,make config``. Če še nikoli niste prevedli jedra ali nimate stare konfiguracijske datoteke, verjetno nočete tega, saj hočete spremeniti privzeto nastavitev.

Za ukaz ,,make modules`` glejte razdelek o modulih.

4.4 Namestitev jedra

Ko imate novo jedro, za katerega menite, da deluje, kot želite, je čas za njegovo namestitev. Večina ljudi za ta korak uporablja LILO (Linux Loader). Jedro namestite, poženete čez njega LILO in ga pripravite za zaganjanje z ukazom ,,make bzlilo``. Vendar le, če je lilo nastavljen takole: jedro je /vmlinuz, lilo je v imeniku /sbin, in vaša nastavitvena datoteka /etc/lilo.conf se s tem strinja.

V vseh drugih primerih morate pognati LILO neposredno. Paket je precej enostaven za inštalacijo in delo, a zna zmesti ljudi s konfiguracijsko datoteko. Glejte nastavitveno datoteko (v starejših različicah je to /etc/lilo/config, v novejših pa /etc/lilo.conf) in poglejte, kakšne nastavitve imate. Konfiguracijska datoteka mora izgledati podobno:

image = /vmlinuz
    label = Linux
    root = /dev/hda1
    ...

Nastavitev ,,image =`` kaže na na novo nameščeno jedro. Večina ljudi uporablja /vmlinuz. Lilo potrebuje oznako ,,label``, da ugotovi, katero jedro ali operacijski sistem naj zažene, oznaka ,,root`` je korenski imenik / določenega operacijskega sistema. Napravite rezervno kopijo vašega starega jedra in prepišite datoteko bzImage, ki ste jo pravkar naredili na to mesto (napišete npr. ,,cp bzImage /vmlinuz``, če uporabljate ,,/vmlinuz``). Potem še enkrat zaženete lilo - na novejših sistemih le napišete ,,lilo``, na starejših morate morda narediti /etc/lilo/install ali celo /etc/lilo/lilo -C /etc/lilo/config.

Če bi radi izvedeli več o nastavitvi programa LILO ali če nimate programa LILO, dobite najnovejšo različico z vašega priljubljenega mesta za FTP in upoštevate navodila.

Za zaganjanje enega vaših starejših jeder s trdega diska (še en način, kako si opomorete, če ste uničili novo jedro), prekopirajte vrstice pod (in vključno z) ,,image = xxx`` v LILO-vi nastavitveni datoteki na konec datoteke in spremenite ,,image = xxx`` v ,,image = yyy``, kjer je ,,yyy`` polna pot do datoteke, v katero ste shranili rezervno jedro. Potem spremenite ,,label = zzz`` v ,,label = linux-backup`` in še enkrat poženite lilo. V konfiguracijsko datoteko lahko dodate tudi vrstico z ,,delay=x``, kjer je ,,x`` časovni interval v desetinkah sekunde, v katerem LILO čaka, da ga boste lahko prekinili (npr. s tipko Shift) in vpisali oznako rezerve zaganjalne kopije (če se zgodi kaj neprijetnega).


Naprej Nazaj Vsebina