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 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343
|
<!-- retain these comments for translator revision tracking -->
<!-- original version: 64916 -->
<sect1 arch="linux-any" id="kernel-baking">
<!-- <title>Compiling a New Kernel</title> -->
<title>Compilazione di un nuovo kernel</title>
<para>
<!--
Why would someone want to compile a new kernel? It is often not
necessary since the default kernel shipped with &debian; handles most
configurations. Also, &debian; often offers several alternative kernels.
So you may want to check first if there is an alternative kernel image
package that better corresponds to your hardware. However, it can be
useful to compile a new kernel in order to:
-->
Perché qualcuno dovrebbe compilarsi un nuovo kernel? Spesso non è
necessario dato che il kernel inserito in &debian; gestisce la
maggior parte delle configurazioni. Inoltre &debian; offre parecchi kernel
alternativi, quindi si dovrebbe come prima cosa controllare se fra i
pacchetti con kernel alternativi ce n'è uno che si adatta meglio al proprio
hardware. Comunque può essere utile compilare un nuovo kernel per poter:
<itemizedlist>
<listitem><para>
<!--
handle special hardware needs, or hardware conflicts with the
pre-supplied kernels
-->
gestire hardware particolare o gestire conflitti hardware con kernel
preconfezionati
</para></listitem>
<listitem><para>
<!--
use options of the kernel which are not supported in the pre-supplied
kernels (such as high memory support)
-->
usare opzioni del kernel che non sono supportate dai kernel preconfezionati
(per esempio il supporto per la memoria alta)
</para></listitem>
<listitem><para>
<!--
optimize the kernel by removing useless drivers to speed up boot time
-->
ottimizzare il kernel rimuovendo i driver inutili in modo da velocizzare
l'avvio del sistema
</para></listitem>
<listitem><para>
<!--
create a monolithic instead of a modularized kernel
-->
creare un kernel monolitico al posto di uno modulare
</para></listitem>
<listitem><para>
<!--
run an updated or development kernel
-->
usare un kernel aggiornato o di sviluppo
</para></listitem>
<listitem><para>
<!--
learn more about linux kernels
-->
imparare cose nuove sui kernel linux
</para></listitem>
</itemizedlist>
</para>
<sect2>
<!-- <title>Kernel Image Management</title> -->
<title>Gestione dell'immagine del kernel</title>
<para>
<!--
Don't be afraid to try compiling the kernel. It's fun and profitable.
-->
Non ci si deve impaurire nel provare a compilare il kernel. È
divertente e utile.
</para><para>
<!--
To compile a kernel the &debian; way, you need some packages:
<classname>fakeroot</classname>, <classname>kernel-package</classname>,
<classname>linux-source-2.6</classname>
and a few others which are probably already installed (see
<filename>/usr/share/doc/kernel-package/README.gz</filename> for the
complete list).
-->
Per compilare il kernel con il metodo seguito da &debian; sono necessari
alcuni pacchetti: <classname>fakeroot</classname>,
<classname>kernel-package</classname>,
<classname>linux-source-2.6</classname>
e pochi altri che probabilmente sono già installati (si consulti
<filename>/usr/share/doc/kernel-package/README.gz</filename> per
l'elenco completo).
</para><para>
<!--
This method will make a .deb of your kernel source, and, if you have
non-standard modules, make a synchronized dependent .deb of those
too. It's a better way to manage kernel images;
<filename>/boot</filename> will hold the kernel, the System.map, and a
log of the active config file for the build.
-->
Questo metodo crea un .deb dai sorgenti del kernel e, se si hanno dei
moduli non-standard, crea anche un .deb di questi moduli sincronizzato
con il precedente. Questo è il miglior modo di gestire le immagini del
kernel; in <filename>/boot</filename> vengono inseriti il kernel, il file
System.map e un log con le configurazioni attive durante la compilazione.
</para><para>
<!--
Note that you don't <emphasis>have</emphasis> to compile your kernel
the <quote>&debian; way</quote>; but we find that using the packaging system
to manage your kernel is actually safer and easier. In fact, you can get
your kernel sources right from Linus instead of
<classname>linux-source-2.6</classname>,
yet still use the <classname>kernel-package</classname> compilation method.
-->
Notare che <emphasis>non</emphasis> è obbligatorio compilare il kernel
<quote>alla &debian;</quote>; ma l'uso del sistema di pacchetti per gestire
il kernel è realmente più sicuro e più semplice. In pratica si possono
anche reperire i sorgenti del kernel direttamente da Linus anziché da
<classname>linux-source-2.6</classname> e comunque usare il metodo di
compilazione con <classname>kernel-package</classname>.
</para><para>
<!--
Note that you'll find complete documentation on using
<classname>kernel-package</classname> under
<filename>/usr/share/doc/kernel-package</filename>. This section just
contains a brief tutorial.
-->
Notare che è possibile trovare la documentazione completa sull'uso di
<classname>kernel-package</classname> in
<filename>/usr/share/doc/kernel-package</filename>. Questa sezione
contiene solo un breve manuale introduttivo.
</para><para>
<!--
Hereafter, we'll assume you have free rein over your machine and will
extract your kernel source to somewhere in your home directory<footnote>
-->
D'ora in avanti si suppone che si abbia il controllo completo della
macchina e che i sorgenti del kernel siano da qualche parte all'interno
della propria home directory<footnote>
<para>
<!--
There are other locations where you can extract kernel sources and build
your custom kernel, but this is easiest as it does not require special
permissions.
-->
Ci sono molti altri posti in cui è possibile estrarre i sorgenti del
kernel e compilare un kernel personalizzato, ma è molto più semplice
se questa operazione non richiede dei permessi speciali.
</para>
<!--
</footnote>. We'll also assume that your kernel version is
&kernelversion;. Make sure you are in the directory to where you want to
unpack the kernel sources, extract them using
<userinput>tar xjf /usr/src/linux-source-&kernelversion;.tar.bz2</userinput>
and change to the directory
<filename>linux-source-&kernelversion;</filename>
that will have been created.
-->
</footnote>. Si suppone anche che la versione del kernel sia
&kernelversion;. Assicurarsi di trovarsi nella directory in cui si vuole
scompattare i sorgenti del kernel, estrarli usando
<userinput>tar xjf /usr/src/linux-source-&kernelversion;.tar.bz2</userinput>
e cambiare la directory corrente in
<filename>linux-source-&kernelversion;</filename>
che è stata appena creata.
</para><para>
<!--
Now, you can configure your kernel. Run <userinput>make
xconfig</userinput> if X11 is installed, configured and being run; run
<userinput>make menuconfig</userinput> otherwise (you'll need
<classname>libncurses5-dev</classname> installed). Take the time to read
the online help and choose carefully. When in doubt, it is typically
better to include the device driver (the software which manages
hardware peripherals, such as Ethernet cards, SCSI controllers, and so
on) you are unsure about. Be careful: other options, not related to a
specific hardware, should be left at the default value if you do not
understand them. Do not forget to select <quote>Kernel module loader</quote>
in <quote>Loadable module support</quote> (it is not selected by default).
If not included, your &debian; installation will experience problems.
-->
Adesso si può configurare il kernel. Eseguire <userinput>make
xconfig</userinput> se X11 è installato, configurato e in esecuzione;
altrimenti eseguire <userinput>make menuconfig</userinput> (è necessario
che sia installato il pacchetto <classname>libncurses5-dev</classname>).
Prendersi tutto il tempo necessario per leggere l'aiuto in linea e
scegliere con attenzione; in caso di dubbi di solito è consigliabile
includere i driver dei dispositivi (il software che gestisce le
periferiche hardware come le schede Ethernet, i controller SCSI e così
via) se non si è sicuri. Attenzione: se non si capisce il significato
delle altre opzioni non legate a un hardware specifico si dovrebbero
lasciare al valore predefinito. Non ci si deve dimenticare di selezionare
<quote>Kernel module loader</quote> in <quote>Loadable module
support</quote> (normalmente non è selezionato), altrimenti il proprio
sistema &debian; rischia di avere dei seri problemi.
</para><para>
<!--
Clean the source tree and reset the <classname>kernel-package</classname>
parameters. To do that, do <userinput>make-kpkg clean</userinput>.
-->
Ripulire i sorgenti e ripristinare i parametri di
<classname>kernel-package</classname> usando <userinput>make-kpkg
clean</userinput>.
</para><para>
<!--
Now, compile the kernel:
<userinput>fakeroot make-kpkg -initrd -revision=custom.1.0 kernel_image</userinput>.
The version number of <quote>1.0</quote> can be changed at will; this is just
a version number that you will use to track your kernel builds.
Likewise, you can put any word you like in place of <quote>custom</quote>
(e.g., a host name). Kernel compilation may take quite a while, depending on
the power of your machine.
-->
Adesso compilare il kernel con: <userinput>fakeroot make-kpkg --initrd
--revision=custom.1.0 kernel_image</userinput>. Il numero di versione
<quote>1.0</quote> può essere cambiato secondo le necessità;
questo è semplicemente il numero di versione che si può usare per
tener traccia delle compilazioni del kernel. Allo stesso modo si può
inserire qualsiasi parola al posto di <quote>custom</quote> (p.e. il
nome dell'host). La compilazione del kernel richiede un po' di tempo,
in base alla potenza della macchina.
</para><para>
<!--
Once the compilation is complete, you can install your custom kernel
like any package. As root, do
<userinput>dpkg -i
../&kernelpackage;-&kernelversion;-<replaceable>subarchitecture</replaceable>_custom.1.0_&architecture;.deb</userinput>.
The <replaceable>subarchitecture</replaceable> part is an optional
sub-architecture,
<phrase arch="i386"> such as <quote>686</quote>, </phrase>
depending on what kernel options you set.
<userinput>dpkg -i</userinput> will install the
kernel, along with some other nice supporting files. For instance,
the <filename>System.map</filename> will be properly installed
(helpful for debugging kernel problems), and
<filename>/boot/config-&kernelversion;</filename> will be installed,
containing your current configuration set. Your new
kernel package is also clever enough to automatically update your boot
loader to use the new kernel. If you have created a modules package,
you'll need to install that package as well.
-->
Finita la compilazione è possibile installare il proprio kernel
personalizzato come qualsiasi altro pacchetto. Da root eseguire
<userinput>dpkg -i
../&kernelpackage;-&kernelversion;-<replaceable>sottoarchitettura</replaceable>_custom.1.0_&architecture;.deb</userinput>.
La parte opzionale <replaceable>sottoarchitettura</replaceable> indica
la sottoarchitettura,
<phrase arch="i386">per esempio <quote>686</quote>, </phrase>
e dipende dalle impostazioni del kernel.
<userinput>dpkg -i</userinput> installa il kernel più
alcuni file di supporto. Per esempio sono installati i file
<filename>System.map</filename> (utile per il debug del kernel) e
<filename>/boot/config-&kernelversion;</filename> che contiene la
configurazione. Il nuovo pacchetto con il kernel è anche in grado di
aggiornare automaticamente il bootloader in modo da poter usare il nuovo
kernel. Se si è creato anche un pacchetto con i moduli allora
è necessario installare anche questo pacchetto.
</para><para>
<!--
It is time to reboot the system: read carefully any warning that the
above step may have produced, then <userinput>shutdown -r now</userinput>.
-->
Adesso si deve riavviare il sistema: leggere attentamente tutti gli
avvertimenti che potrebbero apparire durante il passo precedente e
poi eseguire <userinput>shutdown -r now</userinput>.
</para><para>
<!--
For more information on &debian; kernels and kernel compilation, see the
<ulink url="&url-kernel-handbook;">Debian Linux Kernel Handbook</ulink>.
For more information on <classname>kernel-package</classname>, read
the fine documentation in <filename>/usr/share/doc/kernel-package</filename>.
-->
Per ulteriori informazioni sui kernel &debian; e sulla
compilazione del kernel si consulti il
<ulink url="&url-kernel-handbook;">Debian Linux Kernel Handbook</ulink>.
Per ulteriori informazioni su <classname>kernel-package</classname>
si consulti l'eccellente documentazione in
<filename>/usr/share/doc/kernel-package</filename>.
</para>
</sect2>
</sect1>
|