Jádro operačního systému je vrstva mezi hardwarem a uzivatelským prostorem, která se stará hlavně o správu paměti, přerušení a přidělování procesorovho času. Dělí se na dva základní typy - monoliticka a mikrojadra. Mikrojádro ovládá hardware pomocí systému modulů které mezi sebou komunikují pomocí přerušení; monolitická jádra běží v jednom paměťovém prostoru. Jádro Linux je kombinací obou těchto přístupů
Prvná verze jádra Linux zvěřejněna 17. září 1991. Autorem je finsky student Linus Torvalds, který při návrhu Linuxu vycházel z Minixu Tato verze byla optimalizována pro procesor 386, pro nabootování bylo potřeba aby na počítači běžel jiný operační systém a měl 10 239 řádek kódu. Verze 1.0 byla vydána 14.3.1994, verze 2.0 9.6.1996. Poslední stabilní verze 2.6.22.8 vyšla 25.9. 2007, podporuje kolem 20hlavních hardwarových architektur a obsahuje 8 500 039 řádků kódu.
Od verze 2.6.11 došlo ke změně v číslování verzí jádra. Původní číslování bylo ve formátu A.B.C (např. 2.6.22), kde A je verze jádra, B vývojová řada a C pořadí vydání. U vývojové řady označovalo sudé číslo stabilní verzi a liché číslo verzi vývojovou. Nové číslování jádra přešlo z 2.6.x na jemnější vývojovou verzi 2.6.x.y. Stabilní verze zůstává 2.6.x, ale byl zrušen význam sudých/lichých verzí.
Kromě verzí, která obsahují jenom čísla, se můžete také setkat s verzemi, která obsahují krátké písmenné řetězce, jako například mm2, které označují kernel z development stromu konkrétního člověka -- -ac ze stromu Alana Coxe, -mm Andrewa Mortona, nebo -ck od Cona Kolivase.
Aktuální verzi jádra je možné stáhnout na www.kernel.org jako tarball, nebo jako sadu patchů oproti nižší verzi. Zároveň je možné jádro získat z distribučních balíků. Distribuční jádra bývají narozdíl od vanilla jádra obohacena o sadu distribučních patchů, které v jádře upravují některé vlastnosti specifické pro danou distribuci. Distribuční patche je samozřejmě možné stáhnout samostatně a distribuční jádro si z vanilla verze vyrobit.
Zdrojové kódy jádra je před kompilací nejprve rozbalit a případně na ně aplikovat některé patche.
Jádro rozbalíme pomocí programu tar(1)
do adresáře /usr/src/. Jádro se rozbalí do adresáře
s názvem odpovídajícím verzi jádra (např. /usr/src/linux-source-2.6.18) a je třeba jej přejmenovat, nebo
vytvořit symbolický odkaz tak, aby zdrojové kódy byly dostupné v adresáři /usr/src/linux/
.
Patchování se provádí standardním způsobem, takže jej není třeba zvlášť rozebírat.
Kompilace jádra se dělí do několika fází. Nejprve je potřeba přejít do adresáře /usr/src/linux/
.
řed kompilací je nutné jádro zkonfigurovat. Konfigurace se provádí několika způsoby. a potom spustit příkaz make(1)
s některým z následujících parametrů:
Jádro zkompilujeme pomocí příkazu make(1)
bez parametrů. Tím se zkompiluje základní jádro,
vytvoří se komprimovaný obraz jádra (bzImage
) a všechny moduly. Instalaci provedeme příkazem
make install
(vlastní instalace jádra) a make modules_install
(instalace modulů
jádra do adresáře INSTALL_MOD_PATH, což většinou bývá /lib/modules/$KERNEL_NAME
.
Posledním krokem instalace je úprava zavaděče systému tak, aby naše nové jádro našel.
Další možnost jak zkompilovat a nainstalovat jádro je použít některý z distribučních nástrojů,
například v Debianu je nastroj make-kpkg(1)
. Ten jádro zkonfiguruje, zkompiluje a vytvoří
balík .deb
který stačí nainstalovat standardním způsobem.
Před nabootováním jádra můžeme jeho chování částečně ovlivnit pomocí parametrů zadávaných na příkazové řádce zavaděče (GRUB), nebo zapsaných v jeho konfiguraci (GRUB, LILO).
Parametry se zadávají ve formátu jmeno[=hodnota_1][,hodnota_2]...[,hodnota_10]
.
Mezi nejčastěji pouřívané volby patří
Další volby a přesnější popis parametrů lze nalézt v manuálové stránce bootparam