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$ -->
<!-- original version: 40980 -->
<sect1 arch="linux-any" 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
../&kernelpackage;-&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>
|