summaryrefslogtreecommitdiff
path: root/ca/post-install/kernel-baking.xml
blob: dfa16afe711cdbce536cd3063b707f1f705866e3 (plain)
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
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
<!-- retain these comments for translator revision tracking -->
<!-- original version: 36730 -->

 <sect1 id="kernel-baking"><title>Compilant un nou nucli</title>
<para>

Per què algú voldria compilar un nou nucli? Sovint no és necessari,
ja que el nucli que distribueix Debian gestiona la majoria de les
configuracions. Debian també ofereix sovint uns quants nuclis alternatius.
Per tant, pot ser que vulgueu comprovar primer si hi ha algun paquet d'imatge
de nucli alternatiu que correspon millor al vostre maquinari. Tot i això,
compilar un nou nucli pot ser útil per:

<itemizedlist>
<listitem><para>

gestionar maquinari especial o conflicte de maquinari amb els
nuclis proporcionats

</para></listitem>
<listitem><para>

utilitzar opcions del nucli que no estan suportades pels nuclis
proporcionats (algunes com suport de gran memòria)

</para></listitem>
<listitem><para>

optimitzar el nucli suprimint controladors inútils per tal
d'agilitzar el temps d'arrencada

</para></listitem>
<listitem><para>

crear un nucli monolític en comptes d'un de modular

</para></listitem>
<listitem><para>

executar un nucli actualitzat o de desenvolupament

</para></listitem>
<listitem><para>

aprendre més sobre nuclis de linux

</para></listitem>
</itemizedlist>

</para>

  <sect2><title>Gestió de la imatge del nucli</title>
<para>

No tingueu por a l'hora de compilar el nucli. És divertit i profitós.

</para><para>

Per compilar un nucli a la manera de Debian, necessiteu alguns paquets:
<classname>fakeroot</classname>, <classname>kernel-package</classname>,
<phrase condition="classic-kpkg"><classname>kernel-source-&kernelversion;</classname>
(l'última versió en el moment d'escriure aquest document)</phrase>
<phrase condition="common-kpkg"><classname>linux-source-2.6</classname></phrase>
i alguns d'altres que probablement ja teniu instal·lats
(per accedir a la llista completa vegeu
<filename>/usr/share/doc/kernel-package/README.gz</filename>).

</para><para>

A través d'aquest mètode es generarà un .deb del codi font del nucli,
i en el cas que disposeu de mòduls no estàndard en crearà un .deb
dependent sincronitzat. És un mètode millor per gestionar imatges del nucli;
el directori <filename>/boot</filename> contindrà el nucli, el System.map i
un registre del fitxer de configuració actiu del muntatge.

</para><para>

Recordeu que no <emphasis>forçosament heu</emphasis> de compilar el nucli
seguint el <quote>mètode Debian</quote>; però creiem que utilitzar el sistema
d'empaquetat per gestionar el nucli és la manera més segura i fàcil. De fet,
podeu descarregar el codi font del nucli directament del Linus en comptes de
<phrase condition="classic-kpkg"><classname>kernel-source-&kernelversion;</classname>,</phrase>
<phrase condition="common-kpkg"><classname>linux-source-2.6</classname>,</phrase>
ja que utilitza el mètode de compilació <classname>kernel-package</classname>.

</para><para>

Recordeu que trobareu documentació respecte a la utilització de
<classname>kernel-package</classname> al directori
<filename>/usr/share/doc/kernel-package</filename>. Aquesta
secció únicament conté un petit tutorial.

</para><para>

S'assumeix que disposeu de llibertat absoluta sobre el vostre sistema i que
extraureu el codi font del nucli en algun lloc del vostre directori
personal<footnote>

<para>

Hi ha d'altres ubicacions on podeu extreure el codi font del nucli i generar
el vostre nucli personalitzat, però aquest és el més fàcil al no precisar
de permisos especials.

</para>

