Merge tag 'for-linus' of git://git.armlinux.org.uk/~rmk/linux-arm
[linux-2.6-microblaze.git] / Documentation / translations / it_IT / process / changes.rst
1 .. include:: ../disclaimer-ita.rst
2
3 :Original: :ref:`Documentation/process/changes.rst <changes>`
4 :Translator: Federico Vaga <federico.vaga@vaga.pv.it>
5
6 .. _it_changes:
7
8 Requisiti minimi per compilare il kernel
9 ++++++++++++++++++++++++++++++++++++++++
10
11 Introduzione
12 ============
13
14 Questo documento fornisce una lista dei software necessari per eseguire i
15 kernel 4.x.
16
17 Questo documento è basato sul file "Changes" del kernel 2.0.x e quindi le
18 persone che lo scrissero meritano credito (Jared Mauch, Axel Boldt,
19 Alessandro Sigala, e tanti altri nella rete).
20
21 Requisiti minimi correnti
22 *************************
23
24 Prima di pensare d'avere trovato un baco, aggiornate i seguenti programmi
25 **almeno** alla versione indicata!  Se non siete certi della versione che state
26 usando, il comando indicato dovrebbe dirvelo.
27
28 Questa lista presume che abbiate già un kernel Linux funzionante.  In aggiunta,
29 non tutti gli strumenti sono necessari ovunque; ovviamente, se non avete una
30 PC Card, per esempio, probabilmente non dovreste preoccuparvi di pcmciautils.
31
32 ====================== =================  ========================================
33         Programma       Versione minima       Comando per verificare la versione
34 ====================== =================  ========================================
35 GNU C                  4.9                gcc --version
36 Clang/LLVM (optional)  10.0.1             clang --version
37 GNU make               3.81               make --version
38 binutils               2.23               ld -v
39 flex                   2.5.35             flex --version
40 bison                  2.0                bison --version
41 util-linux             2.10o              fdformat --version
42 kmod                   13                 depmod -V
43 e2fsprogs              1.41.4             e2fsck -V
44 jfsutils               1.1.3              fsck.jfs -V
45 reiserfsprogs          3.6.3              reiserfsck -V
46 xfsprogs               2.6.0              xfs_db -V
47 squashfs-tools         4.0                mksquashfs -version
48 btrfs-progs            0.18               btrfsck
49 pcmciautils            004                pccardctl -V
50 quota-tools            3.09               quota -V
51 PPP                    2.4.0              pppd --version
52 nfs-utils              1.0.5              showmount --version
53 procps                 3.2.0              ps --version
54 udev                   081                udevd --version
55 grub                   0.93               grub --version || grub-install --version
56 mcelog                 0.6                mcelog --version
57 iptables               1.4.2              iptables -V
58 openssl & libcrypto    1.0.0              openssl version
59 bc                     1.06.95            bc --version
60 Sphinx\ [#f1]_         1.7                sphinx-build --version
61 ====================== =================  ========================================
62
63 .. [#f1] Sphinx è necessario solo per produrre la documentazione del Kernel
64
65 Compilazione del kernel
66 ***********************
67
68 GCC
69 ---
70
71 La versione necessaria di gcc potrebbe variare a seconda del tipo di CPU nel
72 vostro calcolatore.
73
74 Clang/LLVM (opzionale)
75 ----------------------
76
77 L'ultima versione di clang e *LLVM utils* (secondo `releases.llvm.org
78 <https://releases.llvm.org>`_) sono supportati per la generazione del
79 kernel. Non garantiamo che anche i rilasci più vecchi funzionino, inoltre
80 potremmo rimuovere gli espedienti che abbiamo implementato per farli
81 funzionare. Per maggiori informazioni
82 :ref:`Building Linux with Clang/LLVM <kbuild_llvm>`.
83
84 Make
85 ----
86
87 Per compilare il kernel vi servirà GNU make 3.81 o successivo.
88
89 Binutils
90 --------
91
92 Per generare il kernel è necessario avere Binutils 2.23 o superiore.
93
94 pkg-config
95 ----------
96
97 Il sistema di compilazione, dalla versione 4.18, richiede pkg-config per
98 verificare l'esistenza degli strumenti kconfig e per determinare le
99 impostazioni da usare in 'make {g,x}config'.  Precedentemente pkg-config
100 veniva usato ma non verificato o documentato.
101
102 Flex
103 ----
104
105 Dalla versione 4.16, il sistema di compilazione, durante l'esecuzione, genera
106 un analizzatore lessicale.  Questo richiede flex 2.5.35 o successivo.
107
108 Bison
109 -----
110
111 Dalla versione 4.16, il sistema di compilazione, durante l'esecuzione, genera
112 un parsificatore.  Questo richiede bison 2.0 o successivo.
113
114 Perl
115 ----
116
117 Per compilare il kernel vi servirà perl 5 e i seguenti moduli ``Getopt::Long``,
118 ``Getopt::Std``, ``File::Basename``, e ``File::Find``.
119
120 BC
121 --
122
123 Vi servirà bc per compilare i kernel dal 3.10 in poi.
124
125 OpenSSL
126 -------
127
128 Il programma OpenSSL e la libreria crypto vengono usati per la firma dei moduli
129 e la gestione dei certificati; sono usati per la creazione della chiave e
130 la generazione della firma.
131
132 Se la firma dei moduli è abilitata, allora vi servirà openssl per compilare il
133 kernel 3.7 e successivi.  Vi serviranno anche i pacchetti di sviluppo di
134 openssl per compilare il kernel 4.3 o successivi.
135
136
137 Strumenti di sistema
138 ********************
139
140 Modifiche architetturali
141 ------------------------
142
143 DevFS è stato reso obsoleto da udev
144 (http://www.kernel.org/pub/linux/utils/kernel/hotplug/)
145
146 Il supporto per UID a 32-bit è ora disponibile.  Divertitevi!
147
148 La documentazione delle funzioni in Linux è una fase di transizione
149 verso una documentazione integrata nei sorgenti stessi usando dei commenti
150 formattati in modo speciale e posizionati vicino alle funzioni che descrivono.
151 Al fine di arricchire la documentazione, questi commenti possono essere
152 combinati con i file ReST presenti in Documentation/; questi potranno
153 poi essere convertiti in formato PostScript, HTML, LaTex, ePUB o PDF.
154 Per convertire i documenti da ReST al formato che volete, avete bisogno di
155 Sphinx.
156
157 Util-linux
158 ----------
159
160 Le versioni più recenti di util-linux: forniscono il supporto a ``fdisk`` per
161 dischi di grandi dimensioni; supportano le nuove opzioni di mount; riconoscono
162 più tipi di partizioni; hanno un fdformat che funziona con i kernel 2.4;
163 e altre chicche.  Probabilmente vorrete aggiornarlo.
164
165 Ksymoops
166 --------
167
168 Se l'impensabile succede e il kernel va in oops, potrebbe servirvi lo strumento
169 ksymoops per decodificarlo, ma nella maggior parte dei casi non vi servirà.
170 Generalmente è preferibile compilare il kernel con l'opzione ``CONFIG_KALLSYMS``
171 cosicché venga prodotto un output più leggibile che può essere usato così com'è
172 (produce anche un output migliore di ksymoops).  Se per qualche motivo il
173 vostro kernel non è stato compilato con ``CONFIG_KALLSYMS`` e non avete modo di
174 ricompilarlo e riprodurre l'oops con quell'opzione abilitata, allora potete
175 usare ksymoops per decodificare l'oops.
176
177 Mkinitrd
178 --------
179
180 I cambiamenti della struttura in ``/lib/modules`` necessita l'aggiornamento di
181 mkinitrd.
182
183 E2fsprogs
184 ---------
185
186 L'ultima versione di ``e2fsprogs`` corregge diversi bachi in fsck e debugfs.
187 Ovviamente, aggiornarlo è una buona idea.
188
189 JFSutils
190 --------
191
192 Il pacchetto ``jfsutils`` contiene programmi per il file-system JFS.
193 Sono disponibili i seguenti strumenti:
194
195 - ``fsck.jfs`` - avvia la ripetizione del log delle transizioni, e verifica e
196   ripara una partizione formattata secondo JFS
197
198 - ``mkfs.jfs`` - crea una partizione formattata secondo JFS
199
200 - sono disponibili altri strumenti per il file-system.
201
202 Reiserfsprogs
203 -------------
204
205 Il pacchetto reiserfsprogs dovrebbe essere usato con reiserfs-3.6.x (Linux
206 kernel 2.4.x).  Questo è un pacchetto combinato che contiene versioni
207 funzionanti di ``mkreiserfs``, ``resize_reiserfs``, ``debugreiserfs`` e
208 ``reiserfsck``.  Questi programmi funzionano sulle piattaforme i386 e alpha.
209
210 Xfsprogs
211 --------
212
213 L'ultima versione di ``xfsprogs`` contiene, fra i tanti, i programmi
214 ``mkfs.xfs``, ``xfs_db`` e ``xfs_repair`` per il file-system XFS.
215 Dipendono dell'architettura e qualsiasi versione dalla 2.0.0 in poi
216 dovrebbe funzionare correttamente con la versione corrente del codice
217 XFS nel kernel (sono raccomandate le versioni 2.6.0 o successive per via
218 di importanti miglioramenti).
219
220 PCMCIAutils
221 -----------
222
223 PCMCIAutils sostituisce ``pcmica-cs``.  Serve ad impostare correttamente i
224 connettori PCMCIA all'avvio del sistema e a caricare i moduli necessari per
225 i dispositivi a 16-bit se il kernel è stato modularizzato e il sottosistema
226 hotplug è in uso.
227
228 Quota-tools
229 -----------
230
231 Il supporto per uid e gid a 32 bit richiedono l'uso della versione 2 del
232 formato quota.  La versione 3.07 e successive di quota-tools supportano
233 questo formato.  Usate la versione raccomandata nella lista qui sopra o una
234 successiva.
235
236 Micro codice per Intel IA32
237 ---------------------------
238
239 Per poter aggiornare il micro codice per Intel IA32, è stato aggiunto un
240 apposito driver; il driver è accessibile come un normale dispositivo a
241 caratteri (misc).  Se non state usando udev probabilmente sarà necessario
242 eseguire i seguenti comandi come root prima di poterlo aggiornare::
243
244   mkdir /dev/cpu
245   mknod /dev/cpu/microcode c 10 184
246   chmod 0644 /dev/cpu/microcode
247
248 Probabilmente, vorrete anche il programma microcode_ctl da usare con questo
249 dispositivo.
250
251 udev
252 ----
253
254 ``udev`` è un programma in spazio utente il cui scopo è quello di popolare
255 dinamicamente la cartella ``/dev`` coi dispositivi effettivamente presenti.
256 ``udev`` sostituisce le funzionalità base di devfs, consentendo comunque
257 nomi persistenti per i dispositivi.
258
259 FUSE
260 ----
261
262 Serve libfuse 2.4.0 o successiva.  Il requisito minimo assoluto è 2.3.0 ma
263 le opzioni di mount ``direct_io`` e ``kernel_cache`` non funzioneranno.
264
265
266 Rete
267 ****
268
269 Cambiamenti generali
270 --------------------
271
272 Se per quanto riguarda la configurazione di rete avete esigenze di un certo
273 livello dovreste prendere in considerazione l'uso degli strumenti in ip-route2.
274
275 Filtro dei pacchetti / NAT
276 --------------------------
277
278 Il codice per filtraggio dei pacchetti e il NAT fanno uso degli stessi
279 strumenti come nelle versioni del kernel antecedenti la 2.4.x (iptables).
280 Include ancora moduli di compatibilità per 2.2.x ipchains e 2.0.x ipdwadm.
281
282 PPP
283 ---
284
285 Il driver per PPP è stato ristrutturato per supportare collegamenti multipli e
286 per funzionare su diversi livelli.  Se usate PPP, aggiornate pppd almeno alla
287 versione 2.4.0.
288
289 Se non usate udev, dovete avere un file /dev/ppp che può essere creato da root
290 col seguente comando::
291
292   mknod /dev/ppp c 108 0
293
294
295 NFS-utils
296 ---------
297
298 Nei kernel più antichi (2.4 e precedenti), il server NFS doveva essere
299 informato sui clienti ai quali si voleva fornire accesso via NFS.  Questa
300 informazione veniva passata al kernel quando un cliente montava un file-system
301 mediante ``mountd``, oppure usando ``exportfs`` all'avvio del sistema.
302 exportfs prende le informazioni circa i clienti attivi da ``/var/lib/nfs/rmtab``.
303
304 Questo approccio è piuttosto delicato perché dipende dalla correttezza di
305 rmtab, che non è facile da garantire, in particolare quando si cerca di
306 implementare un *failover*.  Anche quando il sistema funziona bene, ``rmtab``
307 ha il problema di accumulare vecchie voci inutilizzate.
308
309 Sui kernel più recenti il kernel ha la possibilità di informare mountd quando
310 arriva una richiesta da una macchina sconosciuta, e mountd può dare al kernel
311 le informazioni corrette per l'esportazione.  Questo rimuove la dipendenza con
312 ``rmtab`` e significa che il kernel deve essere al corrente solo dei clienti
313 attivi.
314
315 Per attivare questa funzionalità, dovete eseguire il seguente comando prima di
316 usare exportfs o mountd::
317
318   mount -t nfsd nfsd /proc/fs/nfsd
319
320 Dove possibile, raccomandiamo di proteggere tutti i servizi NFS dall'accesso
321 via internet mediante un firewall.
322
323 mcelog
324 ------
325
326 Quando ``CONFIG_x86_MCE`` è attivo, il programma mcelog processa e registra
327 gli eventi *machine check*.  Gli eventi *machine check* sono errori riportati
328 dalla CPU.  Incoraggiamo l'analisi di questi errori.
329
330
331 Documentazione del kernel
332 *************************
333
334 Sphinx
335 ------
336
337 Per i dettaglio sui requisiti di Sphinx, fate riferimento a :ref:`it_sphinx_install`
338 in :ref:`Documentation/translations/it_IT/doc-guide/sphinx.rst <it_sphinxdoc>`
339
340 Ottenere software aggiornato
341 ============================
342
343 Compilazione del kernel
344 ***********************
345
346 gcc
347 ---
348
349 - <ftp://ftp.gnu.org/gnu/gcc/>
350
351 Clang/LLVM
352 ----------
353
354 - :ref:`Getting LLVM <getting_llvm>`.
355
356 Make
357 ----
358
359 - <ftp://ftp.gnu.org/gnu/make/>
360
361 Binutils
362 --------
363
364 - <https://www.kernel.org/pub/linux/devel/binutils/>
365
366 Flex
367 ----
368
369 - <https://github.com/westes/flex/releases>
370
371 Bison
372 -----
373
374 - <ftp://ftp.gnu.org/gnu/bison/>
375
376 OpenSSL
377 -------
378
379 - <https://www.openssl.org/>
380
381 Strumenti di sistema
382 ********************
383
384 Util-linux
385 ----------
386
387 - <https://www.kernel.org/pub/linux/utils/util-linux/>
388
389 Kmod
390 ----
391
392 - <https://www.kernel.org/pub/linux/utils/kernel/kmod/>
393 - <https://git.kernel.org/pub/scm/utils/kernel/kmod/kmod.git>
394
395 Ksymoops
396 --------
397
398 - <https://www.kernel.org/pub/linux/utils/kernel/ksymoops/v2.4/>
399
400 Mkinitrd
401 --------
402
403 - <https://code.launchpad.net/initrd-tools/main>
404
405 E2fsprogs
406 ---------
407
408 - <https://www.kernel.org/pub/linux/kernel/people/tytso/e2fsprogs/>
409 - <https://git.kernel.org/pub/scm/fs/ext2/e2fsprogs.git/>
410
411 JFSutils
412 --------
413
414 - <http://jfs.sourceforge.net/>
415
416 Reiserfsprogs
417 -------------
418
419 - <https://git.kernel.org/pub/scm/linux/kernel/git/jeffm/reiserfsprogs.git/>
420
421 Xfsprogs
422 --------
423
424 - <https://git.kernel.org/pub/scm/fs/xfs/xfsprogs-dev.git>
425 - <https://www.kernel.org/pub/linux/utils/fs/xfs/xfsprogs/>
426
427 Pcmciautils
428 -----------
429
430 - <https://www.kernel.org/pub/linux/utils/kernel/pcmcia/>
431
432 Quota-tools
433 -----------
434
435 - <http://sourceforge.net/projects/linuxquota/>
436
437
438 Microcodice Intel P6
439 --------------------
440
441 - <https://downloadcenter.intel.com/>
442
443 udev
444 ----
445
446 - <http://www.freedesktop.org/software/systemd/man/udev.html>
447
448 FUSE
449 ----
450
451 - <https://github.com/libfuse/libfuse/releases>
452
453 mcelog
454 ------
455
456 - <http://www.mcelog.org/>
457
458 Rete
459 ****
460
461 PPP
462 ---
463
464 - <https://download.samba.org/pub/ppp/>
465 - <https://git.ozlabs.org/?p=ppp.git>
466 - <https://github.com/paulusmack/ppp/>
467
468
469 NFS-utils
470 ---------
471
472 - <http://sourceforge.net/project/showfiles.php?group_id=14>
473
474 Iptables
475 --------
476
477 - <https://netfilter.org/projects/iptables/index.html>
478
479 Ip-route2
480 ---------
481
482 - <https://www.kernel.org/pub/linux/utils/net/iproute2/>
483
484 OProfile
485 --------
486
487 - <http://oprofile.sf.net/download/>
488
489 NFS-Utils
490 ---------
491
492 - <http://nfs.sourceforge.net/>
493
494 Documentazione del kernel
495 *************************
496
497 Sphinx
498 ------
499
500 - <http://www.sphinx-doc.org/>