První věcí při kompilování vlastního jádra linuxu je stažení zdrojoveho kódu. Základní kernel zvaný vanilla najdeme na adrese
kernel.org a samozřejmě také na jejich zrcadlech(např. na ftp.linux.cz). Jde o oficiální
verzi bez neschválených patchů, kterou vydává správce aktuální řady jádra. Dále existují různé upravené verze, které obsahují
patche a jsou vydávány jinými lidmi. Skoro každá distribuce má dnes takové jádro, na kterém pracují její vývojáři a přidávají do
ní všelijaké více méně potřebné patche.
Dále se musíme rozhodnout, kterou řadu jádra použít, jestli stabilní nebo vývojovou. Verze jádra má tři části. U posledního stabilního jádra 2.6.3 jsou to
2, což je hlavní verze, která se mění jen při velkých změnách, další číslo tedy 6 značí, jde-li o stabilní verzi(sudá čísla) či vývojovou(čísla lichá).
Zdrojový kód tohoto jádra se tedy nachází v souboru linux-2.6.3.tar.bz2(gz). Ke každému jádru existuje dále ChangeLog, což je seznam změn,
které byly provedeny od předchozí verze, a soubor patch, který obsahuje pouze změněný zdrojový kód od předchozí verze. V případě, že
máme již zdrojový kód předchozí verze, není tedy nutné stahovat celou novou verzi, ale pouze tento patch a aplikovat ho na původní zdrojový kód.
Dále bychom měli zkontrolovat jestli máme všechny potřebné nástroje pro kompilaci v jejich doporučených verzích, což najdeme v souboru
Documentation/Changes.
Před vlastní kompilací jádra je nutné ho nakonfigurovat, což znaméná zvolit si, které vlastnosti bude nový kernel obsahovat. Před tímto krokem by jsme
si měli zjistit na jakém hardwaru jádro poběží abychom byli schopni ho pro něj co nejlépe optimalizovat. Není například nutné kompilovat ovladače pro
všechny podporované sítové karty, pokud víme, že v systému bude jen jedna a měnit se nebude.
U většiny vlastností máme možnost je buď zakompilovat do jádra, zkompilovat je jako modul nebo je vůbec nekompilovat. Pokud je zakompilujeme přímo
do jádra, nemusíme se už o ně vůbec starat, protože budou stále v paměti, což ale zvyšuje pamět'ovou náročnost jádra. Proto máme možnost zkompilovat
nějaké vlastnosti jako moduly, které se nahrajou až v případě, že se potřebují, a poté se mohou zase odstranit z paměti.
Před kompilací je dobré odstranit soubory, které případně zbyly z předchozí kompilace příkazem make mrproper. Dále máme možnost vybrat
si z 5 možností configurace jádra:
Kompilaci spustíme příkazem make bzImage, což nám vytvoří komprimovaný obraz jádra. Pokud chceme vytvořit bootovací disketu použijeme
příkaz make bzDisk a vložíme disketu do mechaniky /dev/fd0.
Pokud proběhne kompilace v pořádku, spustíme příkaz make modules, který nám zkompiluje všechny vybrané moduly. Ty pak nainstaluje
příkazem make modules_install, který nám vytvoří adresář /lib/modules/verze-jadra, kam nahraje všechny přeložené moduly do podadresářů
podle příslušných kategorií.
Pokud máme nainstalovaný zavaděč systému Lilo, můžeme spustit příkaz make install, který nám nahraje vytvořené jádro do adresáře /boot, upraví
soubor /etc/lilo.conf a spustí lilo pro nastavení zavaděče. V opačném případě musíme nastavit zavaděč sami.
A nyní již stačí jen restartovat počítač a doufat, že se vše povedlo, tak jak jsme chtěli :)