</footnote>. Assumirem que la vostra versió del nucli és &kernelversion;.
Assegureu-vos d'estar al directori on voleu desempaquetar el codi
font del nucli, extraieu-lo utilitzant l'ordre
<phrase condition="classic-kpkg"><userinput>tar xjf
/usr/src/kernel-source-&kernelversion;.tar.bz2</userinput></phrase>
<phrase condition="common-kpkg"><userinput>tar xjf
/usr/src/linux-source-&kernelversion;.tar.bz2</userinput></phrase>
i entreu al directori que s'haurà creat 
<phrase condition="classic-kpkg"><filename>kernel-source-&kernelversion;</filename></phrase>
<phrase condition="common-kpkg"><filename>linux-source-&kernelversion;</filename></phrase>
.


</para><para>

Ja podeu configurar el nucli. Si teniu instal·lat, configurat i executant-se
l'X11, executeu l'ordre <userinput>make xconfig</userinput>; si no el teniu
instal·lat executeu l'ordre <userinput>make menuconfig</userinput> (haureu
de tenir instal·lat <classname>libncurses5-dev</classname>). Preneu-vos el
temps necessari per llegir l'ajuda en línia i seleccionar les opcions de
forma acurada. En cas de dubte, normalment és millor introduir el controlador
del dispositiu (el programari que gestiona els perifèrics com la targeta
Ethernet, controladors SCSI i similars). Recordeu que en cas de no entendre
d'altres opcions no relacionades amb un maquinari específic, les hauríeu de
deixar amb el valor predeterminat. No oblideu seleccionar l'opció
<quote>Carregador de mòduls del nucli</quote> a <quote>Suport de mòduls
carregables</quote> (per defecte no està seleccionat). En cas de no incloure
l'opció, hi hauria problemes amb la instal·lació de Debian.

</para><para>

Netegeu l'arrel del codi font i reinicia els paràmetres
<classname>kernel-package</classname>. Per a fer-ho, utilitzeu
l'ordre <userinput>make-kpkg clean</userinput>.

</para><para>

Seguidament heu de compilar el nucli:
<userinput>fakeroot make-kpkg --initrd --revision=custom.1.0 kernel_image</userinput>.
El número de versió <quote>1.0</quote> es pot modificar; és únicament
un número de versió que s'utilitzarà per registrar les generacions del nucli.
Podeu utilitzar qualsevol paraula enlloc de <quote>custom</quote>
(ex. un nom d'ordinador). La duració de la compilació del nucli
dependrà de la potència de l'ordinador.


</para><para>

Un cop finalitzada la compilació, podeu instal·lar el nucli personalitzat
com qualsevol altre paquet. Heu d'executar, com a superusuari, 
<phrase condition="classic-kpkg">
<userinput>dpkg -i
../kernel-image-&kernelversion;-<replaceable>subarquitectura</replaceable>_custom.1.0_&architecture;.deb</userinput>.
</phrase>
La part <replaceable>subarquitectura</replaceable> és una subarquitectura
opcional
<phrase arch="x86"> com per exemple <quote>i586</quote>, </phrase>
en funció de les opcions del nucli seleccionades.

L'ordre <userinput>dpkg -i</userinput> instal·larà el nucli,
juntament amb d'altres fitxers de suport. Per exemple, s'instal·larà
<filename>System.map</filename> (que serà d'ajuda en els problemes
de depuració del nucli), i també s'instal·larà el fitxer
<filename>/boot/config-&kernelversion;</filename> que contindrà el conjunt
d'opcions de configuració actuals. El paquet del nucli es prou inteligent
per actualitzar automàticament el vostra carregador d'arranc per utilitzar
el nou nucli. Si heu creat un paquet amb mòduls,
<phrase condition="classic-kpkg"> per exemple, si teniu una PCMCIA, </phrase>
necessitareu instal·lar eixe paquet també.

</para><para>

És el moment de reiniciar el sistema: llegiu acuradament qualsevol avís
produït pel pas anterior i executeu l'ordre <userinput>shutdown -r now</userinput>.
</para><para>

Per a veure més informació sobre els nuclis de Debian i compilacions
de nuclis, vegeu el <ulink url="&url-kernel-handbook;">Llibre de butxaca
de nuclis Linux de Debian</ulink>.

Per a veure més informació sobre <classname>kernel-package</classname> llegiu
la documentació del directori <filename>/usr/share/doc/kernel-package</filename>.

</para>
  </sect2>
 </sect1>