J�dro opera�n�ho syst�mu Linux

Hack Robin, 325461@mail.muni.cz

Obsah

N�co m�lo z�historie

Autor j�dra linuxu, Linus Torvalds, se setkal s�Unixov�m prst�ed�m poprv� na univerzit�. Zjistil �e toto prost�ed� mu tak vyhovuje, �e by jej cht�l m�t i doma, na sv�m dom�c�m PC. Opravdov� Unix si nemohl dovolit a opensource varianta Minix (v uvozovk�ch proto�e Minix bylo nutn� zakoupit, na m�diu jste v�ak m�li i zdrojov� k�dy) mu p�i�la p��li� omezen�.

(Pro� si Linus v�t� dob� nemohl zakoupit unix pop��pad� si st�hnout zdrojov� k�dy jak je to b�n� dnes, to u� je tro�ku jin� poh�dka. Doporu�uji knihu: Um�n� programov�ni v�Unixu (The Art Of UNIX Programming) od Eric S. Raimond. Pop��pad� google a heslo: unix wars)

P�vodn� jsem to vlastn� ani nepl�noval opera�n� syst�m Linux vznikl na z�klad� jin�ho projektu , kdy jsem testoval vlastnosti procesoru 386.

Tento syst�m navrhl tak, aby byl bl�zk� syst�mu UNIX (a to jak System V od AT&T tak i BSD z kalifornsk� univerzity v Berkeley).

Pozn.: zde se pozn� jedna z v�hod existence norem a jejich dodr�ov�n� (nevyznam�j�� jsou POSIX - Portable Operating system Interface Unix a SUS - Single Unix Specification).
P��b�h ze �ivota
V roce 1998 upravila firma Oracle sv�j �pi�kov� datab�zov� produkt rovn� pro syst�m Linux. Byl to krok, jen� znamenal z�sadn� pr�lom ve zp�sobu vn�m�n� tohoto syst�mu u �irok� ve�ejnosti. In�en�r odpov�dn� za zmi�ovanou �pravu p�i dotazu na techni�ck� p�ek�ky, kter� bylo t�eba p�i �prav�ch p�ekonat, nab�dl rozhoduj�c� d�kaz, �e standardy pro rozhran� API splnily ��el. In�en�rova odpov�� zn�la takto: Zadali jsme p��kaz make.�

Stru�n� historie

Vy�erp�vaj�c� historie nejen Unixu: http://www.levenez.com/

Architekt�ra j�dra Linux

Linuxov� j�dro je pova�ov�no za monolitick�. D�ky sv� modularit� a n�kter�m prvk�m micro kernelu (nap�. kernel threads) ho lze nazvat i hybridn�m.

Intern� je j�dro rozd�leno do subsyst�m�.
Nap��klad: diskov�, s��ov�, ...

Kde z�skat:

Centrem d�n�: http://kernel.org/
Um�st�ny jsou zde: git repozit��e, historick� verze, v�ci �zce spojen� z�j�drem

Co st�hnout aneb ��slov�n� verz�

Dne�n� ��slov�n� je �ty�slo�kov�:

  1. major verze: Zm�na tohoto ��sla znamen� naprosto z�sadn� zm�nu architektury a dal��ch v�c�. V sou�asn� dob� pou��v�me ��slo 2.
  2. minor verze: Toto ��slo se m�n� �ast�ji, p�i podstatn� zm�n� j�dra. D��ve to vypadalo tak, �e lich� ��sla znamenala verze v�vojov� verze a sud� ��sla verze stabiln�. Tak nap��klad 2.0.35 byla stabiln� verze, kde�to 2.1.42 v�vojov�. Od minor verze 6 (tedy od verz� 2.6.x) to bylo opu�t�no a v�echny z�kladn� verze se pova�uj� za stabiln�.
  3. podverze: Zm�na tohoto ��sla znamen� zm�nu ve funkcionalit�, tedy �e n�jak� funkce p�ibude, zmiz� nebo zm�n� sv� ...iastnosti Nap��klad mezi verzemi 2.6.15 a 2.6.16 byty p�id�ny technologie TIPC nebo OCFS2.
  4. opravn� verze (t� stabiln� verze): Prvn� j�dro ur�it� podverze se vyd�v� bez tohoto p��davn�ho ��sla. J�dra s opravami chyb (beze zm�ny funkcionality) se rozli�uj� t�mto ��slem. Tedy nap�. 2.6.17.1 opravuje chyby z j�dra 2.6.17, verze 2.6.16.4 opravuje chvbv 2.6.16.3.

Konvenc� je, j�dro rozbalit do adres��e /usr/src/linux. Pro testov�n� v�ce verz� j�dra je mo�n� vytvo�it symbolick� link: /usr/src/linux == /usr/src/linux-2.6.26.2.

P��prava na kompilaci

Je�t� p�ed samotnou kompilac� je vhodn� si zj�stit HW konfiguraci stroje.

Triky z�praxe:

Jak konfigurovat a kompilovat

Za ka�d�ho po�as� make help je v� kamar�d.

Konfigurace:

Pozn.: nap��klad FreeBSD takov�to konfigur�tory nem�. Cel� j�dro lze nakonfigurovat z�pohodl� sv�ho obl�ben�ho editoru.

Samotn� kompilace se pak b�n� prov�d� p��kazem (u 2.6 jader): make && make modules_install
Samotn� p��kaz make se postar� o kompilaci j�dra a p�ikaz make modules_install o instalaci pop��pad� kompilaci a instalaci modul�.

Zkompilovan� j�dro lze naj�t: /usr/src/linux/arch/x86/bzImage

Trento soubor je vhodn� nakop�rovat do adres��e /boot pod v�sti�n�m n�zvem. Nap�.: kernel-2.6.26.5-grsecurity

Nainstalovan� moduly lze pak naj�t v adres��i /lib/modules/$(uname -r)/

Z�hadn� soubor System.map

J�dn� se o mrtvou tabulku v�ech symbol� j�dra. Tato tabulka umo��uje p�evod adresy na symbolick� jm�no a opa�n�. Velmi u�ite�n� pro lad�n� j�dra nebo dek�van� tzv. Kernel OOPS.

�loha zavad��e

J�dro m�me tedy nakonfigurov�no a zkompilov�no... co d�l?

Zde p�ich�z� na �adu tzv. bootloader. Jedn� se o n�kdy jednoduch� a n�kdy velmi komplexn� program.

Dnes je ve sv�t� Linuxu asi nejpou��van�j�� zavad�� GRUB. Jeho slavn�m p�edch�dcem je bootloader LILO (Linux Loader - mate n�zvem, lze p�ez n�j zav�d�t i jin� OS).

Jedny z �loh bootloaderu (GRUB):

Alternativn� m��e bootloader p�edat ��zen� jin�mu bootloaderu.

Literatura