Naprej Nazaj Kazalo

4. Prevajanje jedra

4.1 Čiščenje in urejanje odvisnosti

Ko konfiguracijski skript konča delo, 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. Ne traja dolgo, razen če imate zelo počasen računalnik. Pri starejših različicah jedra morate po koncu izdelave odvisnosti napisati še ,,make clean``. To odstrani vse objektne datoteke in drugo, kar so 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 dolgo časa). ,,make zImage`` prevede jedro in v imeniku arch/i386/boot pusti datoteko, imenovano ,,bzImage`` (med drugim). To je novo stisnjeno jedro. ,,make bzdisk`` naredi isto, 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 preskušanje 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 namestitvi novih sistemov, ko preprosto prepišete vsebino enega diska na drugega (,,Vse to in še več! Koliko bi plačali zdaj?``). Vsa vsaj napol razumno nova jedra so stisnjena, odtod črka ,,bz`` pred njihovimi imeni. Stisnjeno jedro se samodejno raztegne, 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`` ustvari intenzivnejše čiščenje (,,clean``). Včasih je ta cilj potreben; morda ga želite uporabiti ob vsakem popravku. ,,make mrproper`` bo tudi zbrisal 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 ne želite spremeniti privzete nastavitve.

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

4.4 Namestitev jedra

Ko imate novo jedro, za katerega menite, da deluje, kakor želite, je čas, da ga namestite. Večina ljudi za ta korak uporablja LILO (Linux Loader). Jedro namestite, poženete čezenj 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 enostavno namestiti in delati z njim, a zna zmesti s konfiguracijsko datoteko. Poglejte v nastavitveno datoteko (v starejših različicah je to /etc/lilo/config, v novejših pa /etc/lilo.conf), kakšne nastavitve imate. Konfiguracijska datoteka mora biti podobna:

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

Nastavitev ,,image =`` kaže na novo nameščeno jedro. Večina 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. Naredite 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 z diska (še en način, kako si opomorete, če ste uničili novo jedro), prekopirajte vrstice pod (skupaj z) ,,image = xxx`` v nastavitveni datoteki lila 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 dodaste 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 Kazalo