8.6. Kompilace nového jádra

Proč byste si chtěli sestavit nové jádro? Obvykle nejde o nutnost, poněvadž jádro dodávané s Debianem funguje ve většině počítačů. V Debianu také bývají dostupná alternativní jádra, která mohou odpovídat vašemu hardwaru lépe než jádro výchozí, takže byste se na ně určitě měli podívat. Nicméně nové jádro může být užitečné v následujících situacích:

8.6.1. Správa jader

Nebojte se kompilace jádra, je to zábava a budete z ní mít užitek.

Doporučený způsob kompilace jádra v Debianu vyžaduje tyto balíky: fakeroot, kernel-package, linux-source-2.6 a další, které již máte patrně nainstalované (úplný seznam je v souboru /usr/share/doc/kernel-package/README.gz).

Tato metoda vytvoří ze zdrojových textů jádra .deb balíček, a jestliže používáte nestandardní moduly, taktéž z nich vyrobí aktuální balíčky. Při instalaci balíčku se do adresáře /boot uloží pěkně pohromadě jádro, mapa symbolů System.map a aktuální konfigurace.

Jádro nemusíte připravovat touto cestou, ale domníváme se, že s využitím balíčkovacího softwaru se proces zjednoduší a je také bezpečnější. Místo balíku linux-source-2.6 si klidně můžete stáhnout poslední zdrojové texty jádra přímo od Linuse.

Popis balíku kernel-package se nachází v adresáři /usr/share/doc/kernel-package. V následujících odstavcích najdete jen stručný úvod k jeho použití.

V dalším budeme předpokládat, že zdrojové texty jádra verze 3.16 uložíte někam do svého domovského adresáře.[20] Přejděte do adresáře, kde chcete mít zdrojové texty jádra (cd ~/build), rozbalte archiv (tar xf /usr/src/linux-source-3.16.tar.xz) a vejděte do vzniklého adresáře (cd linux-source-3.16/).

V prostředí X11 nakonfigurujte jádro příkazem make xconfig, nebo v terminálu příkazem make menuconfig (musíte mít nainstalovaný balíček ncurses-dev). Pročtěte si nápovědu a pozorně vybírejte z nabízených možností. Pokud si v některém bodu nebudete vědět rady, je většinou lepší zařízení do jádra vložit. Volby, kterým nerozumíte a které se nevztahují k hardwaru, raději nechte na přednastavených hodnotách. Nezapomeňte do jádra zahrnout Kernel module loader (tj. automatické vkládání modulů) v sekci Loadable module support, které přednastavené nebývá, avšak Debian tuto službu předpokládá.

Příkazem make-kpkg clean pročistíte strom zdrojových textů a vynulujete předchozí nastavení balíku kernel-package.

Kompilaci jádra provedete příkazem fakeroot make-kpkg --initrd --revision=1.0.moje kernel_image. Číslo verze 1.0.moje si můžete zvolit podle vlastní úvahy, slouží pouze k vaší orientaci v připravených balících. Kompilace zabere chvíli času, záleží na výpočetním výkonu vašeho počítače.

Až kompilace skončí, jádro nainstalujete jako každý jiný balík. Jako root napište dpkg -i ../linux-image-3.16-podarchitektura_1.0.moje_ppc64el.deb. podarchitektura je volitelné upřesnění architektury, které jste zadali při konfiguraci jádra. dpkg -i nainstaluje jádro spolu s doprovodnými soubory. Jedná se třeba o soubory System.map, který je užitečný při dohledávání problémů v jádře, a /boot/config-3.16 obsahující konfigurační soubor jádra. Balík s jádrem je dostatečně chytrý, takže během instalace upraví zavaděč tak, aby implicitně používal nové jádro. Pokud jste vytvořili balík s moduly (třeba PCMCIA nebo lm-sensors), je nanejvýš vhodné ho také nainstalovat.

Nyní je čas spustit systém s novým jádrem. Projděte si chybové hlášky, které se mohly při instalaci jádra vyskytnout, a pokud vše vypadá dobře, restartujte příkazem shutdown -r now.

Více informací o debianích jádrech a o kompilaci jader si můžete přečíst v Debian Linux Kernel Handbook. Popis balíku kernel-package najdete v adresáři /usr/share/doc/kernel-package.



[20] Existují i jiná místa, kam můžete zdrojové texty jádra rozbalit, ale použitá možnost je nejjednodušší a nevyžaduje žádná speciální práva.