J�dro syst�mu

Ji�� Kortus, 255719@mail.muni[NOSPAM].cz

Obsah

O j�dru

Linuxov� j�dro (kernel) je projekt iniciovan� Linusem Torvaldsem v roce 1991, jeho� c�lem bylo poskytnout opensource alternativu ke komer�n�m UNIXov�m syst�m�m. Je naps�no v jazyce C a je voln� dostupn� pod licenc� GPL. J�dro je typu makrokernel, a umo��uje zav�d�n� a odeb�r�n� jadern�ch modul� za b�hu. Na v�voji j�dra se pod�l� komunita v�voj��� sest�vaj�c� jak z velk�ho mno�stv� jednotlivc�, tak i firem podporuj�c�ch Linux (RedHat, IBM, Novell a dal��). V �ele v�voje j�dra st�le stoj� Linus Torvalds.

Verze a ��slov�n�

Historicky prvn� verz� byla verze 0.01 vydan� v roce 1991, v sou�asn� dob� jsou aktu�ln� verze �ady 2.6.x a nov� 3.x. (posledn� verze je aktu�ln� 3.0.4). Verze jsou od v1.0 ��slov�ny typicky podle sch�matu A.B.C nebo A.B.C.D, kde

Za ��seln�m ozna�en�m verze m��e b�t je�t� dodatek (nap�. -rc1) popisuj�c�, �e jde o release-candidate verzi nebo o specifickou v�vojovou v�tev.

Sta�en� j�dra

Zdrojov� k�dy j�dra lze z�skat z www.kernel.org, p��padn� z n�kter�ho ze zrcadel, nap�. ftp.linux.cz (jedn� se o tzv. vanilla j�dro). Pokud pot�ebujeme vanilla j�dro roz���it o dal�� funkce, je pot�eba st�hnout pat�i�n� patch a aplikovat jej na zdrojov� k�dy.

Konfigurace

Distribu�n� j�dra jsou konfigurov�na tak, aby fungovala na co nej�ir��m spektru hardwarov�ch konfigurac�, tzn. mus� podporovat i mnoho hardwaru nebo vlastnost�, kter� �asto nejsou pot�eba. Konfigurac� lze j�dro optimalizovat pro lep�� fungov�n� na dan�m HW, odstranit nepot�ebn� funkce a zmen�it m�sto zabran� j�drem (a moduly). P�ed konfigurac� je t�eba zn�t parametry syst�mu, na kter�m j�dro pob��, zejm�na

Pro boot j�dra je nezbytn�, aby obsahovalo podporu pro za��zen�, ze kter�ho se bude bootovat (nap�. podpora SATA) a souborov�ho syst�mu pou�it�ho v ko�enov�m odd�lu (p��padn� m��e b�t tato podpora obsa�ena v initramdisku). Konfiguraci, kompilaci a instalaci j�dra lze shrnout do n�sleduj�c�ch krok�:

  1. St�hnut� a rozbalen� j�dra (v�t�inou do /usr/src/linux-verze_j�dra, v /usr/src by m�l b�t symlink linux ukazuj�c� na aktu�ln� verzi zdrojov�ch k�d�)
  2. Zaz�lohov�n� konfigura�n�ho souboru (.config) funk�n� verze j�dra - zcat /proc/config.gz > .config.backup nebo cp /boot/config-verze_j�dra .config.backup
  3. Konfigurace parametr� a sou��st� j�dra (podpora za��zen�, sb�rnic, s�t�, �ifrov�n�, ...) - pomoc� make a jednoho z n�sleduj�c�ch parametr� U jednotliv�ch polo�ek lze zad�vat volbu, zda danou polo�ku chceme zakompilovat do j�dra (Y) �i nikoliv (N) nebo jestli m� b�t zkompilov�na jako modul (M).
  4. Pot�, co jsme provedli konfiguraci a jej� ulo�en�, m��eme p�ikro�it ke kompilaci j�dra p��kazem make.
  5. D�le nainstalujeme moduly: make modules_install - dojde k jejich nakop�rov�n� do /lib/modules/linux-verze_zkompilovan�ho_j�dra
  6. Po zkompilov�n� bude j�dro (v�t�inou soubor bzImage) v arch/xyz/boot (xyz = n�mi po�adovan� architektura). Provedeme nakop�rov�n� j�dra z arch/xyz/boot, konfigura�n�ho souboru .config a souboru System.map do /boot (a jejich pat�i�n� p�ejmenov�n� na config-verze_j�dra a System.map-verze_j�dra). P��padn� je mo�n� pou��t p��kaz make install (pou�ije LILO, pokud je dostupn�).
  7. Uprav�me nastaven� zavad��e (GRUBu), aby bylo mo�n� po restartu nabootovat s nov�m j�drem.

P��padn� vytvo�en� initramdisku se provede n�strojem mkinitramfs.

U�ivatelsk� n�stroje

N�kter� n�stroje pro pr�ci s j�drem z u�ivatelsk�ho prostoru:

Prost�ednictv�m soubor� v /proc a /sys lze za b�hu nastavovat parametry j�dra nebo z nich ��st informace poskytovan� j�drem.

Parametry p�ed�van� j�dru p�i startu

P�i zav�d�n� j�dra mu mohou b�t zavad��em p�ed�ny konfigura�n� nebo ladic� parametry, nap��klad:

Kompletn� seznam parametr� lze naj�t na http://www.mjmwired.net/kernel/Documentation/kernel-parameters.txt

System.map

System.map je soubor, kter� obsahuje tabulku jmen symbol� (jmen prom�nn�ch nebo funkc�) pou��van�ch j�drem a jejich um�st�n� v pam�ti. Je generov�n p�i ka�d� kompilaci j�dra a slou�� k p�ekladu jmen symbol� na jejich adresy a naopak.

Literatura