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