cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

changes.rst (14287B)


      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 una
     30PC Card, per esempio, probabilmente non dovreste preoccuparvi di pcmciautils.
     31
     32====================== =================  ========================================
     33        Programma       Versione minima       Comando per verificare la versione
     34====================== =================  ========================================
     35GNU C                  4.9                gcc --version
     36Clang/LLVM (optional)  10.0.1             clang --version
     37GNU make               3.81               make --version
     38binutils               2.23               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
     52nfs-utils              1.0.5              showmount --version
     53procps                 3.2.0              ps --version
     54udev                   081                udevd --version
     55grub                   0.93               grub --version || grub-install --version
     56mcelog                 0.6                mcelog --version
     57iptables               1.4.2              iptables -V
     58openssl & libcrypto    1.0.0              openssl version
     59bc                     1.06.95            bc --version
     60Sphinx\ [#f1]_         1.7                sphinx-build --version
     61====================== =================  ========================================
     62
     63.. [#f1] Sphinx è necessario solo per produrre la documentazione del Kernel
     64
     65Compilazione del kernel
     66***********************
     67
     68GCC
     69---
     70
     71La versione necessaria di gcc potrebbe variare a seconda del tipo di CPU nel
     72vostro calcolatore.
     73
     74Clang/LLVM (opzionale)
     75----------------------
     76
     77L'ultima versione di clang e *LLVM utils* (secondo `releases.llvm.org
     78<https://releases.llvm.org>`_) sono supportati per la generazione del
     79kernel. Non garantiamo che anche i rilasci più vecchi funzionino, inoltre
     80potremmo rimuovere gli espedienti che abbiamo implementato per farli
     81funzionare. Per maggiori informazioni
     82:ref:`Building Linux with Clang/LLVM <kbuild_llvm>`.
     83
     84Make
     85----
     86
     87Per compilare il kernel vi servirà GNU make 3.81 o successivo.
     88
     89Binutils
     90--------
     91
     92Per generare il kernel è necessario avere Binutils 2.23 o superiore.
     93
     94pkg-config
     95----------
     96
     97Il sistema di compilazione, dalla versione 4.18, richiede pkg-config per
     98verificare l'esistenza degli strumenti kconfig e per determinare le
     99impostazioni da usare in 'make {g,x}config'.  Precedentemente pkg-config
    100veniva usato ma non verificato o documentato.
    101
    102Flex
    103----
    104
    105Dalla versione 4.16, il sistema di compilazione, durante l'esecuzione, genera
    106un analizzatore lessicale.  Questo richiede flex 2.5.35 o successivo.
    107
    108Bison
    109-----
    110
    111Dalla versione 4.16, il sistema di compilazione, durante l'esecuzione, genera
    112un parsificatore.  Questo richiede bison 2.0 o successivo.
    113
    114Perl
    115----
    116
    117Per compilare il kernel vi servirà perl 5 e i seguenti moduli ``Getopt::Long``,
    118``Getopt::Std``, ``File::Basename``, e ``File::Find``.
    119
    120BC
    121--
    122
    123Vi servirà bc per compilare i kernel dal 3.10 in poi.
    124
    125OpenSSL
    126-------
    127
    128Il programma OpenSSL e la libreria crypto vengono usati per la firma dei moduli
    129e la gestione dei certificati; sono usati per la creazione della chiave e
    130la generazione della firma.
    131
    132Se la firma dei moduli è abilitata, allora vi servirà openssl per compilare il
    133kernel 3.7 e successivi.  Vi serviranno anche i pacchetti di sviluppo di
    134openssl per compilare il kernel 4.3 o successivi.
    135
    136
    137Strumenti di sistema
    138********************
    139
    140Modifiche architetturali
    141------------------------
    142
    143DevFS è stato reso obsoleto da udev
    144(http://www.kernel.org/pub/linux/utils/kernel/hotplug/)
    145
    146Il supporto per UID a 32-bit è ora disponibile.  Divertitevi!
    147
    148La documentazione delle funzioni in Linux è una fase di transizione
    149verso una documentazione integrata nei sorgenti stessi usando dei commenti
    150formattati in modo speciale e posizionati vicino alle funzioni che descrivono.
    151Al fine di arricchire la documentazione, questi commenti possono essere
    152combinati con i file ReST presenti in Documentation/; questi potranno
    153poi essere convertiti in formato PostScript, HTML, LaTex, ePUB o PDF.
    154Per convertire i documenti da ReST al formato che volete, avete bisogno di
    155Sphinx.
    156
    157Util-linux
    158----------
    159
    160Le versioni più recenti di util-linux: forniscono il supporto a ``fdisk`` per
    161dischi di grandi dimensioni; supportano le nuove opzioni di mount; riconoscono
    162più tipi di partizioni; hanno un fdformat che funziona con i kernel 2.4;
    163e altre chicche.  Probabilmente vorrete aggiornarlo.
    164
    165Ksymoops
    166--------
    167
    168Se l'impensabile succede e il kernel va in oops, potrebbe servirvi lo strumento
    169ksymoops per decodificarlo, ma nella maggior parte dei casi non vi servirà.
    170Generalmente è preferibile compilare il kernel con l'opzione ``CONFIG_KALLSYMS``
    171cosicché 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
    173vostro kernel non è stato compilato con ``CONFIG_KALLSYMS`` e non avete modo di
    174ricompilarlo e riprodurre l'oops con quell'opzione abilitata, allora potete
    175usare ksymoops per decodificare l'oops.
    176
    177Mkinitrd
    178--------
    179
    180I cambiamenti della struttura in ``/lib/modules`` necessita l'aggiornamento di
    181mkinitrd.
    182
    183E2fsprogs
    184---------
    185
    186L'ultima versione di ``e2fsprogs`` corregge diversi bachi in fsck e debugfs.
    187Ovviamente, aggiornarlo è una buona idea.
    188
    189JFSutils
    190--------
    191
    192Il pacchetto ``jfsutils`` contiene programmi per il file-system JFS.
    193Sono 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
    202Reiserfsprogs
    203-------------
    204
    205Il pacchetto reiserfsprogs dovrebbe essere usato con reiserfs-3.6.x (Linux
    206kernel 2.4.x).  Questo è un pacchetto combinato che contiene versioni
    207funzionanti di ``mkreiserfs``, ``resize_reiserfs``, ``debugreiserfs`` e
    208``reiserfsck``.  Questi programmi funzionano sulle piattaforme i386 e alpha.
    209
    210Xfsprogs
    211--------
    212
    213L'ultima versione di ``xfsprogs`` contiene, fra i tanti, i programmi
    214``mkfs.xfs``, ``xfs_db`` e ``xfs_repair`` per il file-system XFS.
    215Dipendono dell'architettura e qualsiasi versione dalla 2.0.0 in poi
    216dovrebbe funzionare correttamente con la versione corrente del codice
    217XFS nel kernel (sono raccomandate le versioni 2.6.0 o successive per via
    218di importanti miglioramenti).
    219
    220PCMCIAutils
    221-----------
    222
    223PCMCIAutils sostituisce ``pcmica-cs``.  Serve ad impostare correttamente i
    224connettori PCMCIA all'avvio del sistema e a caricare i moduli necessari per
    225i dispositivi a 16-bit se il kernel è stato modularizzato e il sottosistema
    226hotplug è in uso.
    227
    228Quota-tools
    229-----------
    230
    231Il supporto per uid e gid a 32 bit richiedono l'uso della versione 2 del
    232formato quota.  La versione 3.07 e successive di quota-tools supportano
    233questo formato.  Usate la versione raccomandata nella lista qui sopra o una
    234successiva.
    235
    236Micro codice per Intel IA32
    237---------------------------
    238
    239Per poter aggiornare il micro codice per Intel IA32, è stato aggiunto un
    240apposito driver; il driver è accessibile come un normale dispositivo a
    241caratteri (misc).  Se non state usando udev probabilmente sarà necessario
    242eseguire 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
    248Probabilmente, vorrete anche il programma microcode_ctl da usare con questo
    249dispositivo.
    250
    251udev
    252----
    253
    254``udev`` è un programma in spazio utente il cui scopo è quello di popolare
    255dinamicamente la cartella ``/dev`` coi dispositivi effettivamente presenti.
    256``udev`` sostituisce le funzionalità base di devfs, consentendo comunque
    257nomi persistenti per i dispositivi.
    258
    259FUSE
    260----
    261
    262Serve libfuse 2.4.0 o successiva.  Il requisito minimo assoluto è 2.3.0 ma
    263le opzioni di mount ``direct_io`` e ``kernel_cache`` non funzioneranno.
    264
    265
    266Rete
    267****
    268
    269Cambiamenti generali
    270--------------------
    271
    272Se per quanto riguarda la configurazione di rete avete esigenze di un certo
    273livello dovreste prendere in considerazione l'uso degli strumenti in ip-route2.
    274
    275Filtro dei pacchetti / NAT
    276--------------------------
    277
    278Il codice per filtraggio dei pacchetti e il NAT fanno uso degli stessi
    279strumenti come nelle versioni del kernel antecedenti la 2.4.x (iptables).
    280Include ancora moduli di compatibilità per 2.2.x ipchains e 2.0.x ipdwadm.
    281
    282PPP
    283---
    284
    285Il driver per PPP è stato ristrutturato per supportare collegamenti multipli e
    286per funzionare su diversi livelli.  Se usate PPP, aggiornate pppd almeno alla
    287versione 2.4.0.
    288
    289Se non usate udev, dovete avere un file /dev/ppp che può essere creato da root
    290col seguente comando::
    291
    292  mknod /dev/ppp c 108 0
    293
    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
    351Clang/LLVM
    352----------
    353
    354- :ref:`Getting LLVM <getting_llvm>`.
    355
    356Make
    357----
    358
    359- <ftp://ftp.gnu.org/gnu/make/>
    360
    361Binutils
    362--------
    363
    364- <https://www.kernel.org/pub/linux/devel/binutils/>
    365
    366Flex
    367----
    368
    369- <https://github.com/westes/flex/releases>
    370
    371Bison
    372-----
    373
    374- <ftp://ftp.gnu.org/gnu/bison/>
    375
    376OpenSSL
    377-------
    378
    379- <https://www.openssl.org/>
    380
    381Strumenti di sistema
    382********************
    383
    384Util-linux
    385----------
    386
    387- <https://www.kernel.org/pub/linux/utils/util-linux/>
    388
    389Kmod
    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
    395Ksymoops
    396--------
    397
    398- <https://www.kernel.org/pub/linux/utils/kernel/ksymoops/v2.4/>
    399
    400Mkinitrd
    401--------
    402
    403- <https://code.launchpad.net/initrd-tools/main>
    404
    405E2fsprogs
    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
    411JFSutils
    412--------
    413
    414- <http://jfs.sourceforge.net/>
    415
    416Reiserfsprogs
    417-------------
    418
    419- <https://git.kernel.org/pub/scm/linux/kernel/git/jeffm/reiserfsprogs.git/>
    420
    421Xfsprogs
    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
    427Pcmciautils
    428-----------
    429
    430- <https://www.kernel.org/pub/linux/utils/kernel/pcmcia/>
    431
    432Quota-tools
    433-----------
    434
    435- <http://sourceforge.net/projects/linuxquota/>
    436
    437
    438Microcodice Intel P6
    439--------------------
    440
    441- <https://downloadcenter.intel.com/>
    442
    443udev
    444----
    445
    446- <http://www.freedesktop.org/software/systemd/man/udev.html>
    447
    448FUSE
    449----
    450
    451- <https://github.com/libfuse/libfuse/releases>
    452
    453mcelog
    454------
    455
    456- <http://www.mcelog.org/>
    457
    458Rete
    459****
    460
    461PPP
    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
    469NFS-utils
    470---------
    471
    472- <http://sourceforge.net/project/showfiles.php?group_id=14>
    473
    474Iptables
    475--------
    476
    477- <https://netfilter.org/projects/iptables/index.html>
    478
    479Ip-route2
    480---------
    481
    482- <https://www.kernel.org/pub/linux/utils/net/iproute2/>
    483
    484OProfile
    485--------
    486
    487- <http://oprofile.sf.net/download/>
    488
    489NFS-Utils
    490---------
    491
    492- <http://nfs.sourceforge.net/>
    493
    494Documentazione del kernel
    495*************************
    496
    497Sphinx
    498------
    499
    500- <http://www.sphinx-doc.org/>