![.. můj život u pc.. [pc]](./images/smilies/type.gif)
Upozornění:Instalací kernelu se dá hodně přidat ale i hodně zkazit, není to hraní si s rozlišením monitoru a výsledkem může být i nefunkční systém - sahá se teď doslova na jádro pudla éé tedy tučňáka a chyby se špatně opravují když moc nevíte co děláte. Jsou v principu 2 cesty jak dosáhnout svého. 1. klasická cesta a 2. vytvoření balíčku, což je pohodlnější a bezpečnější z hlediska instalace i deinstalace daného jádra v případě problémů.
1. Klasická cesta
Stáhnete si zdrojové kódy jádra z http://www.kernel.org. Na úvodní stránce je vystaven pouze patch z předchozí na následující poslední verzi, takže je třeba vlézt do http://www.kernel.org/pub/linux/kernel/v2.6/ pokud chcete kompletní zdrojové kódy jádra (hádám že asi ano) a je nutno si vybrat verzi, která odpovídá vaším požadavkům.
Dalším krokem je rozbalení daného archivu, např. linux-2.6.30.tar.bz2. Buď v konzoli příkazem tar -xvjf linux-2.6.30.tar.bz2 či v grafice přes Krusader, Ark nebo kýho výra který archivační program používáte.
![.. to je bžunda [hehe3]](./images/smilies/smile2.gif)
Obvykle se jádro rozbaluje do /usr/src/ ale je možné jeho adresář nahrát kamkoliv, třeba do /home/uživatel/linux-2.6.30.
Následuje příkaz pro vyčištění takříkajíc kompilačních cest od balastu co tam zbyl od minula - make mrproper (ano, správně, TEN Mr. Proper pracuje i v linuxové kompilatoři).
Pak nastupuje vyšší dívčí škola - pokud jste fanatičtí zastánci konzole, lze všechny volby zadat z ní pomocí příkazu make config ( momentálně cca 1600 takže 9 z 10 masochistů doporučuje). V dnešní době GUI klikátek jde zvolit i druhou cestu za pomoci make xconfig - vyskočí grafické rozhraní pro nastavení parametrů jádra myší. Když nevyskočí je potřeba doinstalovat qt3, on si to instalátor napíše do konzole, po čem touží. V této chvíli má člověk moc nad tím, jaké vlastnosti jádru dá do vínku a jaký typ jádra z kompilace vypadne. Lze vyprodukovat obrovské monolitické jádro, které má všechny ovladače v sobě a nepotřebuje žádné moduly či naopak maličké jádro bez ničeho a řešící vše formou modulů. Zlatá střední cesta existuje a záleží čistě na požadavcích dotyčného. Také lze určit pro jakou architekturu se bude překládat, jestli spíš pro Intel či pro AMD nebo nějakou jinou, non-x86 architekturu. Je potřeba zmínit, že měnit defaultní nastavení by měl jen ten kdo opravdu ví co dělá, jinak v lepším případě jádro nabobtná nepotřebnými funkcemi a v horším bude nějaká funkce scházet.
Výstup z této bohulibé činnosti se uloží v adresáři jako soubor ".conf" takže je možné ho přejmenovat, zazálohovat a použít třeba příště.
Nyní nastoupí fáze, při které se protáhnou tranzistory CPU - kompilace. Funguje na starém dobrém make, přičemž (pro majitele vícejaderných CPU) existuje přepínač, kterým lze určit, kolik jader vašeho miláčka bude na této operaci otročit. V případě, že máte dualcore, napište make -j2. Ti šťastnější napíší make -j3 eventuelně make -j4 a pokud vlastníte core i7 nebo nějaký 8jádrový server, můžete zkusit -j8 atd. Urychlení procesu kompilace je skutečně velice dobře pozorovatelné a kompilace na čtyřjádru se 4 vlákny je skutečně svižná v porovnání s defaultním jednovláknovým procesem.
V případě že jste některé vlastnosti jádra nechtěli přímo do jádra a zvolili je jako moduly (víceméně 100% případů), je po dokončení kompilace jádra jako takového třeba zkompilovat i tyto moduly, příkazem make modules_install. Výsledek se objeví v /lib/modules/linux-2.6.30
Poté co kompilace skončí, následuje ruční instalace zkompilovaného jádra a k ní jsou potřeba práva superuživatele. Po kompilaci nakopírujeme obraz jádra + další soubory do adresáře /boot. Doporučuji vytvořit si pro přehlednost i příslušný podadresář:
mkdir /boot/2.6.13
cp /home/user/linux-2.6.30/linux/System.map /boot/2.6.30
cp /home/user/linux-2.6.30/linux/vmlinux /boot/2.6.30
cp /home/user/linux-2.6.30/linux/arch/i386/boot/bzImage /boot/2.6.30
cp /home/user/linux-2.6.30/linux/.config /boot/2.6.30 - zálohujeme .config
Závěrečným krokem je nastavení zavaděče LILO nebo GRUB:
LILO:
image = /boot/2.6.30/bzImage
label = linux-2.6.30
root = /dev/hda1 # oddíl, na kterém je kořenový adresář /
Nezapomeneme nainstalovat LILO do MBR příkazem lilo (bez něj se změny neuloží).
GRUB:
title Linux-2.6.30
root (hd0,0)
kernel /boot/2.6.30/bzImage ro root=/dev/hda1
(Grub se dá editovat např. z Uživatelského centra či specializovanou utilitkou pokud chcete GUI a nebo z konzole /to je řádově náročnější pro člověka co to nikdy nedělal, nesmí se udělat chyba pokud chcete aby to fungovalo/. Výhodou grubu je ale to, že v případě neúspěchu při bootu lze manuálně editovat zápisy a opravit je a zkusit bootovat znovu, což např. lilo neumožňuje a taková chyba je v jeho případě pro běžného uživatele konečná ).
That's all - nyní stačí restartovat a vybrat si při zavádění systému nové jádro
![.. to je onooo.. [goood]](./images/smilies/thumb.gif)
2. Cesta menšího odporu
Protože mám Debian 5, vyzkoušel jsem více automatizovanou i bezpečnější cestu spojenou s vytvořením .deb balíčku, který se dobře instaluje i odinstaluje a většinu práce s nastavováním za vás udělá jeho instalátor (pro Ubuntu by měl fungovat stejně, jsou to příbuzné distribuce).
V tomto případě je příkaz pro vyčištění kompilačních složek k make mrproper a k tomu přidán make-kpkg clean. Návod se pak až do bodu konfigurace jádra shoduje s verzí 1, pak ovšem dojde u kompilace samotné ke změnám.
Kompilaci zařizuje make, ale také je tu utilitka kpkg (což je debianí vytvářeč balíčků) pro vytvoření balíčku. Proto je tu příkaz fakeroot make-dpkg --initrd --revision=2.6.30 kernel_image. A to je vše. Jediná nevýhoda je, že zatím nevím, jaký přepínač se chová jako -j u klasického make, takže kompilace probíhá jednovláknově.
Výsledkem je balíček s linuxovým kernelem dle zvolené architektury tj. v tomto případě linux-image-2.6.30_amd64.deb. Trošku zmatečné může být, že balíček se vytváří o adresář výš, takže ho najdete v /home/user/. Ten už je dobře přenositelný i na jiné počítače a není problém s jeho konfigurací.
Instalace probíhá klasicky za pomoci příkazu dpkg -i linux-image-2.6.30_amd64.deb . A to je vše, balíček se automaticky nakonfiguruje a nyní už stačí jen restartovat systém a při novém zavádění zvolit 2.6.30

Stali jste se majiteli vlastního uživatelského jádra.