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