Po nainštalovaní linuxu sa skôr či neskôr môžete dostať ku kompilovaniu jadra. Dôvodov môže byť viacero. Môže to byť podpora novších zariadení, ktoré váš starý kernel nepodporuje, alebo zrýchlenie systému.
8.6.2004 07:00 | Lukáš Veselovský | přečteno 11388×
Kompilácia nie je nič strašné treba mať ovšem trošku znalosti vášho hardvéru a taktiež vedieť čo sa od vás kedy chce. Preto by som vás chcel previesť touto tématikou a pomôcť vám aspon trošku s kompiláciou.
Kompilácia jadra je nevyhnutná ak máte novší hardvér, ktorý vaša distribúcia nepodporuje a vy viete, že nové či už stabilné alebo vývojové jadro má podporu tohto hardvéru.
Kompilovať samozrejme môžete aj preto, aby ste zmenšili velkosť jadra a tým zrýchlili jadro. Jednoducho v jadre nemúsia byť ovládače, ktoré nepotrebujete.
Tie ktoré používate zrietkavo, alebo je lepšie ak nie sú priamo v jadre, môžete skompilovať ako moduly, ktoré sa dajú za jazdy z jadra odoberať a pridávať príkazmi ako sú modprobe, či insmod.
V dnešnej dobe je najnovšia stabilná rada linuxáckych jadier s označením 2.6, ale bez problémov môžete použiť aj staršie odskúšané 2.4 kové jadra.
Jadro linuxu má aj vlastné internetové stránky z ktorých si ho môžete stiahnuť, alebo môžete ho nájsť aj na slovenských, či českých mirrorov. Tu je stránka odkial si môžete stiahnúť jadro: http://www.kernel.org ...
Na ftp nájdete množstvo súborov a ak ste už rozhodnutý pre najnovšie jadro, môžete si hned vybrať akým spôsobom si zostavíte jadro pre kompiláciu.
Môžete stiahnúť priamo celé jadro (tar.gz, alebo bz2) súbor, alebo ak máte staršie jadro môžete si stiahnúť patch a ten aplikovať na staršie jadro.
Rozbalenie jadra nie je nič zvláštne:
#tar xvzf linux-2.x.verzia.tar.gz
Ak máte staršiu verziu a chcete aplikovať patch:
#patch < patchfile
Samozrejme môžete aplikovať viacero patchov. Patche môžete aplikovať aj na najnovšie jadro ak chcete nadštandartné funkcie ako je automounting a iné ...
Ako prvý krok musíte jadro nakonfigurovať pred kompiláciou, kde určíte akým spôsobom budete konfigurovať jadro a moduly.
#make mrproper
Pre potvrdzovanie nových funkcií s ponechaním starých skúste:
#make oldconfig
Pre textové ménu:
#make menuconfig
Tu je ukážka ako asi vyzera menuconfig:
Pre grafické XWindow ménu:
#make xconfig
A ak nemáte XWindow skúste
#make config
Po nakonfigurovaní jadra zadajte sériu príkazov
#make dep - tento príkaz upraví závislosti #make clean - tento príkaz vyčistí prípadne staré jadro #make zImage - samotná kompilácia, #make -j zImage - zrýchlená kompilácia, ovšem zaberá celý procesorový čas.
Ak sa vám podarilo skompilovať jadro bez chybových hlásení, mal by sa vám v adresári arch/i386/boot vytvoriť súbor zImage, čo je vlastne skomprimované jadro.
Ak sa vám nepodarilo skompilovať jadro, tak to nevzdávajte! Skúste sa pozrieť aké chyby boli vypísané a znovu zapnúť napríklad menuconfig (xconfig) a opraviť závadu. A samozrejme supstiť kompiláciu odznovu.
Po skompilovaní jadra musíte ešte skompilovať a nainštalovať moduly. To docielite sériou týchto príkazov:
#make modules #make modules_install
Ak máte najnovšiu sériu jadier 2.6, tak nemusíte ručne skopírovať jadro do adresára boot, ale stačí previesť príkaz:
#make install
Tento príkaz ovšem spôsobí, okrem toho že sa jadro nakopiruje do adresára /boot, sa aj prevedú zmeny s vaším zavádzačom (lilo, alebo grub) ...
Samozrejme je tu ešte aj možnosť vytvoriť si štartovaciu disketu s novým jadrom čo odporučujem začiatočníkom a tým sa vyhnúť tomu, že vám systém nemusí naštartovať.
Ak máte staršie jadro nevyhnete sa tomu, že budete musieť ručne nakopirovať súbor zImage do adresára /boot a editovať súbor /etc/lilo.conf
Tu je príklad zapísaného nového jadra do lilo.conf:
image=/boot/newkernel label=newkernel root=/dev/hda7 read-only image=/boot/vmlinuz label=DebianLinux root=/dev/hda7 read-only other=/dev/hda1 label=Windows_XP table=/dev/hda
Prvý riadok hovorí o tom, kam sa má uložiť botovací program, ak je tam napríklad len hda bez čísla, to značí, že sa zapíše do MBR. (Master Boot Record)
Další riadok je návestie (meno operačného systému).
Zápis lila sa prevedie príkazom:
#lilo
a môže vyzerať asi takto:
#Added *newkernel #Added linux #Added Windows_XP
Ak sa vám podarilo skompilovať jadro tak vám gratulujem, nie je to nič ťažké ale vyžaduje si to velkú pozornosť hlavne pri konfigurácií a trpezlisvosť pri kompilácií.