Zdrojov� k�d j�dra opera�n�ho syst�mu Linux lze z�skat z ofici�ln�ho archivu http://www.kernel.org/ (FTP). Je v�ak siln� doporu�eno pou��t lok�ln� mirror. Bal��ek se zdrojov�m k�dem j�dra je takt� obsa�en v mnoha distribuc�ch.
St�hnout je mo�n� cel� kernel nebo jen inkrement�ln� patch, p��padn� patche opravuj�c� chyby. K dispozici jsou tak� historie zm�n (Changelog).
Verze j�dra se skl�d� ze t�� ��sel (v�t�inou) odd�len�ch te�kou (nap�.
2.6.5
). Prvn� ��slo uv�d� generaci j�dra, druh� ��slo
v�vojovou �adu. Ty obvykle b�vaj� dv� — stabiln� (sud� ��slo) a v�vojov�
(lich� ��slo). Posledn� ��slo ud�v� po�ad� vyd�n�. V sou�asn� dob� je posledn�
stabiln� verze 2.6.8.1. D�le se objevuj� p��pony jako -preN,
-rcN a -mmN zna��c� skoro hotovou verzi, respektive
v�vojovou v�tvi.
Pro �sp�n� p�eklad a fungov�n� j�dra je pot�eba mnoho pomocn�ch program�. P�edev��m gcc, make, binutils, util-linux, module-init-tools… Tak� z�le�� na jejich verzi (viz Documentation/Changes). Podle pou�it�ho konfigura�n�ho n�stroje m��e b�t vy�adov�na knihovna ncurser nebo Xlib.
Z�skan� bal��ek zdrojov�ho k�du rozbal�me do adres��e /usr/src, pracovn� adres�� zm�n�me na pr�v� vznikl� ./linux-X.Y.Z. Nyn� m��eme aplikovat p��padn� patche ve spr�vn�m po�ad� (nap�. p�i p�echodu na vy��� verzi j�dra nebo p�id�n� funkcionality, kter� nen� ve vanilla j�d�e). Nakonec je vhodn� se ujistit, �e �asy modifikace v�ech souboru jsou nastaveny v minulosti.
Konfiguraci j�dra lze prov�zt jedn�m z n�sleduj�c�ch p��kaz�:
make config
— program klade ot�zkymake oldconfig
— program se pt� jen na nov� volby
oproti minul� konfiguracimake menuconfig
— textov� dialogov� rozhran� knihovny ncursesmake xconfig
— grafick� dialogov� klikac� rozhran�
(vy�aduje X server)Konfigura�n� program se nejprve pokus� z�skat st�vaj�c� konfiguraci z pr�v� b��c�ho kernelu, pot� z konfigura�n�ho souboru .config a na konec p�ednastav� defaultn� konfiguraci. U�ivatel tak nemus� vypl�ovat p�i ka�d� konfiguraci to sam� nastaven�. P�i opu�t�n� konfigurace je nov� nastaven� ulo�eno do souboru .config.
S v�vojem hardwaru a j�dra p�ib�vaj� konfigura�n� volby a jejich um�st�n� v nab�dce menuconfigu se m�n�. P�ehled z�kladn�ch voleb:
Zb�n� vysv�tlen� k jednotliv�m volb�m nab�z� konfigur�tor, podrobnosti lze nal�zt v dokumentaci kernelu v adres��i Documentation.
Linuxov� j�dro je modul�rn�. N�kter� funkce j�dra mohou b�t staticky zakompilov�ny do j�dra nebo ponech�ny jako samostatn� jadern� moduly (LKMs), kter� lze za b�hu nahr�vat do pam�ti kernelu nebo odeb�rat.
Ka�d� jadern� modul nese seznam poskytovan�ch a po�adovan�ch symbol�, verzi
j�dra, autora, n�zev licence, seznam parametr�. Po p�elo�en� a instalaci
modul� a j�dra je nutn� vygenerovat tabulku z�vislost� modul� (p��kaz
depmod
). Modul lze zav�st na vy��d�n� (modprobe
modul
) �i jej uvolnit (rmmod modul
).
Seznam zaveden�ch modul� zjist� p��kaz lsmod
. Pro automatick�
zav�d�n� modul� je pot�eba nastavit prov�z�n� blokov�ch a znakov�ch za��zen�
se spr�vn�mi moduly (soubor /etc/modprobe.conf). D�le je nutn� ��ci
kernelu, kter�m programem se moduly zav�d� (echo "/sbin/modprobe" >
/proc/sys/kernel/modprobe
). Otev�e-li pak n�jak� proces za��zen�
/dev/ttyACM0, kernel zavol� program /sbin/modprobe, kter�
prohled� soubor /etc/modprobe.conf. Ten najde ��dek alias
char-major-167 cdc-acm
a zavede modul cdc-acm. Tento modul
prohled� USB sb�rnici a nalezne-li za��zen� pat��c� do USB t��dy ACM,
zaregistruje za��zen� s major ��slem 167 a propoj� jej s USB za��zen�m.
Parametry modulu lze zadat na p��kazov�m ��dku nebo uv�st do souboru
/etc/modprobe.conf.
P�eklad j�dra je kompletn� ��zen programem make. Po�adujeme-li
p�elo�en� v�ech ��st� j�dra od za��tku, odstran�me star� objektov� a do�asn�
soubory p��kazem make clean
. Samoutnou kompilaci v p��pad� j�dra
�ady 2.6 zah�j�me p��kazem make
(pro �adu 2.4 spust�me make
dep && make bzImage && make modules
. Kompilace m��e trvat
od n�kolika minut a� po n�kolik hodin (z�le�� na zvolen� konfiguraci, verzi
j�dra a v�konu po��ta�e).
Po �sp�n�m p�ekladu nainstalujeme moduly j�dra do adres��e
/lib/modules/X.Y.Z
p��kazem make modules_install
.
J�dro p�ekop�rujeme z arch/i386/boot/bzImage
do adres��e, kde jej
p�edpokl�d� n� zavad�� opera�n�ho syst�mu (nap�. /boot
), d�le
zkop�rujeme tabulku exportovan�ch symbol� j�dra System.map
a na
konec aktualizujeme nastaven� zavad��e OS (nap�. LILO, Grub, syslinux, loadlin).
Chov�n� j�dra lze ovlivnit pomoc� parametr�, kter� se zad�vaj� p�i nahr�n�
modulu nebo p�ed bootem. Odd�luj� se b�l�mi znaky a v�t�inou jsou tvaru
nazev=hodnota
. Nap��klad root=/dev/hda1 rw
init=/bin/bash ether=0,0,0,1,eth0
znamen�: ko�enov� souborov� syst�m se
nach�z� na /dev/hda1, bude p�ipojen pro z�pis, standardn� init bude
nahrazen programem /bin/bash a prvn� s��ov� karta bude pou��vat
extern� tranciever. Podrobn� seznam lze naj�t v
Documentation/kernel-parameters.txt.