Co je to jádro? Bohužel mě nenapadá žádná inteligentní odpověď na tuto otázku, takže to zkusím vysvětlit opisem. Jádro se stará o veškerý hardware. Inicializuje jej, nastavuje a ovládá. Jádro obsahuje tisíce ovladačů, od klávesnic přes harddisky až po síťové karty. Jádro se také stará o využití paměti. Pokud spustíte bumbrlíčka Netscapa, jádro pro něj musí najít volné místo. A i tento proces spouštění je vlastně dalším polem působnosti kernelu (jak se také označuje jádro). Jádro toho umí mnohem více, tímto jsem vám jen chtěl ukázat jeho zásadní význam. Je to prostě mozek, bez kterého je počítač jen zbytečným haraburdím.
Ve většině případů se o kernel nemusíte starat. Vaše distribuce jej obsahuje v takové podobě, která určitě poběží na vašem počítači. A díky konceptu modulů, které se objevily v jádře 2.0, obsahuje i většinu potřebných ovladačů. Takže pokud vám vše funguje, nemusíte jádro kompilovat. Přesto i obyčejný uživatel může chtít tuto činnost provést.
Důvodů je několik. Prvním z nich je neobvyklá hardwarová konfigurace vašeho počítače. Váš hardware může být sice jádrem podporován, ale nikoliv ve vaší distribuci. Proto si stáhnete jádro, zapnete podporu tohoto hardwaru, jádro zkompilujete a posléze i nainstalujete. Druhým důvodem je výkon. Protože distribuce musí podporovat nejrůznější kombinace, obsahuje podporu spousty zařízení, které ve svém počítači nemáte. A podpora těchto zařízení zabírá drahocennou paměť. Kromě toho, proč byste měli používat jádro optimalizované pro nějakou třiosmšestku? Zapněte si podporu svého procesoru a vyždímejte z něj maximum!
Zaujalo vás to? Chcete to zkusit? Chcete se chlubit přátelům, že máte jádro připravené na míru? Tak na to radši rovnou zapomeňte, pokud si myslíte, že IDE, SCSI, IrDA či ACPI jsou nějaká sprostá slova. Nakonfigurovat jádro zase není taková legrace, potřebujete mít docela dobrou znalost hardwaru. Jinak se může stát, že už svůj Linux nikdy neuvidíte (pokud jste líní udělat si bootovací disketu). Jádro ale obsahuje solidní předvolené hodnoty, se kterými byste jej měli rozběhnout na libovolném PC. Takže pokud nebudete moc experimentovat, neměli byste nic zkazit. A navíc, v tomto článku se vám pokusím osvětlit hlavní body, jak na to.
Možná vás zajímá, co znamenají ta hrozná čísla u verze jádra. Jestli je v tom nějaký systém. Odpověď je lakonická: je. Vezměme si například jádro 2.2.17. První dvojka je hlavní číslo, které se moc často nemění. Zato druhá dvojka je už moc důležitá. Pokud je toto druhé číslo sudé, znamená to, že se jedná o stabilní verzi. Takováto jádra jsou určena pro běžné použití. Naopak, lichá čísla ukazují, že jádro je určeno převážně pro vývojáře a běžní uživatelé by si s ním neměli zahrávat. Vývojová řada, které se někdy říká nestabilní, obsahuje spoustu nových vlastností. Na druhou stranu, kód nebývá dostatečně prověřen, takže v něm mohou být závažné chyby. Občas se stane, že některá chyba může vést až ke zničení obsahu disku. Takže při používání vývojové řady nezapomeňte na ochranné pomůcky (zálohování). A konečně poslední číslo znamená pořadí v dané řadě. Dnes je za stabilní řadu považována řada 2.2, nestabilní měla číslo 2.3, ale Linus chtěl naznačit blízkost jejího ukončení a tak přešel na značení 2.4.0-testX.
Prvním krokem ke kompilaci jádra je stažení zdrojových kódů. Asi nejbezpečnější bude použít zdrojáky od vašeho distributora. Ti do jádra totiž zahrnují nejrůznější specialitky, které vám mají nějak ulehčit život. A pokud byste si stáhli normální jádro, tato vylepšení by nemusela fungovat. Ale pokud vám jejich ztráta nevadí, jádro najdete třeba na adrese ftp://ftp.linux.cz/pub/linux/kernel/. V něm si vyberete adresář s řadou Linuxu. Například řada 2.2 bude v adresáři v2.2, 2.3 pro změnu v v2.3 a úplně první verzi Linuxu hledejte v adresáři v0.1 (jsem offline, takže trochu hádám).
Já se budu zabývat jádrem 2.4, proto si otevřu (třeba v Netscapu) adresu ftp://ftp.linux.cz/pub/linux/kernel/v2.4. Obvykle prvním souborem v tomto adresáři je prázdný soubor začínající LATEST_IS_. Z názvu tohoto souboru zjistíte poslední verzi jádra. Tu si potom stáhnete. Například linux-2.4.0-test11.tar.gz. Na některých serverech je jádro komprimováno příkazem bzip2, proto může mít jádro příponu bz2. Ale nebojte, to není žádný problém. Naopak, bzip2 má lepší výsledky než gzip, takže jádro rychleji stáhnete a pokud platíte internetovou daň Telecomu, ušetříte na impulsech.
Každopádně se připravte na dlouhé stahování (pokud náhodou nejste vysokoškolský student sedící u TEN-155). Poslední jádra mají v zabalené podobě více než 20 MB! A rozbalené jádro potřebuje téměř 110 MB. K tomu pár dalších desítek mega na kompilaci a člověk aby kupoval nový disk. Takže s tím raději počítejte, než začnete stahovat.
Teď si možná říkáte, zda budete muset stahovat příště zase dvacet mega dat, až Linus a spol. vydají novou verzi. Nebojte. Ve stejném adresáři najdete patche. Jsou to v podstatě rozdíly mezi dvěma verzemi jádra. A patche mívají jen pár set kilobajtů (i když jsem už viděl i třímegové). Prostě si stáhnete nový patch, jednoduše jej aplikujete a je to. Aby to ale fungovalo, musíte mít nainstalováno to minulé jádro, protože jinak by příkaz patch neměl patch s čím porovnat. Často se to řeší tak, že máte jedno starší jádro a stáhnete si všechny patche až k současné verzi. A pak je postupně aplikujete (anebo použijete automatizovaný prostředek).
Jako úvod by to stačilo, příště přejdeme ke konfiguraci.