1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169
|
<!-- $Id: kernel-baking.xml 41851 2006-10-17 19:37:53Z mck-guest $ -->
<!-- original version: 40980 -->
<sect1 id="kernel-baking"><title>Kompilace nového jádra</title>
<para>
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:
<itemizedlist>
<listitem><para>
Potřebujete vyřešit hardwarový konflikt zařízení nebo speciální nároky
hardwaru, které dodávané jádro nezvládne.
</para></listitem>
<listitem><para>
Ve standardním jádře postrádáte podporu zařízení nebo nějakou službu
(např. podporu vysoké paměti).
</para></listitem>
<listitem><para>
Chcete menší jádro bez ovladačů, které nepoužíváte. Urychlíte start
systému a ušetříte paměť.
</para></listitem>
<listitem><para>
Chcete monolitické jádro místo modulárního.
</para></listitem>
<listitem><para>
Chcete jádro z vývojové řady.
</para></listitem>
<listitem><para>
Chcete se o jádře dozvědět něco víc.
</para></listitem>
</itemizedlist>
</para>
<sect2><title>Správa jader</title>
<para>
Nebojte se kompilace jádra, je to zábava a budete z ní mít užitek.
</para><para>
Doporučený způsob kompilace jádra v Debianu vyžaduje tyto balíky:
<classname>fakeroot</classname>, <classname>kernel-package</classname>,
<classname>linux-source-2.6</classname> a další, které
již máte patrně nainstalované (úplný seznam je v souboru
<filename>/usr/share/doc/kernel-package/README.gz</filename>).
</para><para>
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 <filename>/boot</filename> uloží
pěkně pohromadě jádro, mapa symbolů <filename>System.map</filename> a
aktuální konfigurace.
</para><para>
Jádro <emphasis>nemusíte</emphasis> 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
<classname>linux-source-2.6</classname>
si klidně můžete stáhnout poslední zdrojové texty jádra přímo od
Linuse.
</para><para>
Popis balíku <classname>kernel-package</classname> se nachází v
adresáři <filename>/usr/share/doc/kernel-package</filename>.
V následujících odstavcích najdete jen stručný úvod k jeho použití.
</para><para>
V dalším budeme předpokládat, že zdrojové texty jádra verze
&kernelversion; uložíte někam do svého domovského adresáře.<footnote>
<para>
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.
</para></footnote>
Přejděte do adresáře, kde chcete mít zdrojové texty jádra
(<userinput>cd <replaceable>~/build</replaceable></userinput>),
rozbalte archiv (<userinput>tar xjf
/usr/src/linux-source-&kernelversion;.tar.bz2</userinput>) a vejděte
do vzniklého adresáře (<userinput>cd
linux-source-&kernelversion;/</userinput>).
</para><para>
V prostředí X11 nakonfigurujte jádro příkazem <userinput>make
xconfig</userinput>, nebo v terminálu příkazem <userinput>make
menuconfig</userinput> (musíte mít nainstalovaný balíček
<classname>ncurses-dev</classname>). 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 <quote>Kernel
module loader</quote> (tj. automatické vkládání modulů) v sekci
<quote>Loadable module support</quote>, které přednastavené nebývá,
avšak Debian tuto službu předpokládá.
</para><para>
Příkazem <userinput>make-kpkg clean</userinput> pročistíte strom
zdrojových textů a vynulujete předchozí nastavení balíku
<classname>kernel-package</classname>.
</para><para>
Kompilaci jádra provedete příkazem <userinput>fakeroot
make-kpkg --initrd --revision=jadro.1.0
kernel_image</userinput>. Číslo verze 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.
</para><para>
Až kompilace skončí, jádro nainstalujete jako každý jiný balík. Jako
root napište <userinput>dpkg -i
../linux-image-&kernelversion;-<replaceable>podarchitektura</replaceable>_jadro.1.0_&architecture;.deb</userinput>.
<replaceable>podarchitektura</replaceable> je volitelné upřesnění
architektury, <phrase arch="x86"> např. <quote>686</quote>,
</phrase> které jste zadali při konfiguraci
jádra. <userinput>dpkg -i</userinput> nainstaluje jádro spolu
s doprovodnými soubory. Jedná se třeba o soubory
<filename>System.map</filename>, který je užitečný při dohledávání
problémů v jádře, a <filename>/boot/config-&kernelversion;</filename>
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.
</para><para>
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 <userinput>shutdown -r now</userinput>.
</para><para>
Více informací o debianích jádrech a o kompilaci jader si můžete
přečíst v <ulink
url="&url-kernel-handbook;">Debian Linux Kernel Handbook</ulink>.
Popis balíku <classname>kernel-package</classname> najdete v adresáři
<filename>/usr/share/doc/kernel-package</filename>.
</para>
</sect2>
</sect1>
|