Repository 32bit  Forum
Repository 64bit  Wiki

Kernel Menuconfig: differenze tra le versioni

Da Slacky.eu.
m
Riga 1: Riga 1:
[[Category:Kernel]]
 
'''WORK IN PROGRESS'''
 
 
Kernel 2.6.18
 
 
parti da completare:
 
 
* Bus options (PCI, PCMCIA, EISA, MCA, ISA)
 
* Network
 
* File Systems
 
* Device Drivers
 
* Kernel hacking
 
 
=Code maturity level options --->=
 
==Prompt for development and/or incomplete code/drivers==
 
Alcune delle varie cose che Linux supporta (come i driver di rete, i
 
file system, i protocolli di rete, ecc.) possono essere in uno stato
 
di sviluppo dove la funzionalita', stabilita', o il livello di
 
collaudo non sono ancora abbastanza elevati per uso generico. Questa
 
e' di solito la fase "alpha-test" tra gli sviluppatori. Se una
 
funzionalita' e' attualmente in alpha-test, allora lo sviluppatore
 
solitamente scoraggia l'uso allargato e non informato di questa
 
prestazione da parte del pubblico per evitare messaggi di posta del
 
tipo "Perche' questo non funziona?". Comunque, il test attivo e
 
l'uso di questi sistemi e' benvenuto. Basta semplicemente sapere che
 
si potrebbe non trovare il normale livello di affidabilita', o che
 
puo' non funzionare in alcuni casi speciali. Rapporti di bachi ben
 
dettagliati da parte di persone che hanno familiarita' con gli
 
interni del kernel sono generalmente benvenuti dagli sviluppatori
 
(prima di sottomettere bug-report si prega di leggere i documenti
 
<file:README>, <file:MAINTAINERS>, <file:REPORTING-BUGS>,
 
<file:Documentation/BUG-HUNTING>, e
 
<file:Documentation/oops-tracing.txt> nel sorgente del kernel).
 
 
Questa opzione rendera' anche disponibili driver obsoleti. Questi
 
sono driver che sono stati sostituiti da qualcos'altro, e/o ne e'
 
pianificata la rimozione dai futuri rilasci del kernel.
 
 
A meno che non si intenda aiutare nel collaudo e nello sviluppo di
 
una funzionalita' o un driver che ricade in questa categoria, o si
 
e' in una situazione che richiede l'uso di queste funzionalita', si
 
dovrebbe probabilmente scegliere N, facendo in modo che il
 
configuratore presenti meno scelte. Se si sceglie Y si avra' la
 
possibilita' di scegliere se utilizzare funzionalita' o driver che
 
sono considerate essere ancora in fase di alpha-test.
 
 
=General setup --->=
 
==Local version - append to kernel release==
 
Aggiunge una stringa extra alla fine della versione del
 
proprio kernel. Questa verra' , ad esempio, mostrata ogni
 
volta che si digita 'uname'. La stringa inserita qui sara'
 
aggiunta al contenuto di qualunque file che abbia un nome
 
corrispondente a 'localversion*' nel proprio albero di
 
oggetti e sorgenti, in quest'ordine. La stringa deve
 
essere lunga 64 caratteri al massimo.
 
==Automatically append version information to the version string==
 
Questo cerchera' di determinare automaticamente se l'attuale albero
 
dei sorgenti e' un albero di rilascio cercando dei tag di git che
 
appartengono all'attuale versione della parte alta dell'albero.
 
 
Se viene trovato un albero basato su git verra' aggiunta alla
 
versione locale una stringa nel formato -gxxxxxxxx. La stringa
 
cosi' generata sara' aggiunta ad ogni file localversion* che
 
corrisponde, e dopo il valore impostato in CONFIG_LOCALVERSION.
 
 
Nota: Questo richiede Perl e un repository git, ma non e'
 
necessario che siano installati i tool git o cogito.
 
 
==Support for paging of anonymous memory (swap)==
 
Questa opzione consente di scegliere se si vuole il supporto per
 
i cosiddetti dispositivi di swap o file di swap nel kernel che
 
vengono usati per fornire piu' memoria virtuale della RAM reale
 
presente nel computer. Nel dubbio scegliere Y.
 
 
==System V IPC==
 
Inter Process Communication (Comunicazione inter processi) e' una
 
suite di funzioni di libreria e chiamate di sistema che consentono
 
ai processi (programmi in esecuzione) di sincronizzarsi e scambiare
 
informazioni. Questa e' in genere considerata una cosa buona, e
 
alcuni programmi non funzioneranno se non si sceglie Y qui. In
 
particolare, se si vuole usare l'emulatore DOS dosemu sotto Linux
 
(leggere il DOSEMU-HOWTO disponibile su
 
http://www.tldp.org/docs.html#howto) occorrera' scegliere Y.
 
 
Potrete trovare documentazione su IPC con "info ipc" ed anche nella
 
sezione 6.4 della Linux Programmer's Guide, disponibile su
 
http://www.tldp.org/guides.html.
 
 
==POSIX Message Queues==
 
La variante POSIX delle code messaggi e' parte di IPC. Nelle code
 
messaggi POSIX ogni messaggio ha una priorita' che stabilisce la
 
sequenzialita' della sua ricezione da parte di un processo. Se si
 
vogliono compilare ed esguire programmi scritti, ad esempio, per
 
Solaris usando le sue code messaggi POSIX (funzioni mq_*)
 
scegliere Y. Per usare questa funzionalita' occorrera' inoltre la
 
libreria mqueue disponibile su
 
http://www.mat.uni.torun.pl/~wrona/posix_ipc/.
 
 
Le code messaggi POSIX sono visibili come filesystem col nome
 
'mqueue' che puo' essere montato da qualche parte se si vogliono
 
effettuare operazioni da filesystem con le code messaggi.
 
 
==BSD Process Accounting==
 
Se si sceglie Y qui, un programma a livello utente potra' chiedere
 
al kernel (attraverso una speciale chiamata di sistema) di scrivere
 
informazioni sulla contabilita' dei processi in un file: all'uscita
 
di un processo, il kernel appendera' in coda a quel file informazioni
 
su quel determinato processo. Le informazioni includeranno cose come
 
il momento della creazione, l'utente proprietario, il nome del
 
comando, l'occupazione di memoria, il terminale di controllo
 
ecc. (la lista completa sta' nella struct acct in
 
<file:include/linux/acct.h>). E' compito del programma a livello
 
utente fare cose utili con queste informazioni. Questa e'
 
generalmente una buona idea, percio' scegliete Y.
 
 
==BSD Process Accounting version 3 file format==
 
Se si sceglie Y le informazioni sulla contabilita' dei processi
 
verranno scritte in un nuovo formato di file che registra anche
 
gli ID di ogni processo e dei suoi processi genitori. Notare che
 
questo formato di file e' incompatibile con i precedenti formati
 
v0/v1/v2, quindi si avra' bisogno di strumenti aggiornati per
 
processarlo. Una versione preliminare di questi strumenti e'
 
disponibile su
 
http://www.physik3.uni-rostock.de/tim/kernel/utils/acct/.
 
==Export task/process statistics through netlink==
 
Esporta le statistiche selezionate per i task/processi attraverso
 
l'interfaccia generica netlink. A differenza della contabilita'
 
dei processi BSD le statistiche sono disponibili durante la
 
vita dei task/processi come risposte a comandi. Come per la
 
contabilita' dei processi BSD esse vengono inviate in user
 
space all'uscita del task.
 
 
Nel dubbio scegliere N.
 
==Enable per-task delay accounting==
 
Raccoglie informazioni sul tempo speso da un task in attesa di
 
risorse di sistema come cpu, completamento I/O sincrono sul
 
blocco e swapping in pagine. Queste statistiche possono aiutare
 
nell'impostazione della priorita' di un task in relazione ad
 
altri task per cpu, io, limiti rss, ecc.
 
 
Nel dubbio scegliere N.
 
 
 
 
==Auditing support==
 
Abilita l'infrastruttura di auditing che puo' essere usata con
 
un altro sottosistema kernel come SELinux (che lo richiede per
 
la registrazione dell'output dei messaggi avc). Non effettua
 
l'auditing delle chiamate di sistema senza CONFIG_AUDITSYSCALL.
 
 
==Enable system-call auditing support==
 
Abilita l'infrastruttura a basso overhead per l'auditing delle
 
chiamate di sistema che puo' essere usata indipendentemente o
 
con un altro sottosistema kernel come SELinux.
 
 
==Kernel .config support==
 
Questa opzione abilita l'integrazione nel kernel del contenuto
 
completo del file ".config" del kernel. Fornisce informazioni
 
sulle opzioni del kernel usate in un kernel in esecuzione o in un
 
kernel "su disco". Queste informazioni possono essere estratte
 
dal file immagine del kernel con lo script
 
scripts/extract-ikconfig e usate per ricompilare il kernel attuale
 
o per compilare un altro kernel.
 
Possono essere inoltre estratte da un kernel in esecuzione anche
 
leggendo /proc/config.gz se abilitato.
 
 
==Enable access to .config through /proc/config.gz==
 
Questa opzione abilita l'accesso al file di configurazione
 
del kernel attraverso /proc/config.gz.
 
==Cpuset support==
 
Questa opzione consentira' di creare e gestire CPUSET che
 
permettono di partizionare dinamicamente un sistema in set di
 
CPU e nodi di memoria, e di assegnare l'esecuzione dei task
 
solo all'interno di questi set. Questo e' utile principalmente
 
su sistemi SMP o NUMA di grandi dimensioni.
 
 
Nel dubbio scegliere N.
 
 
==Kernel->user space relay support (formerly relayfs) ==
 
Questa opzione abilita il supporto per l'interfaccia relay in
 
alcuni filesystem (come debugfs).
 
E' progettato per fornire un meccanismo efficiente a strumenti e
 
assistenti per la commutazione di grandi quantita' di dati dal
 
kernel space allo user space.
 
 
Nel dubbio scegliere N.
 
 
==Initramfs source file(s)==
 
Questo puo' essere un solo archivio cpio con suffisso .cpio o
 
una lista, separata da spazi, di directory e file per la
 
costruzione dell'immagine initramfs. Un archivio cpio dovrebbe
 
contenere l'archivio di un file system da usare come immagine
 
initramfs. Le directory dovrebbero contenere un layout di
 
file system da includere nell'immagine initramfs. I file
 
dovrebbero contenere voci nel formato descritto dal programma
 
"usr/gen_init_cpio" nell'albero del kernel.
 
 
Quando vengono specificate directory e file multipli,
 
l'immagine initramfs sara' l'aggregazione di tutti loro.
 
 
Vedere <file:Documentation/early-userspace/README> per
 
maggiori dettagli.
 
 
Se non si e' sicuri, lasciarlo vuoto.
 
 
 
 
 
 
==Optimize for size (Look out for broken compilers!)==
 
Abilitando questa opzione verra' passato a gcc "-Os" al posto
 
di "-O2", col risultato di un kernel piu' piccolo.
 
 
'''AVVERTENZA''': alcune versioni di gcc possono generare codice non
 
corretto con questa opzione. Se vengono riscontrati problemi
 
potrebbe essere necessario un aggiornamneto di gcc.
 
 
Nel dubbio scegliere N.
 
 
==Configure standard kernel features (for small systems) --->==
 
Questa opzione fa in modo che alcune opzioni di base del kernel
 
vengano disabilitate o aggiustate. Questo e' per ambienti
 
specializzati che possono tollerare un kernel "non-standard".
 
Usarla solo se si sa realmente cosa si sta facendo.
 
===Enable 16-bit UID system calls===
 
Questo abilita i vecchi wrapper per le chiamate di sistema
 
con UID a 16-bit.
 
===Sysctl support===
 
L'interfaccia sysctl fornisce l'opportunita' di cambiare
 
dinamicamente certi parametri e variabili del kernel al volo senza
 
la necessita' di ricompilare il kernel o riavviare il
 
sistema. L'interfaccia primaria consiste di una chiamata di sistema,
 
ma se si sceglie Y in "Supporto al file system /proc", un albero di
 
entry verra' generato a partire dalla directory /proc/sys. Queste
 
sono spiegate nei file in <file:Documentation/sysctl/>. Notare che
 
l'attivazione di questa opzione accrescera' il kernel di almeno 8 KB.
 
 
Poiche' e' generalmente una cosa buona si dovrebbe scegliere Y qui,
 
a meno che non si stia compilando un kernel per dischi di
 
installazione/recupero o si abbia un sistema molto limitato come
 
memoria.
 
 
===Load all symbols for debugging/kksymoops===
 
Scegliere Y per fare in modo che il kernel stampi informazioni sui
 
crash simbolici e backtrace sullo stack simbolico. Questo aumenta
 
la dimensione del kernel di un po', poiche' tutti i simboli devono
 
essere caricati nell'immagine del kernel.
 
===Do an extra kallsyms pass===
 
Se kallsyms non funziona correttamente la compilazione fallira' con
 
dati kallsyms inconsistenti. Se questo accade, registrare un
 
rapporto di bug e attivare KALLSYMS_EXTRA_PASS, che dovrebbe portare
 
a una compilazione stabile. Scegliere sempre N a meno che si trovi
 
un baco in kallsyms, il quale deve essere riportato.
 
KALLSYMS_EXTRA_PASS e' solo uno stratagemma provvisorio mentre si
 
aspetta che venga corretto kallsyms.
 
===Support for hot-pluggable devices===
 
Questa opzione viene fornita per i casi in cui si desiderano
 
funzionalita' hotplug o uevent nel kernel. Si dovrebbe
 
considerarne la disattivazione solo in sistemi embedded che
 
non usano moduli, un albero /dev dinamico, o rilevamento
 
dinamico dei dispositivi. Scegliete Y.
 
===Enable support for printk===
 
Questa opzione abilita il normale supporto per printk. La sua
 
rimozione elimina la maggior parte delle stringhe di messaggio
 
del kernel e rende il kernel piu' o meno silenzioso. Poiche'
 
questo rende molto difficile la diagnosi dei problemi al
 
sistema, la scelta N e' fortemente scoraggiata.
 
===BUG() support===
 
La disabilitazione di questa opzione elimina il supporto per i
 
messaggi BUG e WARN, riducendo la dimensione dell'immagine del
 
kernel e potenzialmente facendogli tranquillamente ignorare
 
diverse condizioni fatali. Si dovrebbe considerarne la
 
disabilitazione solo in caso di sistemi embedded privi di
 
facilita' per i rapporti di errore.
 
Semplicemente, scegliere Y.
 
===Enable ELF core dumps===
 
Abilita il supporto per la generazione di dump del core.
 
Disabilitandola si risparmiano circa 4k.
 
===Enable full-sized data structures for core===
 
La disabilitazione di questa opzione riduce la dimensione
 
delle strutture dati del kernel nel core. Questo permette
 
di risparmiare memoria su macchine piccole, ma puo'
 
ridurre le prestazioni.
 
===Enable futex support===
 
Disabilitando questa opzione il kernel verra' compilato senza il
 
supporto per i mutex veloci in userspace (futex). Il kernel
 
risultante potrebbe non eseguire correttamente le applicazioni
 
basate su glibc.
 
===Enable eventpoll support===
 
Disabilitando questa opzione il kernel verra' compilato senza il
 
supporto per le chiamate di sistema della famiglia epoll.
 
===Use full shmem filesystem===
 
shmem e' un filesystem interno usato per gestire la memoria
 
condivisa. E' salvato in swap e gestisce limiti delle risorse.
 
Viene inoltre esportato in userspace come tmpfs se viene
 
abilitato TMPFS. Disabilitando questa opzione si sostituiscono
 
shmem e tmpfs con il piu' semplice codice ramfs, che puo'
 
essere piu' appropriato in piccoli sistemi senza swap.
 
===Use full SLAB allocator===
 
Disabilitando questa opzione l'allocatore avanzato SLAB e
 
il supporto a kmalloc verra' sostituito da un allocatore
 
SLOB drasticamente puiu' semplice. SLOB e' piu' efficiente
 
in spazio ma non scala bene ed e' piu' suscettibile alla
 
frammentazione.
 
===Enable VM event counters for /proc/vmstat===
 
I contatori degli eventi VM servono solo per mostrare conteggi
 
per evento. Non hanno alcuna funzione per il kernel stesso.
 
Questa opzione consente la disabilitazione dei contatori
 
degli eventi VM. /proc/vmstat mostrera' solo il conto delle
 
pagine.
 
 
=Loadable module support --->=
 
==Enable loadable module support==
 
I moduli del kernel sono piccoli pezzi di codice compilato che
 
possono essere inseriti e rimossi dal kernel in esecuzione
 
piuttosto che essere permanentemente compilati dentro il
 
kernel. Si usa il tool "modprobe" per aggiungerli (e a volte
 
rimuoverli). Se si sceglie Y molte parti del kernel possono
 
essere compilate come moduli (scegliendo M al posto di Y ove
 
indicato): questo e' utile principalmente per opzioni usate
 
di rado che non vengono richieste per l'avvio. Per maggiori
 
informazioni vedere le pagine man di modprobe, lsmod, modinfo,
 
insmod e rmmod.
 
 
Se si sceglie Y occorrera' eseguire "make modules_install" per
 
metter i moduli in /lib/modules/ dove modprobe possa trovarli
 
(occorrera' essere root per farlo).
 
 
Nel dubbio scegliere Y.
 
 
==Module unloading==
 
Senza questa opzione non sara' possibile scaricare nessun
 
modulo (notare che alcuni moduli possono comunque essere non
 
scaricabili), il che rendera' il kernel leggermente piu'
 
piccolo e semplice. Nel dubbio scegliere Y.
 
 
==Forced module unloading==
 
Questa opzione permette di forzare lo scaricamento di un modulo
 
anche quando il kernel crede che non sia sicuro: il kernel
 
rimuovera' il modulo senza aspettare che qualcuno smetta di usarlo
 
(usando l'opzione -f di rmmod). Questo e' principalmente per gli
 
sviluppatori del kernel e gli utenti disperati.
 
 
Nel dubbio scegliere N.
 
 
==Module versioning support==
 
Di solito occorre usare moduli compilati per il proprio kernel.
 
Scegliendo Y risultera' a volte possibile usare moduli
 
compilati per kernel diversi, aggiungendo sufficienti
 
informazioni ai moduli per (si spera) evidenziare ogni
 
cambiamento che li renderebbe incompatibili col kernel che
 
si sta eseguendo.
 
 
Nel dubbio scegliere N.
 
 
==Source checksum for all modules==
 
I moduli che contengono un MODULE_VERSION ottengono un campo
 
"srcversion" extra inserito nella loro sezione di modinfo, che
 
contiene una somma dei file sorgente che li hanno fatti. Questo
 
aiuta i mantainer a vedere esattamente quale sorgente e' stato
 
usato per compilare un modulo (visto che a volte altri cambiano
 
i sorgenti del modulo senza aggiornare la versione). Con questa
 
opzione verra' creato un campo "srcversion" del genere per tutti
 
i moduli. Nel dubbio scegliere N.
 
 
==Automatic kernel module loading==
 
Normalmente quando si sono selezionati alcune parti del kernel
 
per essere creati come moduli si ha anche l'onere di caricarli
 
(usando il comando "modprobe") prima di poterli usare. Se si
 
sceglie Y qui alcune parti del kernel saranno capaci di
 
caricare i moduli automaticamente: quando una parte del kernel
 
ha bisogno di un modulo viene eseguito modprobe con gli
 
argomenti appropriati, caricando quindi il modulo se
 
disponibile. Nel dubbio scegliere Y.
 
 
=Block layer --->=
 
==Support for Large Block Devices==
 
Scegliere Y se si vuole connettere grandi dischi (piu' grandi di
 
2TB) alla macchina, o se si vuole avere un dispositivo raid o
 
loopback piu' grande di 2TB. Altrimenti scegliere N.
 
==Support for tracing block io actions==
 
Scegliere Y se si vuole poter tracciare le azioni del layer a blocchi
 
su una data coda. Il tracciamento consente di vedere il traffico in
 
transito sulla coda di un dispositivo a blocchi. Per maggiori
 
informazioni (e i necessari tool di supporto in userspace) scaricare
 
l'applicazione blktrace da:
 
 
git://brick.kernel.dk/data/git/blktrace.git
 
==Support for Large Single Files==
 
Scegliere Y se si vuole essere in grado di gestire file molto grandi
 
(oltre 2TB), altrimenti scegliere N.
 
 
Nel dubbio, scegliere Y.
 
==IO Schedulers --->==
 
===Anticipatory I/O scheduler===
 
Lo scheduler di I/O 'anticipatory' e' lo scheduler predefinito dei
 
dischi. E' generalmente una buona scelta per la maggior parte degli
 
ambienti, ma e' piuttosto grande e complesso in confronto allo
 
scheduler di I/O 'deadline'. Puo' inoltre essere piu' lento in alcuni
 
casi, specialmente in alcuni caricamenti di database.
 
===Deadline I/O scheduler===
 
Lo scheduler di I/O 'deadline' e' semplice e compatto, e spesso e'
 
almeno buono quanto lo scheduler di I/O 'anticipatory', e anche
 
migliore in alcuni caricamenti di database. Nel caso in cui un solo
 
processo faccia I/O su disco in un dato momento, il suo comportamento
 
e' pressoche' identico a quello dello scheduler di I/O 'anticipatory',
 
ed e' quindi una buona scelta.
 
===CFQ I/O scheduler===
 
Lo scheduler di I/O 'CFQ' cerca di distribuire uniformemente
 
la banda tra tutti i processi nel sistema. Dovrebbe fornire
 
un ambiente ben funzionante, adatto ai sistemi desktop.
 
===Default I/O scheduler (CFQ)===
 
* ( ) Anticipatory
 
* ( ) Deadline
 
* (X) CFQ
 
* ( ) No-op
 
 
=Processor type and features --->=
 
==Symmetric multi-processing support==
 
Questo abilita il supporto per i sistemi con piu' di una CPU. Se si
 
ha un sistema con una sola CPU, come la maggior parte dei personal
 
computer, scegliere N. Se si ha un sistema con piu' di una CPU,
 
scegliere Y.
 
 
Se si sceglie N il kernel girera' sia su macchine uniprocessore che
 
multiprocessore, ma usera' una sola CPU sulle multiprocessore. Se si
 
sceglie Y il kernel girera' su molte, ma non tutte, macchine
 
uniprocessore. Su una macchina uniprocessore il kernel girera' piu'
 
veloce se si sceglie N.
 
 
Notare che se si sceglie Y e si sceglie l'architettura "586" o
 
"Pentium" in "Famiglia del processore", il kernel non funzionera' su
 
architetture 486. Similarmente, i kernel multiprocessore per
 
architettura "PPro" possono non funzionare su tutte le schede basate
 
su Pentium.
 
 
La gente che usa macchine multiprocessore e sceglie Y qui, dovrebbe
 
scegliere Y anche in "Supporto avanzato per Real Time Clock" piu'
 
avanti. Il codice "Gestione risparmio energetico avanzata" verra'
 
disabilitato se si sceglie Y qui.
 
 
Vedere anche <file:Documentation/smp.txt>,
 
<file:Documentation/i386/IO-APIC.txt>,
 
<file:Documentation/nmi_watchdog.txt>
 
e l'SMP-HOWTO disponibile su
 
http://www.tldp.org/docs.html#howto.
 
 
Se non si sa cosa fare, scegliere N.
 
 
==Subarchitecture Type () --->==
 
===PC-compatible===
 
Scegliere questa opzione se il computer e' un PC standard o compatibile.
 
===AMD Elan===
 
Selezionare questa per un processore AMD Elan.
 
 
Non usare questa opzione per processori K6/Athlon/Opteron!
 
 
nel dubbio scegliere invece "Compatibile PC"
 
===Voyager (NCR)===
 
Voyager e' un'architettura SMP capace di 32 vie basata su MCA
 
proprieta' di NCR Corp. Le macchine di classe 345x/35xx/4100/51xx
 
sono basate su Voyager.
 
 
 
AVVERTENZA
 
 
Se non si sa di avere specificamente una macchina basata su
 
Voyager scegliere N, altrimenti il kernel che si compilera'
 
non sara' avviabile.
 
 
===NUMAQ (IBM/Sequent)===
 
Questa opzione e' usata per far girare Linux su un (IBM/Sequent) NUMA
 
multiquad. Questo cambia ilmodo in cui il processore fa il bootstrap,
 
ed usa modalita' di indirizzamento APIC Clustered Logical invece che
 
Flat Logical. Servira' un nuovo file lynxer.elf con cui aggiornare il
 
firmware - inviate una email a <Martin.Bligh@us.ibm.com>.
 
===Summit/EXA (IBM x440)===
 
Questa opzione e' necessaria per i sistemi IBM che usano il chipset
 
Summit/EXA. In particolare e' necessaria per il x440.
 
 
Se non si ha uno di questi computer si dovrebbe scegliere N.
 
Se si vuole compilare un kernel NUMA occorre selezionare l'ACPI.
 
===Support for other sub-arch SMP systems with more than 8 CPUs===
 
Questa opzione e' necessaria per i sistemi che hanno piu' di 8
 
CPU, e che non appartengono a nessuna delle sottoarchitetture
 
qui sopra.
 
 
Se non si ha uno di questi sistemi si dovrebbe scegliere N.
 
 
===SGI 320/540 (Visual Workstation)===
 
SGI Visual Workstation e' una serie di workstation IA32 basate su
 
chip SGI systems con dell'hardware di tipo PC.
 
 
Scegliere Y per creare un kernel che giri su SGI 320 o 540.
 
 
Un kernel compilato per le Visual Workstation non girera' su altre
 
schede PC e viceversa. Vedere <file:Documentation/sgi-visws.txt>
 
per dettagli.
 
===Generic architecture (Summit, bigsmp, ES7000, default)===
 
Questa opzione compila le subarchitetture Summit, bigsmp, ES7000,
 
predefinita.
 
E' intesa per un kernel binario generico.
 
Se si vuole un kernel NUMA occorre selezionare l'ACPI. Abbiamo
 
bisogno di SRAT per NUMA.
 
===Support for Unisys ES7000 IA32 serie===
 
Supporto per i sistemi Unisys ES7000. Scegliere Y se si prevede di
 
utilizzare questo kernel su un sistema Unisys ES7000 basato su
 
IA32.
 
Scegliere questa opzione solo se si ha un sistema di questo tipo,
 
altrimenti si dovrebbe scegliere N.
 
 
==Processor family () --->==
 
===386===
 
Questo e' il tipo di processore della vostra CPU. Questa
 
informazione e' usata per scopi di ottimizzazione. Per compilare un
 
kernel in grado di girare su tutti i tipi di CPU x86 (sebbene non
 
ottimamente veloce) si puo' specificare "386" qui.
 
 
Non e' detto che il kernel possa girare su architetture precedenti a
 
quella che si e' scelta, ad esempio un kernel ottimizzato per un
 
Pentium girera' su un PPro ma non necessariamente su un i486.
 
===486===
 
Selezionare questa per processori x486, sia Intel che uno dei
 
processori compatibili di AMD, Cyrix, IBM, o Intel. Include DX, DX2
 
e le varianti di DX4; inoltre SL/SLC/SLC2/SLC3/SX/SX2 e UMC U5D o
 
U5S.
 
===586/K5/5x86/6x86/6x86MX===
 
Selezionare questa per processori x586 o x686 come l'AMD K5, i Cyrix
 
5x86 o 6x86 e 6x86MX. Questa scelta non prevede l'istruzione RDTSC
 
(Read Time Stamp Counter).
 
===Pentium-Classic===
 
Selezionare questa per processori Pentium Classic con l'istruzione
 
RDTSC (Read Time Stamp Counter) per il benchmarking.
 
===Pentium-MMX===
 
Selezionare questa per un Pentium con le istruzzioni estese MMX grafica/multimedia.
 
===Pentium-Pro===
 
Selezionare questa per i chip Pentium Pro Intel. Questo abilita
 
l'uso delle istruzioni estese del Pentium Pro e disabilita il
 
controllo all'avvio contro il baco f00f dei Pentium precedenti.
 
===Pentium-II/Celeron(pre-Coppermine)===
 
Selezionare questa per i chip Intel basati sui core Pentium-II
 
e Celeron pre-Coppermine. Questa opzione abilita una
 
ottimizzazione per copia non allineata, compila il kernel con
 
specifici flag di ottimizzazione, e applica ogni ottimizzazione
 
Pentium Pro applicabile.
 
===Pentium-III/Celeron(Coppermine)/Pentium-III Xeon===
 
Selezionare questa per i chip Intel basati sui core Pentium-III
 
e Celeron-Coppermine. Questa opzione abilita l'uso di alcune
 
istruzioni di prefetch estese in aggiunta alle estensioni per
 
Pentium II.
 
===Pentium M===
 
Selezionare questa per i chip per notebook Pentium M (non Pentium-4 M) di Intel.
 
===Pentium-4/Celeron(P4-based)/Pentium-4 M/Xeon===
 
Selezionare questa per i chip Pentium 4 di Intel. Questo
 
comprende i chip Pentium 4, Celeron e Xeon basati su P4, e
 
Pentium-4 M (non Pentium M). Questa opzione abilita flag di
 
compilazione ottimizzate per il chip, usa il cache shift
 
corretto, e applica ogni ottimizzazione Pentium III
 
applicabile.
 
===K6/K6-II/K6-III===
 
Selezionare questa per un processore della famiglia AMD K6.
 
Abilita l'uso di alcune istruzioni estese, e passa flag di
 
ottimizzazione appropriate a GCC.
 
===Athlon/Duron/K7===
 
Selezionare questa per un processore della famiglia AMD Athlon K7.
 
Abilita l'uso di alcune istruzioni estese, e passa flag di
 
ottimizzazione appropriate a GCC.
 
===Opteron/Athlon64/Hammer/K8===
 
Selezionare questa per un processore della famiglia AMD Opteron o
 
Athlon64 Hammer. Abilita l'uso di alcune istruzioni estese, e
 
passa flag di ottimizzazione appropriate a GCC.
 
===Crusoe===
 
Selezionare questa per un processore Transmeta Crusoe. Tratta il
 
processore come un 586 con TSC, e imposta alcune flag di
 
ottimizzazione per GCC (come un Pentium Pro senza richieste di
 
allineamento.
 
===Efficeon===
 
Selezionare questo per un processore Transmeta Efficeon.
 
===Winchip-C6===
 
Selezionare questa per un chip IDT Winchip C6. Linux e GCC
 
trattano questo chip come un 586TSC con alcune istruzioni
 
estese e richieste di allineamento.
 
===Winchip-2===
 
Selezionare questa per un IDT Winchip-2. Linux e GCC trattano
 
questo chip come un 586TSC con alcune istruzioni estese e
 
richieste di allineamento.
 
===Winchip-2A/Winchip-3===
 
Selezionare questa per un IDT Winchip-2A o 3. Linux e GCC
 
trattano questo chip come un 586TSC con alcune istruzioni
 
estese e richieste di allineamento. inoltre abilita
 
immagazzinamenti di memoria fuori servizio per questa CPU,
 
il che puo' aumentare le prestazioni per alcune operazioni.
 
===GeodeGX1===
 
Selezionare questo per un chip Geode GX1 (Cyrix MediaGX).
 
===Geode GX/LX===
 
Selezionare questa opzione per i processori AMD Geode GX e LX.
 
===CyrixIII/VIA-C3===
 
Selezionare questa per un chip Cyrix III o C3. Linux e GCC
 
trattano questo chip come un 586 generico. Sebbene la CPU sia di
 
classe 686, e' priva della estensione cmov che gcc presume
 
presente quando genera codice 686.
 
Notare che Nehemiah (Modello 9) e superiori non si avvieranno con
 
questo kernel a causa della loro mancanza di istruzioni 3DNow!
 
usate nelle prime incarnazioni della CPU.
 
===VIA C3-2 (Nehemiah)===
 
Selezionare questa per un VIA C3 "Nehemiah". La selezione di
 
questa opzione abilita l'uso di SSE e dice a gcc di trattare la
 
CPU come 686. Notare che questo kernel non si avviera' sui vecchi
 
C3 (pre modello 9).
 
 
==Generic x86 support==
 
Invece di includere ottimizzazioni per la variante x86
 
selezionata (ad esempio PII, Crusoe or Athlon), include
 
alcune ottimizzazioni piu' generiche. Questo rendera' il
 
kernel piu' performante sulle CPU x86 diverse da quella
 
selezionata.
 
 
Questo e' indicato per i distributori che hanno bisogno
 
di ottimizzazioni piu' generiche.
 
 
==HPET Timer Support==
 
Questo abilita l'uso dell'HPET per i timer interni del kernel.
 
HPET e' la nuova generazione di timer che sostituisce i vecchi
 
8254. Si puo' scegliere Y in tutta sicurezza. HPET verra'
 
comunque attivato solo se la piattaforma e il BIOS supportano
 
questa funzionalita'. In caso contrario verra' usato l'8254 per
 
i servizi di temporizzazione.
 
 
Scegliere N per continuare ad usare il vecchi timer 8254.
 
 
==Maximum number of CPUs (2-255)==
 
Questo permette di specificare il numero massimo di CPU che
 
questo kernel supportera'. Il valore massimo supportato e' 255 e
 
il valore minimo che ha senso e' 2.
 
 
Questo serve puramente per risparmiare memoria - ogni CPU
 
supportata aggiunge approssimativamente otto kilobyte alla
 
immagine del kernel.
 
 
==SMT (Hyperthreading) scheduler support==
 
Il supporto per scheduler SMT facilita le decisioni dello scheduler
 
della CPU quando ha a che fare con chip Intel Pentium 4 con
 
HyperThreading, al costo di un leggero incremento dell'overhead in
 
alcune circostanze. Nel dubbio scegliere N.
 
 
==Multi-core scheduler support==
 
Lo scheduler multi-core aiuta lo scheduler della CPU nel prendere
 
decisioni quando ha a che fare con CPU multi-core al costo di
 
un overhead leggermente maggiore in alcuni casi. Nel dubbio
 
scegliere N.
 
 
==Preemption Model () --->==
 
===No Forced Preemption (Server)===
 
Questo e' il modello di preemption tradizionale di Linux,
 
ideato in rispetto del throughput. Fornira' una buona latenza
 
nella maggior parte dei casi, ma non vi sono garanzie e
 
lunghi ritardi possono occasionalmente avvenire.
 
 
Selezionare questa opzione se si sta compilando un kernel
 
per un server o un sistema scientifico o di calcolo, o
 
se si vuole massimizzare la potenza di calcolo grezza del
 
kernel a dispetto delle latenze nello scheduling.
 
===Voluntary Kernel Preemption (Desktop)===
 
Questa opzione riduce la latenza del kernel aggiungendo piu' punti
 
di "preemption esplicita" al codice del kernel. Questi nuovi punti
 
di preemption sono stati selezionati per ridurre la massima latenza
 
del rischedulamento, causando reazioni piu' veloci delle applicazioni
 
al costo di un throughput leggermente piu' basso.
 
 
Questo consente reazioni ad eventi interattivi permettendo ad un
 
processo a bassa priorita' di pre-svuotarsi volontariamente anche se
 
sta eseguendo una chiamata in kernel mode.
 
Questo consente alle applicazioni di girare piu' 'dolcemente' anche
 
quando il sistema e' sotto carico.
 
 
Selezionare questo se si sta compilando un kernel per un sistema
 
desktop.
 
===Preemptible Kernel (Low-Latency Desktop)===
 
Questa opzione riduce la latenza del kernel rendendo preemptible
 
tutto il codice del kernel (non in esecuzione in una sezione
 
critica). Questo consente la reazione a eventi interattivi
 
permettendo ad un processo a bassa priorita' di venire pre-svuotato
 
involontariamente anche se sta eseguendo una chiamata di sistema
 
in kernel mode, non potendo altrimenti raggiungere un punto di
 
preemption naturale. Questo permette alle applicazioni di girare
 
piu' 'dolcemente' anche quando il sistema e' sotto carico, al costo
 
di un throughput un po' piu' basso ed un leggero overhead al
 
codice del kernel.
 
 
Selezionare questo se si sta compilando un kernel per un sistema
 
desktop o embedded con richieste di latenza dell'ordine dei
 
millisecondi.
 
 
==Preempt The Big Kernel Lock==
 
Questa opzione riduce la latenza del kernel rendendo preemptible
 
il big kernel lock preemptible.
 
 
Scegliere Y se si sta compilando un kernel per un sistema desktop.
 
Nel dubbio scegliere N.
 
 
==Machine Check Exception==
 
Il supporto Machine Check Exception permette al processore di
 
notificare al kernel che ha rilevato un problema (ad esempio un
 
surriscaldamento o il guasto di un componente). L'azione intrapresa
 
dal kernel dipende dalla gravita' del problema, andando dal
 
messaggio di avvertimento sulla console all'arresto della
 
macchina. il processore deve essere un Pentium o successivo per
 
supportarlo - controllare i flag mce in /proc/cpuinfo. Notare che
 
alcuni vecchi sistemi Pentium hanno un design che porta a falsi
 
eventi MCE - di conseguenza MCE e' disabilitato su tutti i
 
processori P5, a meno che non si abiliti esplicitamente con "mce"
 
come opzione di avvio. In modo simile, se MCE e' integrato e crea
 
problemi su alcune nuove macchine non-standard, si puo' avviare con
 
"nomce" per disabilitarlo. Il supporto MCE semplicemente ignora i
 
processori non-mce come i 386 e 486, quindi chiunque puo' scegliere
 
Y qui.
 
 
==Check for non-fatal errors on AMD Athlon/Duron / Intel Pentium 4==
 
L'abilitazione di questa funzionalita' fa partire un timer che controllera'
 
ogni 5 secondi i registri di controllo della macchina per vedere se e'
 
successo qualcosa. I problemi non-fatali vengono automaticamente corretti
 
(ma comunque registrati). Disabilitarlo se non si vogliono vedere questi
 
messaggi.
 
Il vedere i messaggi stampati da questa opzionbe puo' essere indicativo di
 
hardware in procinto di guastarsi, o di hardware fuori specifiche (quindi
 
overcloccato).
 
Questa opzione serve a qualcosa solo su alcune CPU (AMD Athlon/Duron e
 
Intel Pentium 4).
 
 
==check for P4 thermal throttling interrupt.==
 
Abilitando questa funzionalita' si fara' in modo che venga stampato
 
un messaggio al superamento del limite termico su P4.
 
 
==Enable VM86 support==
 
Questa opzione e' richiesta da programmi come DOSEMU per eseguire
 
vecchio codice a 16-bit su processori X86. Puo' essere necessaria
 
anche per software come XFree86 per l'inizializzazione di alcune
 
schede video tramite BIOS. Disabilitando questa opzione si
 
risparmiano circa 6k.
 
 
==Toshiba Laptop support==
 
Questo aggiunge un driver per accedere in sicurezza alla modalita'
 
di gestione del sistema (System Management Mode) della CPU sui
 
portatili Toshiba con BIOS Toshiba originale. Questo non funziona
 
sui modelli con BIOS Phoenix. La modalita' di gestione del sistema
 
e' usata per impostare il BIOS e le opzioni di risparmio energetico
 
sui portatili Toshiba.
 
 
Per informazioni sulle utilita' per usare questo driver veder il
 
sito web delle utilita' Toshiba per Linux su:
 
http://www.buzzard.org.uk/toshiba/.
 
 
Scegliere Y se si intende usare questo kernel su un portatile
 
Toshiba. Scegliere N altrimenti.
 
 
==Dell laptop support==
 
Questo aggiunge un driver per l'accesso sicuro della modalita' di
 
gestione del sistema (System Management Mode) della CPU sui
 
portatili Dell Inspiron e Latitude. Lmodalita' di gestione del
 
sistema viene usata per leggere la temperatura della CPU, lo stato
 
della ventola di raffreddamento e lo stato dei tasti Fn sui
 
portatili Dell. Puo' anche essere usata per comandare la ventola.
 
 
Questo driver e' stato sviluppato e testato su un Inspiron 8000 ma
 
dovrebbe funzionare su ogni portatile Dell Inspiron o Latitude. Si
 
puo' forzarne il caricamento sui modelli non supportati passando il
 
parametro `force=1' al modulo. Usare a proprio rischio.
 
 
Per maggiori informazioni su questo driver, e per utilita' per l'uso
 
del modulo, vedere il sito web delle utilita' I8K per Linux su:
 
http://www.debian.org/~dz/i8k/.
 
 
Scegliere Y se si intende usare questo kernel su un portatile
 
Dell. Scegliere N altrimenti.
 
 
==Enable X86 board specific fixups for reboot==
 
Questo abilita l'esecuzione di aggiustamenti specifici del chipset
 
e/o scheda perche' il riavvio funzioni correttamente. Questo e'
 
necessario solo su alcune combinazioni di hardware e BIOS. Il
 
sintomo, per il quale e' intesa questa opzione, e' che il riavvio
 
finisce con il sistema in fase di stallo.
 
 
Al momento la sola correzione e' per la combinazione Geode
 
GX1/CS5530A/TROM2.1.
 
 
Scegliere Y se si vuole abilitare la correzione. E' attualmente
 
sicuro abilitare questa opzione anche se non se ne ha bisogno.
 
Altrimenti scegliere N.
 
 
==/dev/cpu/microcode - Intel IA32 CPU microcode support==
 
Se si sceglie Y qui e anche in "Supporto al file system /dev" nella
 
sezione 'File systems', si avra' la possibilita' di aggiornare il
 
microcode sui processori Intel della famiglia IA32, cioe' Pentium
 
Pro, Pentium II, Pentium III, Pentium 4, Xeon ecc. Si avra'
 
ovviamente bisogno degli attuali binari microcode che non vengono
 
forniti con il kernel Linux.
 
 
Per ultime notizie e informazioni su dove ottenere gli ingredienti
 
richiesti per questo driver controllare:
 
http://www.urbanmyth.org/microcode/.
 
 
Per compilare questo driver come modulo scegliere M: il modulo si
 
chiamera' microcode.
 
==/dev/cpu/*/msr - Model-specific register support==
 
Questo dispositivo da ai processi privilegiati l'accesso agli MSR
 
(Model-specific register = Registri specifici del modello). E' un
 
dispositivo a caratteri con major 202 e minor da 0 a 31 per
 
/dev/cpu/0/msr fino a /dev/cpu/31/msr. Gli accessi MSR sono diretti
 
ad una specifica CPU nei sistemi multi processore.
 
 
==/dev/cpu/*/cpuid - CPU information support==
 
Questo dispositivo da ai processi l'accesso alle istruzioni x86
 
CPUID da eseguire su uno specifico processore. Questo e' un
 
dispositivo a caratteri con major 203 e minor da 0 a 31 per
 
/dev/cpu/0/cpuid fino a /dev/cpu/31/cpuid.
 
 
==Firmware Drivers --->==
 
===BIOS Enhanced Disk Drive calls determine boot disk===
 
Scegliere Y o M se si vuole fare in modo che la determinazione del
 
disco dal quale il BIOS cerca di effettuare l'avvio sia fatta tramite
 
le chiamate del BIOS in modalita' reale ai servizi EDD (Enhanced Disk
 
Drive = unita' disco avanzata) del BIOS. Questa informazione viene
 
in seguito esportata attraverso sysfs.
 
 
Questa opzione e' sperimentale e nota per non essere in grado di
 
effettuare l'avvio in alcune oscure configurazioni. La maggior parte
 
dei produttori di BIOS dei controller per disco non implementano
 
ancora questa funzionalita'.
 
===EFI Variable Support via sysfs===
 
Se si sceglie Y si potranno ottenere informazioni sulle variabili
 
EFI (Extensible Firmware Interface = interfaccia estensibile del
 
firmware) attraverso sysfs. Si possono leggere, scrivere, e
 
distruggere variabili EFI attraverso questa interfaccia.
 
 
Notare che l'uso di questo driver congiuntamente ad efibootmgr
 
richiede almeno la versione di test 0.5.0-test3 o successiva,
 
che e' disponibile dal sito web di Matt Domsch all'indirizzo:
 
http://linux.dell.com/efibootmgr/testing/efibootmgr-0.5.0-test3.tar.gz
 
 
Successivi rilasci di efibootmgr si possono trovare su:
 
http://linux.dell.com/efibootmgr
 
===BIOS update support for DELL systems via sysfs===
 
Scegliere M se si vuole avere l'opzione per l'aggiornamento del
 
BIOS per il proprio sistema DELL. Notare che occorre una
 
applicazione di supporto Dell OpenManage o Dell Update package
 
(DUP) per comunicare con il BIOS a proposito della nuova immagine
 
perche' l'aggiornamento abbia effetto.
 
Vedere <file:Documentation/dell_rbu.txt> per maggiori dettagli
 
sul driver.
 
===Dell Systems Management Base Driver===
 
Il driver base per la gestione dei sistemi Dell fornisce una
 
interfaccia sysfs per il software di gestione dei sistemi per
 
l'esecuzione di SMI (System Management Interrupts) e azioni di
 
controllo dell'host (ciclo energetico o spegnimento dopo
 
l'arresto del SO) su alcuni sistemi Dell.
 
 
Vedere <file:Documentation/dcdbas.txt> per maggiori dettagli
 
sul driver e i sistemi Dell sui quali il software di gestione
 
fa uso di questo driver.
 
 
Scegliere Y o M per abilitare il driver all'uso da parte dei
 
software di gestione per sistemi Dell come Dell OpenManage.
 
 
==High Memory Support () --->==
 
===off===
 
Linux puo' usare fino a 64 Gigabyte di memoria fisica sui sistemi
 
x86. Comunque, lo spazio di indirizzamento dei processori x86 a
 
32-bit e' di soli 4 Gigabyte. Questo significa che, se si ha una
 
grande quantita' di memoria fisica, non tutta puo' essere "mappata
 
permanentemente" dal kernel. La memoria fisica che non e' mappata
 
permanentemente si chiama "memoria alta".
 
 
Se si sta compilando un kernel che non girera' mai su macchine con
 
piu' di 960 megabyte di RAM fisica totale, rispondere "off" qui
 
(scelta predefinita e ideale per la maggior parte degli
 
utenti). Questo portera' ad una divisione "3GB/1GB": 3GB sono
 
mappati cosi' che ogni processo veda 3GB di spazio di memoria
 
virtuale, e la parte rimanente dei 4GB di spazio di memoria virtuale
 
viene usata dal kernel per mappare permanentemente quanta piu'
 
memoria fisica possibile.
 
 
Se la macchina ha fra 1 e 4 Gigabyte di memoria fisica, allora
 
rispondere "4GB" qui.
 
 
Se si usano piu' di 4 Gigabyte allora rispondere "64GB" qui. Questa
 
selezione attiva la modalita' Intel PAE (Physical Address Extension
 
= estensione dell'indirizzamento fisico). PAE e' pienamente
 
supportata da Linux, la modalita' PAE e' implementata su tutti i
 
processori Intel recenti (Pentium Pro e seguenti). NOTA: se si
 
risponde "64GB" qui, allora il kernel non si avviera' su CPU che non
 
supportano PAE!
 
 
L'attuale ammontare di memoria fisica sara' auto-rilevato o puo'
 
essere forzato usando un'opzione della linea di comando del kernel
 
come "mem=256M". (Provare "man bootparam" o vedere la documentazione
 
del proprio boot loader (grub, lilo o loadlin) su come passare
 
opzioni all'avvio del kernel.
 
 
Nel dubbio rispondere "off".
 
===4GB===
 
Selezionare questo se si ha un processore a 32-bit e tra 1 e 4
 
gigabyte di RAM fisica.
 
===64GB===
 
Selezionare questo se si ha un processore a 32-bit e piu' di 4
 
gigabyte di RAM fisica.
 
 
==Memory model () --->==
 
Questa opzione consente di cambiare alcuni modi interni
 
di gestione della memoria di Linux. La maggior parte
 
degli utenti avranno una sola opzione qui: "Memoria
 
uniforme". Questo e' normale e corretto.
 
 
Alcuni utenti di funzionalita' avanzate come NUMA e
 
l'hotplugging della memoria possono avere diverse
 
opzioni.
 
"Memoria discontinua" e' un sistema piu' maturo e
 
meglio testato, ma e' incompatibile con l'hotplugging
 
della memoria e puo' portare a qualche calo di
 
prestazioni in confronto a "Memoria sparsa". Nel dubbio
 
tra "Memoria sparsa" e "Memoria discontinua" scegliere
 
quest'ultima.
 
 
Se non si e' sicuri scegliere fra tutte questa opzione
 
(Memoria uniforme).
 
 
==64 bit Memory and IO resources==
 
Questa opzione consente alla memoria e alle risorse di IO di
 
essere a 64 bit.
 
 
==Allocate 3rd-level pagetables from highmem==
 
La VM usa una entry in pagetable per ogni pagina di memoria fisica.
 
Su sistemi con molta RAM questo puo' sprecare preziosa memoria bassa.
 
L'impostazione di questa opzione mettera' entry di pagetable in
 
user-space nella memoria alta.
 
 
==Math emulation==
 
Linux puo' emulare un coprocessore matematico (usato per operazioni
 
in virgola mobile) se non lo si possiede. I processori 486DX e
 
Pentium hanno un coprocessore matematico integrato, i 486SX e 386
 
no, a meno che non si e' aggiunto rispettivamente un 487DX o 387. (I
 
messaggi all'avvio possono essere d'aiuto qui ["man dmesg"].)
 
Chiunque ha bisogno di un coprocessore o di questa emulazione.
 
 
Se non si possiede un coprocessore matematico occorre scegliere Y
 
qui; se si sceglie Y pur avendo un coprocessore, verra' comunque
 
usato il coprocessore. (Questo comportamento puo' essere cambiato
 
con l'opzione della linea di comando del kernel "no387", utile se si
 
ha il coprocessore guasto. Provare "man bootparam" o vedere la
 
documentazione del proprio boot loader (lilo o loadlin) su come
 
passare opzioni all'avvio del kernel.) Questo vuol dire che e' una
 
buona idea scegliere Y se si intende usare questo kernel su macchine
 
diverse.
 
 
==MTRR (Memory Type Range Register) support==
 
Sulla famiglia di processori Intel P6 (Pentium Pro, Pentium II e
 
successivi) gli MTRR (Memory Type Range Register) possono essere
 
usati per controllare gli accessi del processore a intervalli di
 
memoria. Questo e' maggiormente utile se si ha una scheda video
 
(VGA) su bus PCI o AGP. L'abilitazione del write-combining permette
 
di combinare i trasferimenti in scrittura sul bus in un
 
trasferimento piu' grande prima che percorrano il bus
 
PCI/AGP. Questo puo' incrementare le prestazioni sulle operazioni di
 
scrittura di 2,5 volte o piu'. Se si sceglie Y verra' creato un file
 
/proc/mtrr che puo' essere usato per manipolare gli MTRR del
 
processore. Tipicamente il server X dovrebbe usarlo.
 
 
Questo codice ha un'interfaccia ragionevolmente generica, cosi' che
 
registri di controllo simili su altri processori possono essere
 
facilmente supportati:
 
 
I processori Cyrix 6x86, 6x86MX e M II hanno gli ARR (Address Range
 
Registers) che forniscono una funzionalita' simile agli MTRR. Per
 
questi, gli ARR sono usati per emulare gli MTRR.
 
I processori AMD K6-2 (stepping 8 e superiore) e K6-3 hanno due
 
MTRR. Il Centaur C6 (WinChip) ha 8 MCR che permettono il
 
write-combining. Tutti questi processori sono supportati da questo
 
codice, quindi ha senso scegliere Y se si possiede uno di questi.
 
 
Scegliendo Y si risolvera' inoltre un problema con i BIOS SMP bacati
 
che impostano gli MTRR solo per la CPU di boot e non per la CPU
 
secondaria. Questo puo' portare ad una serie di problemi, quindi e'
 
bene scegliere Y qui.
 
 
Si puo' scegliere Y in tutta sicurezza anche se la propria macchina
 
non ha gli MTRR, si aggiungeranno appena 9 KB circa al kernel.
 
 
Vedere <file:Documentation/mtrr.txt> per maggiori informazioni.
 
 
==Boot from EFI support==
 
Questo abilita il kernel ad avviarsi su piattaforme EFI che usano
 
informazioni sulla configurazione del sistema passategli dal firmware.
 
Questo abilita inoltre il kernel ad usare qualunque servizio runtime
 
EFI disponibile (come i servizi variabili EFI).
 
 
Questa opzione e' utile solamente sui sistemi che hanno firmware EFI,
 
e ingrandira' l'immagine del kernel di ~8k. In aggiunta, occorre usare
 
il loader ELILO piu' recente disponibile su
 
http://elilo.sourceforge.net per avere vantaggio
 
dall'inizializzazione del kernel usando informazioni EFI (ne' LILO ne'
 
GRUB sanno nulla su EFI). Comunque, anche con questa opzione, il
 
kernel risultante continuera' ad avviarsi su piattaforme non EFI.
 
 
==Enable kernel irq balancing==
 
Il si' predefinito permettera' al kernel di fare il bilanciamento
 
di carico degli irq. Scegliendo no impedira' al kernel di fare il
 
bilanciamento di carico degli irq.
 
 
==Use register arguments==
 
Compila il kernel con -mregparm=3. Questo istruisce gcc per l'uso
 
di una ABI di chiamata funzione piu' efficiente che passa i primi
 
tre argomenti di una chiamata a funzione ai registri, il che porta
 
ad un codice piu' compatto e veloce.
 
 
Se questa opzione viene disabilitata verra' usata l'ABI
 
predefinita che prevede il passaggio di argomenti attraverso lo
 
stack.
 
 
Nel dubbio scegliere Y.
 
 
==Enable seccomp to safely compute untrusted bytecode==
 
Questa funzionalita' del kernel e' utile per applicazioni
 
macina-numeri che hanno bisogno di calcolare bytecode non fidati
 
durante la loro esecuzione. Usando pipe o altri trasporti resi
 
disponibili al processo come descrittori di file che supportano
 
le chiamate di sistema in lettura/scrittura, e' possibile isolare
 
queste applicazioni nel loro spazio d'indirizzamento usando
 
seccomp. Dopo che seccomp e' stato abilitato attraverso
 
/proc/<pid>/seccomp, esso non puo' esseere disabilitato e il
 
task puo' solo eseguire poche chiamate di sistema definite da
 
ogni modalita' seccomp.
 
 
Nel dubbio scegliere Y. Solo per sistemi embedded si dovrebbe
 
scegliere N.
 
 
==Timer frequency () --->==
 
===100Hz===
 
100 HZ e' la scelta tipica per sistemi server, SMP e NUMA
 
con molti processori che possono presentare una riduzione
 
delle prestazioni a causa di molti interrupt del timer.
 
===250Hz===
 
250 HZ e' un buon compromesso che unisce buone prestazioni
 
server a buona risposta interattiva anche sui sistemi SMP e
 
NUMA.
 
===1000Hz===
 
1000 HZ e' la scelta preferita per i sistemi desktop ed
 
altri sistemi che richiedono risposte veloci a eventi
 
interattivi.
 
 
==kexec system call==
 
kexec e' una chiamata di sistema che implementa la facolta' di
 
arrestare il kernel in esecuzione e di avviarne un altro. E'
 
come un reboot ma e' indipendente dal firmware del sistema. E
 
come in un reboot si puo' avviare qualunque kernel con essa,
 
non solo Linux.
 
 
Il nome deriva dalla similarita' con la chiamata exec.
 
 
E' un processo in evoluzione per essere certi che l'hardware
 
della macchina venga arrestato correttamente, quindi non
 
siate sorpresi se all'inizio questo codice non funziona per
 
voi. L'abilitazione del supporto per l'hotplugging potrebbe
 
aiutare. Al momento in cui scriviamo l'esatta interfaccia
 
hardware e' in costante cambiamento, per cui non possiamo
 
fornire nessun consiglio utile.
 
 
==kernel crash dumps==
 
Stampa un rapporto di crash dopo essere stato avviato da kexec.
 
 
==(0x1000000) Physical address where the kernel is loaded==
 
Questo fornisce l'indirizzo fisico dove il kernel viene caricato.
 
Normalmente questo valore e' 0x100000 (1MB), per i kernel standard,
 
ma nel caso di un kexec a seguito di panic il kernel di ripiego
 
deve essere caricato ad un indirizzo diverso da quello del kernel
 
che e' andato in panic. Questa opzione si usa per impostare
 
l'indirizzo di caricamento dei kernel avviati tramite kexec e
 
usati per catturare i dump del crash. Il valore predefinito per
 
questi kernel e' 0x1000000 (16MB). Questo puo' essere impostato
 
sulla base del valore "X" nel parametro di avvio
 
"crashkernel=YM@XM" passato al kernel in panic. Di solito questo
 
parametro viene impostato come crashkernel=64M@16M. Si prega di
 
dare un'occhiata a Documentation/kdump/kdump.txt per maggiori
 
dettagli sui dump dei crash.
 
 
Non cambiare questo valore a meno che si sappia cosa si sta
 
facendo.
 
 
==Support for hot-pluggable CPUs==
 
Scegliere Y per sperimentare con l'accensione e lo spegnimento
 
delle CPU e per abilitare la sospensione sui sistemi SMP. Le
 
CPU possono essere controllate attraverso
 
/sys/devices/system/cpu.
 
 
==Compat VDSO support==
 
 
=Power management options (ACPI, APM) --->=
 
Gestione risparmio energetico (Power Management) significa che parti
 
del vostro computer vengono spente o poste in una modalita' "sleep"
 
di contenimento dei consumi se non vengono usate. Ci sono due
 
standard competenti per questo: APM e ACPI. Se si desidera
 
utilizzarne uno scegliere Y qui e nel relativo supporto piu' avanti.
 
 
Il Power Management e' maggiormente importante per i portatili
 
alimentati a batteria; se si possiede un portatile controllare sul
 
WWW la home page di Linux Laptop su
 
http://www.linux-on-laptops.com/ o Tuxmobil - Linux sui computer
 
mobili su http://www.tuxmobil.org e il mini-HOWTO per Linux
 
alimentato a batteria disponibile su
 
http://www.tldp.org/docs.html#howto.
 
 
Notare che, anche se si sceglie N qui, Linux su architettura x86
 
usera' l'istruzione hlt se non c'e' niente da fare, istruendo quindi
 
il processore per riposare e risparmiare energia.
 
==Legacy Power Management API==
 
Supporto per pm_register() e compagni.
 
 
Nel dubbio scegliere Y.
 
==Power Management Debug Support==
 
Questa opzione abilita il supporto per il debugging prolisso
 
nel codice per la gestione energetica. Questo e' utile quando
 
si fa il debugging e si riportano vari bachi in PM, come il
 
supporto per la sospensione.
 
==Suspend/resume event tracing==
 
Questo abilita del codice per salvare l'ultimo punto di eventi PM
 
nel RTC tra i riavvii, cosi' da poter fare il debugging di una
 
macchina che si blocca durante la sospensione (o piu' comunemente,
 
durante il ripristino).
 
 
Per usare quasta funzionalita' di debugging si dovrebbe tentare
 
di sospendere la macchina, poi riavviarla, quindi eseguire:
 
 
dmesg -s 1000000 | grep 'hash matches'
 
 
ATTENZIONE: questa opzione causera' l'impostazione del real
 
time clock della macchina ad un tempo non valido dopo un
 
ripristino.
 
==Software Suspend==
 
Abilita la possibilita' di sospendere la macchina.
 
Non ha bisogno di ACPI o APM.
 
Si puo' sospendere la macchina con 'swsusp' o 'shutdown -z <tempo>'
 
(occorre la patch per sysvinit).
 
 
Esso crea un'immagine che viene salvata nella swap attiva. Al prossimo
 
avvio, passare l'argomento 'resume=/dev/partizioneswap' al kernel per
 
fare in modo che questo rilevi l'immagine salvata, ripristini la
 
memoria da essa e continui a funzionare come prima della sospensione.
 
Se non si vuole ricaricare lo stato precedente usare l'argomento del
 
kernel 'noresume'. Notare comunque che la partizione verra' verificata
 
(fsck) e occorre reinizializzare la partizione di swap (mkswap). Non
 
funziona con il swap su file.
 
 
Per adesso si puo' avviare senza ripristinare per poi ripristinare
 
in un secondo tempo, ma nel frattempo non si possono usare le
 
partizioni/file di swap coinvolti nella sospensione. Inoltre in questo
 
caso c'e' il rischio che i buffer su disco non corrispondano con
 
quelli salvati.
 
 
Per maggiori informazioni dare un'occhiata a
 
file:Documentation/power/swsusp.txt.
 
 
(Per adesso swsusp e' incompatibile con PAE e HIGHMEM_64G su i386.
 
Occorre la mappatura dell'identita' perche' il ripristino funzioni,
 
e' questo e' facile da ottenere con pagine di 4MB ma meno su PAE).
 
==(/dev/hda3) Default resume partition==
 
La partizione di ripristino predefinita e' la partizione in cui
 
l'implementazione di suspend-to-disk cerchera' un'immagine di
 
sospensione su disco.
 
 
La partizione specificata sara' diversa per quasi ogni utente.
 
Dovrebbe essere una partizione di swap valida (almeno per ora)
 
attivata prima della sospensione.
 
 
La partizione specificata puo' essere cambiata specificando:
 
 
resume=/dev/<altro dispositivo>
 
 
che impostera' la partizione di ripristino al dispositivo
 
specificato.
 
 
Notare che attualmente non c'e' un modo per specificare su quale
 
dispositivo salvare l'immagine di sospensione. Verra' semplicemente
 
preso il primo dispositivo di swap disponibile.
 
==ACPI (Advanced Configuration and Power Interface) Support --->==
 
===ACPI Support===
 
Il supporto ACPI (Advanced Configuration and Power Interface =
 
interfaccia energia e configurazione avanzata) per Linux
 
richiede una piattaforma (hardware/firmware) compatibile-ACPI,
 
e presume la presenza del software OSPM (OS-directed Power
 
Management = gestione energia diretta dal SO). Questa opzione
 
aumentera' la dimensione del kernel di circa 70K.
 
 
L'ACPI di Linux fornisce un'alternativa funzionale robusta per
 
varie vecchie interfacce di gestione energetica e configurazione,
 
comprese le specifiche per BIOS Plug-and-Play (PnP BIOS), le
 
specifiche per MultiProcessore (MPS), e le specifiche APM
 
(Advanced Power Management = gestione risparmio energetico. Se
 
vengono configurati sia il supporto per ACPI che per APM, verra'
 
usato quello caricato per primo.
 
 
Il progetto ACPI di SourceForge contiene gli ultimi sorgenti,
 
documentazione, strumenti, sottoscrizione alla mailing list,
 
e altre informazioni. Questo progetto e' disponibile su:
 
http://sourceforge.net/projects/acpi.
 
 
Il supporto ACPI di Linux e' basato sull'"ACPI CA" (ACPI
 
Component Architecture = architettura componenti ACPI) di
 
Intel Corporation. Per maggiori informazioni vedere:
 
http://developer.intel.com/technology/iapc/acpi.
 
 
ACPI e' una specifica aperta e co-sviluppata da Compaq, Intel,
 
Microsoft, Phoenix, e Toshiba. La specifica e' disponibile su:
 
http://www.acpi.info.
 
===Sleep States===
 
Questa opzione aggiunge il supporto per gli stati di sospensione
 
ACPI.
 
 
Con questa opzione si avra' la possibilita' di mettere il sistema
 
"a dormire". Gli stati di sospensione sono stati a basso consumo
 
per il sistema e i dispositivi. L'intero stato del sistema
 
operativo viene salvato su memoria o su disco (dipende dallo
 
stato) per consentirne velocemente il ripristino a richiesta.
 
 
Sebbene questa opzione suoni bene, appena qualche driver di
 
dispositivo e' stato convertito al nuovo modello di driver, e
 
quindi pochi hanno un appropriato supporto al risparmio energetico.
 
 
Questa opzione non e' consigliata a nessuno eccetto chi sviluppa
 
driver per risparmio energetico.
 
===/proc/acpi/sleep (deprecated)===
 
Crea /proc/acpi/sleep Sostituita da /sys/power/state
 
===AC Adapter===
 
Questo driver aggiunge il supporto per l'oggetto adattatore AC, che
 
indica quando un sistema e' alimentato da rete elettrica o no.
 
Se si possiede un sistema che puo' commutare tra alimentazione da
 
rete e da batteria, scegliere Y.
 
===Battery===
 
Questo driver aggiunge il supporto per le informazioni riguardo la
 
batteria attraverso /proc/acpi/battery. Se si possiede un sistema
 
mobile con una batteria, scegliere Y.
 
===Button===
 
Questo driver gestisce gli eventi basati sui pulsanti, come quelli
 
power, sleep e lid. Un demone legge /proc/acpi/event ed esegue
 
azioni definite dall'utente come lo spegnimento del sistema.
 
Questo e' necessario per lo spegnimento controllato da software.
 
===Video===
 
Questo driver implementa le estensioni APCI per gli adattatori
 
video per i dispositivi grafici integrati sulla scheda madre,
 
come descritto nelle specifiche ACPI 2.0, Appendice B,
 
consentendo di eseguire alcuni controlli di base come la
 
definizione del dispositivo video per il POST, l'ottenimento
 
di informazioni EDID o la configurazione di un'uscita video, ecc.
 
Notare che questa e' solo un'implementazione di riferimento.
 
Potrebbe o non potrebbe funzionare per il proprio dispositivo
 
video integrato.
 
===Generic Hotkey===
 
Driver sperimentale consolidato per sequenze di tastiera.
 
Nel dubbio scegliere N.
 
===Fan===
 
Questo driver aggiunge il supporto per le ventole ACPI,
 
consentendo alle applicazioni in modalita' utente di effettuare
 
controlli di base sulla ventola (accesa, spenta, stato).
 
===Dock===
 
Questo driver aggiunge il supporto per le docking station controllate da ACPI.
 
===Processor===
 
Questo driver installa ACPI come gestore di stati di fermo per
 
Linux, e usa gli stati ACPI C2 e C3 del processore per risparmiare
 
energia sui sistemi che lo supportano. E' richiesto da diversi
 
driver cpufreq per lo stato delle prestazioni.
 
===Thermal Zone===
 
Questo driver aggiunge il supporto per le zone termiche ACPI. La
 
maggior parte dei sistemi mobili e qualche desktop supporta le
 
zone termiche ACPI. E' ALTAMENTE raccomandata l'abilitazione di
 
questa opzione, poiche' il processore potrebbe venire danneggiato
 
senza di essa.
 
===ASUS/Medion Laptop Extras===
 
Questo driver fornisce il supporto per le funzionalita' extra dei
 
portatili ASUS compatibili-ACPI. Poiche' alcuni portatili Medion sono
 
prodotti da ASUS, questo puo' anche supportare i portatili Medion
 
(come ad esempio il 9675). Esso fa in modo che tutti i pulsanti
 
aggiuntivi generino eventi ACPI standard che passano attraverso
 
/proc/acpi/events, e (su alcuni modelli) aggiunge il supporto per
 
il cambio della luminosita' e dell'output del display, l'accensione
 
e spegnimento della retroilluminazione del LCD, e molto piu'
 
importante, permette di gestire quei LED carini realizzati per
 
segnalare lo stato della posta e del modo wireless.
 
 
Nota: il codice per la commutazione del display e' attualmente
 
considerato SPERIMENTALE, giocando con questi valori si potrebbe
 
anche bloccare la macchina.
 
 
Maggiori informazioni e un demone userspace per la gestione dei
 
pulsanti extra si trovano su
 
http://sourceforge.net/projects/acpi4asus/.
 
===IBM ThinkPad Laptop Extras===
 
Questo e' un driver ACPI di Linux per i portatili IBM ThinkPad.
 
Esso aggiunge il supporto per le combinazioni di tasti Fn-Fx, il
 
controllo Bluetooth, la commutazione dell'uscita video, il controllo
 
ThinkLight, l'espulsione UltraBay e altro. per maggiori informazioni
 
su questo driver vedere <file:Documentation/ibm-acpi.txt> e
 
http://ibm-acpi.sf.net/.
 
 
Se si possiede un portatile IBM ThinkPad scegliere Y o M.
 
===Toshiba Laptop Extras===
 
Questo driver agginge il supporto per accedere ad alcune impostazioni
 
di sistema sui portatili Toshiba "legacy fre". Questo portatili
 
possono essere riconosciuti dalla loro mancanza di menu di
 
impostazione del BIOS e di supporto APM.
 
 
Su queste macchine tutte le configurazioni di sistema sono gestite
 
attraverso ACPI. Questo e' richiesto per l'accesso a controlli non
 
gestiti dal driver ACPI generico, come la luminosita' dell'LCD,
 
l'output video, ecc.
 
 
Questo driver differisce in vari aspetti dal driver per portatili
 
Toshiba non-ACPI (che si trova sotto "Tipo di processore e
 
funzionalita'"). L'accesso alla configurazione avviene per mezzo
 
della scrittura e lettura di file di testo nell'albero /proc,
 
piuttosto che della programmazione di interfacce in /dev. Inoltre
 
non viene gestita alcuna funzione per il risparmio energetico,
 
poiche' queste vengono gestite dai driver ACPI generici.
 
 
Maggiori informazioni su questo driver sono disponibili su
 
http://memebeam.org/toys/ToshibaAcpiDriver.
 
 
Se si possiede un portatile Toshiba "legacy free" (come le serie
 
L1 del Libretto) scegliere Y.
 
===Disable ACPI for systems before Jan 1st this year===
 
Inserire un anno su 4 cifre, es. 2001, per diabilitare in
 
modo predefinito l'ACPI su piattaforme con data del BIOS DMI
 
anteriore al 1 gennaio di quell'anno. "acpi=force" puo'
 
essere usata per scavalcare questo meccanismo.
 
 
Inserire 0 per disabilitare questo meccanismo e consentire
 
l'abilitazione dell'ACPI a prescindere dall'anno (predefinito).
 
===Debug Statements===
 
Il driver ACPI puo' opzionalmente riportare errori con un alto
 
livello di prolissita'. Scegliendo Y si abilitano questi
 
rapporti. Questo accrescera' la dimensione del kernel di circa 50K.
 
===ACPI0004,PNP0A05 and PNP0A06 Container Driver===
 
Questo consente l'inserimento e la rimozione _fisica_ di CPU e
 
memoria. Puo' essere utile, ad esempio, su macchine NUMA che
 
supportano l'hotplugging fisico dei nodi basato su ACPI, o
 
sulle macchine non NUMA che supportano l'hotplugging fisico
 
di cpu/memoria.
 
 
Se si seleziona "m" il driver puo' essere caricato con
 
"modprobe acpi_container".
 
===Smart Battery System===
 
Questo driver aggiunge il supporto per "Smart Battery
 
System". Dipende da I2C
 
(Driver di dispositivo ---> Supporto I2C).
 
Il sistema "Smart Battery" e' piuttosto vecchio e raro
 
in confronto al moderno metodo ACPI di controllo della
 
batteria.
 
==APM (Advanced Power Management) BIOS Support --->==
 
===APM (Advanced Power Management) BIOS support===
 
APM e' una specifica del BIOS per il risparmio di energia che usa
 
diverse tecniche. E' principalmente usato nei portatili a batteria
 
con BIOS compatibili APM. Se si sceglie Y l'orologio di sistema
 
verra' reimpostato dopo un'operazione di RESUME, il dispositivo
 
/proc/apm fornira' informazioni sullo stato della batteria, e i
 
programmi in user-space riceveranno notifiche degli eventi APM (ad
 
esempio, il cambiamento di stato della batteria).
 
 
Se si seleziona Y si puo' disabilitare l'utilizzo del BIOS APM
 
passando l'opzione "apm=off" all'avvio del kernel.
 
 
Notare che il supporto APM e' quasi completamente disabilitato su
 
macchine con piu' di una CPU. │
 
Per usare APM occorrera' software di supporto. Per la locazione e
 
maggiori informazioni leggere file:Documentation/pm.txt e il
 
Battery Powered Linux mini-HOWTO disponibile su
 
http://www.tldp.org/docs.html#howto.
 
 
Questo driver non spegne i dischi fissi (vedere la pagina man di
 
hdparm(8) per questo) e non spegne i monitor compatibili VESA
 
"verdi".
 
 
Questo driver non supporta il TI 4000M TravelMate e l'ACER
 
486/DX4/75 perche' non hanno BIOS compatibili. Anche molti desktop
 
"verdi" non hanno BIOS compatibili, e questo driver puo' causare
 
panic a queste macchine durante la fase di boot.
 
 
Generalmente, se non si hanno batterie nella macchina, non serve a
 
molto l'uso di questo driver e si dovrebbe scegliere N. Se si
 
ottengono OOPS del kernel o riavvi casuali che sembrano non essere
 
correlati a nulla, provare a disabilitare/abilitare questa opzione
 
(o disabilitare/abilitare l'APM nel BIOS).
 
 
Si dovrebbero tentare alcune altre cose se si vedono problemi
 
insensati apparentemente casuali:
 
 
# assicurarsi che si abbia spazio di swap a sufficienza e che sia abilitato.
 
# passare l'opzione "no-hlt" al kernel.
 
# abilitare l'emulazione virgola mobile nel kernel e passargli l'opzione "no387".
 
# passare l'opzione "floppy=nodma" al kernel.
 
# passare l'opzione "mem=4M" al kernel (disabilitando dunque tutto tranne i primi 4 MB di RAM).
 
# assicurarsi che la CPU non sia overcloccata.
 
# leggere la FAQ sig11 su http://www.bitwizard.nl/sig11/.
 
# Disabilitare la cache dalle impostazioni del BIOS.
 
# installare una ventola per la scheda grafica o cambiare la RAM video.
 
# installare una ventola migliore per la CPU.
 
# cambiare i chip di RAM.
 
# cambiare la scheda madre.
 
 
Per compilare questo driver come modulo scegliere M: il modulo si
 
chiamera' apm.
 
 
===Ignore USER SUSPEND===
 
Questa opzione ignorera' le richieste USER SUSPEND. Su macchine con
 
BIOS compatibili APM si vorra' scegliere N. Comunque, sulla serie di
 
portatili NEC Versa M e' necessario scegliere Y a causa di un BIOS
 
bacato.
 
===Enable PM at boot time===
 
Abilita le funzionalita' APM al boot. Dalla pagina 36 delle
 
specifiche dei BIOS APM: "Quando disabilitato, il BIOS APM non
 
gestisce automaticamente il risparmio energetico dei dispositivi,
 
entra nello stato Standby, entra nello stato Suspend, o intraprende
 
passi per il risparmio di energia in risposta a chiamate CPU
 
IDLE". Questo driver effettuera' chiamate CPU IDLE quando Linux e'
 
quieto (a meno che questa funzionalita' sia disattivata -- vedere
 
"Manda chiamate CPU IDLE" piu' avanti). Questo dovrebbe sempre
 
risparmiare batteria, ma funzionalita' APM piu' complesse
 
dipenderanno dall'implementazione del proprio BIOS. Si potrebbe
 
avere bisogno di disattivare questa opzione se il computer si pianta
 
al boot quando si usa il supporto APM, o se fa' bip continui invece
 
di entrare in Suspend. Disattivarla se si possiede un NEC UltraLite
 
Versa 33/C o un Toshiba T400CDT. Questo e' disattivato in modo
 
predefinito perche' la maggior parte delle macchine si comportano
 
bene senza questa funzionalita'.
 
===Make CPU Idle calls when idle===
 
Abilita le chiamate ad APM CPU IDLE/CPU BUSY nel ciclo quieto del
 
kernel. Su alcune macchine questo puo' attivare risparmi energetici
 
piu' efficaci, come un clock rallentato della CPU, quando la
 
macchina e' quieta. Queste chiamate vengono inviate dopo che il
 
ciclo quieto ha girato per un certo tempo (ad esempio 333 mS). Su
 
alcune macchine questo causera' un blocco al boot o allorquando la
 
CPU diventa quieta. (Su macchine con piu' di una CPU questa opziona
 
non fa' nulla.)
 
===Enable console blanking using APM===
 
Abilita l'oscuramento della console tramite APM. Alcuni portatili
 
possono usarlo per spegnere la retroilluminazione del LCD quando
 
l'oscuratore dello schermo della console virtuale Linux oscura lo
 
schermo. Notare che questo viene usato dall'oscuratore dello schermo
 
della console virtuale, e non spegnera' la retroilluminazione quando
 
si usa X Window. Questo inoltre non ha nulla a che fare con i
 
monitor a risparmio energetico compatibili VESA. Ancora, questa
 
opzione non funziona su tutti i portatili -- potrebbe non spegnere
 
affatto la retroilluminazione, o potrebbe stampare un sacco di
 
errori sulla console, specialmente se si usa gpm.
 
===RTC stores time in GMT===
 
Scegliete Y se il vostro RTC (Real Time Clock, noto anche come
 
orologio hardware) salva il tempo in GMT (Greenwich Mean
 
Time). Scegliete N se il vostro RTC salva l'ora locale.
 
 
E' infatti raccomandato salvare GMT nel proprio RTC, cosi' non ci si
 
deve preoccupare dei cambiamenti di ora legale. La sola ragione per
 
non usare GMT nel proprio RTC e se si usa un sistema operativo
 
difettoso che non comprende il GMT.
 
===Allow interrupts during APM BIOS calls===
 
Normalmente disabilitiamo gli interrupt esterni mentre facciamo
 
chiamate al BIOS APM come misura per diminuire gli effetti di una
 
cattiva implementazione del BIOS. Il BIOS dovrebbe riabilitare gli
 
interrupt se ne ha bisogno. Sfortunatamente alcuni BIOS non lo fanno
 
-- specialmente quelli in molti dei nuovi IBM Thinkpad. Se si
 
riscontrano blocchi quando si va in Suspend, provare ad impostare
 
questo su Y. Altrimenti scegliere N.
 
===Use real mode APM BIOS call to power off===
 
Usa la modalita' reale della chiamata del BIOS APM per spegnere il
 
computer. Questo e' uno stratagemma per una serie di BIOS
 
bacati. Abilitare questa opzione se il computer si blocca invece di
 
spegnersi correttamente.
 
 
==CPU Frequency scaling --->==
 
===CPU Frequency scaling===
 
Il cambio di frequenza della CPU permette di cambiare la velocita'
 
di clock delle CPU al volo. Questo e' un buon metodo per risparmiare
 
batteria, poiche' piu' bassa e' la velocita' di clock, minore e' il
 
consumo energetico della CPU.
 
 
Notare che questo driver non cambia automaticamente la velocita' di
 
clock della CPU, occorre abilitare un governatore cpufreq dinamico
 
in userspace (vedere piu' avanti) dopo l'avvio, o usare uno
 
strumento in userspace.
 
 
Per dettagli dare un'occhiata a file:Documentation/cpu-freq.
 
 
Nel dubbio scegliere N.
 
 
===Enable CPUfreq debugging===
 
Scegliere Y per abilitare il debugging del sottosistema
 
CPUfreq (driver compresi). Occorre attivarlo attraverso
 
la linea di comando del kernel passando
 
cpufreq.debug=<valore>
 
 
Per ottenere il <valore>, aggiungere
 
1 per attivare il debugging del core CPUfreq
 
2 per attivare il debugging dei driver CPUfreq, e
 
4 per attivare il debugging dei governatori CPUfreq
 
===CPU frequency translation statistics===
 
Questo driver esporta statistiche sulla frequenza della CPU
 
attraverso il file system sysfs.
 
===CPU frequency translation statistics details===
 
Questo mostrera' dettagli sulla tavola di traduzione delle
 
frequenze nel file system sysfs.
 
===Default CPUFreq governor (performance) --->===
 
====Performance====
 
Usa il governatore CPUFreq 'performance' come predefinito.
 
Questo imposta staticamente la frequenza al piu' alto valore
 
supportato dalla CPU.
 
====Userspace====
 
Usa il governatore CPUFreq 'userspace' come predefinito.
 
Questo permette di impostare la frequenza della CPU manualmente
 
o quando un programma in userspace potra' impostare dinamicamente
 
la CPU senza bisogno di abilitare manualmente il governatore in
 
userspace.
 
==='performance' governor===
 
Questo governatore cpufreq imposta staticamente la frequenza
 
alla piu' alta frequenza della CPU disponibile.
 
 
Nel dubbio scegliere Y.
 
==='powersave' governor===
 
Questo governatore cpufreq imposta staticamente la frequenza
 
alla piu' bassa frequenza della CPU disponibile.
 
 
Nel dubbio scegliere Y.
 
==='userspace' governor for userspace frequency scaling===
 
Abilitare questo governatore cpufreq quando si vuole impostare
 
manualmente la frequenza o quando un programma in userspace
 
dovra' poterla impostare dinamicamente, come sui LART
 
http://www.lartmaker.nl/.
 
 
Per dettagli dare un'occhiata a <file:Documentation/cpu-freq/>.
 
 
Nel dubbio scegliere Y.
 
==='ondemand' cpufreq policy governor===
 
'ondemand' - Questo driver aggiunge un governatore di regole
 
cpufreq dinamico. Il governatore fa un campionamento periodico
 
e cambia la frequenza basandosi sull'utilizzo della CPU.
 
Il supporto per questo governatore dipende dalla capacita'
 
della CPU di effettuare cambi di frequenza veloci (cioe'
 
transizioni di frequenza a latenza molto bassa).
 
 
Per dettagli dare un'occhiata a linux/Documentation/cpu-freq.
 
 
Nel dubbio scegliere N.
 
==='conservative' cpufreq governor===
 
'conservative' - questo driver e' piuttosto simile al governatore
 
'ondemand' sia come codice sorgente che come scopi, la differenza
 
e' la sua ottimizzazione per la maggiore adattabilita' in ambienti
 
con alimentazione a batteria. La frequenza viene aumentata ed
 
abbassata gradualmente piuttosto che portata improvvisamente al
 
100% quando viene richiesta velocita'.
 
 
Se si possiede una macchina desktop si dovrebbe invece prendere
 
in considerazione il governatore 'ondemand', comunque se si usa
 
un portatile, PDA o anche un computer basato su AMD64 (a causa
 
di problemi di latenza step-by-step inaccettabili nelle
 
transizioni tra minima e massima frequenza nella CPU), si vorra'
 
probabilmente usare questo governatore.
 
 
Per dettagli dare un'occhiata a linux/Documentation/cpu-freq.
 
 
Nel dubbio scegliere N.
 
 
===CPUFreq processor drivers===
 
====ACPI Processor P-States driver====
 
Questo aggiunge un driver CPUFreq che utilizza gli
 
"ACPI Processor Performance States".
 
 
Per dettagli dare un'occhiata a
 
file:Documentation/cpu-freq/.
 
 
Nel dubbio scegliere N.
 
====AMD Mobile K6-2/K6-3 PowerNow!====
 
Questo aggiunge il driver CPUFreq per i processori mobile AMD
 
K6-2+ e AMD K6-3+.
 
 
Per dettagli dare un'occhiata a file:Documentation/cpu-freq/.
 
 
Nel dubbio scegliere N.
 
====AMD Mobile Athlon/Duron PowerNow!====
 
Questo aggiunge il driver CPUFreq per i processori mobile AMD
 
K6-2+ e AMD K6-3+.
 
 
Per dettagli dare un'occhiata a file:Documentation/cpu-freq/.
 
 
Nel dubbio scegliere N.
 
====AMD Opteron/Athlon64 PowerNow!====
 
Questo aggiunge il driver CPUFreq per i processori mobile AMD
 
Opteron/Athlon64.
 
 
Per dettagli dare un'occhiata a file:Documentation/cpu-freq/.
 
 
Nel dubbio scegliere N.
 
====Cyrix MediaGX/NatSemi Geode Suspend Modulation====
 
Questo aggiunge il driver CPUFreq per i processori NatSemi Geode
 
che supportano la modulazione della sospensione.
 
 
Per dettagli dare un'occhiata a file:Documentation/cpu-freq/.
 
 
Nel dubbio scegliere N.
 
 
====Intel Enhanced SpeedStep====
 
Questo aggiunge il driver CPUFreq per le CPU mobile con SpeedStep
 
avanzato abilitato. Questo significa le CPU Intel Pentium M
 
(Centrino). Comunque, occorrera' anche scegliere Y in "Usa tavole
 
ACPI per decodificare..." piu' avanti [che potrebbe implicitamente
 
abilitare l'ACPI] se si vuole usare questo driver sulle CPU
 
non-Banias.
 
 
Per dettagli dare un'occhiata a file:Documentation/cpu-freq/.
 
 
Nel dubbio scegliere N.
 
====Use ACPI tables to decode valid frequency/voltage pairs====
 
Usa principalmente le informazioni fornite dalla tavola ACPI del
 
BIOS per determinare le coppie frequenza/tensione della CPU valide.
 
E' richiesto per il funzionamento del driver su CPU non-Banias.
 
 
Nel dubbio scegliere Y.
 
====Built-in tables for Banias CPUs====
 
Usa le Tavole integrate per le CPU Banias se la codifica
 
ACPI non e' disponibile.
 
====Intel Speedstep on ICH-M chipsets(ioport interface) ====
 
Questo aggiunge il driver CPUFreq per certi Intel Pentium III mobile
 
(Coppermine), e tutti gli Intel Pentium III-M mobile (Tualatin) e
 
tutti gli Intel Pentium 4 mobile P4-M su sistemi che hanno
 
southbridge Intel ICH2,ICH3 o ICH4.
 
 
Per dettagli dare un'occhiata a file:Documentation/cpu-freq/.
 
 
Nel dubbio scegliere N.
 
====Intel SpeedStep on 440BX/ZX/MX chipsets (SMI interface)====
 
Questo aggiunge il driver CPUFreq per certi Intel Pentium III mobile
 
(Coppermine), e tutti gli Intel Pentium III-M mobile (Tualatin) su
 
sistemi che hanno southbridge Intel 440BX/ZX/MX.
 
 
Per dettagli dare un'occhiata a file:Documentation/cpu-freq/.
 
 
Nel dubbio scegliere N.
 
====Intel Pentium 4 clock modulation====
 
Questo aggiunge il driver CPUFreq per i processori Intel Pentium 4
 
/ XEON.
 
 
Per dettagli dare un'occhiata a file:Documentation/cpu-freq/.
 
 
Nel dubbio scegliere N.
 
====nVidia nForce2 FSB changing====
 
Questo aggiunge il driver CPUFreq per il cambio di FSB sulle
 
piattaforme nVidia nForce2.
 
 
Per dettagli dare un'occhiata a file:Documentation/cpu-freq/.
 
 
Nel dubbio scegliere N.
 
====Transmeta LongRun====
 
Questo aggiunge il driver CPUFreq per i processori Transmeta Crusoe
 
e Efficeon che supportano LongRun.
 
Per dettagli dare un'occhiata a file:Documentation/cpu-freq/.
 
 
Nel dubbio scegliere N.
 
 
====VIA Cyrix III Longhaul====
 
Questo aggiunge il driver CPUFreq per i processori VIA
 
Samuel/CyrixIII, VIA Cyrix Samuel/C3, VIA Cyrix Ezra e VIA
 
Cyrix Ezra-T.
 
 
Per dettagli dare un'occhiata a file:Documentation/cpu-freq/.
 
 
Nel dubbio scegliere N.
 
 
===Shared Option===
 
====/proc/acpi/processor/../performance interface (deprecated)====
 
Questo abilita l'interfaccia deprecata
 
/proc/acpi/processor/../performance. Sebbene sia utile per il
 
debugging, dovrebbe essere invece usata l'interfaccia cpufreq
 
generica multi-architettura.
 
 
Nel dubbio scegliere N.
 
====Relaxed speedstep capability checks====
 
Non esegue tutti i controlli per un sistema dotato di funzionalita'
 
speedstep che dovrebbero normalmente essere eseguiti. Alcuni sistemi
 
arcaici o strani, sebbene con funzionalita' speedstep, non sempre
 
indicano di avere la funzionalita' speedstep. Questa opzione permette
 
al codice di rilevamento di scavalcare quei controlli se viene
 
passato al modulo il parametro "relaxed_check=1".
 
 
=Bus options (PCI, PCMCIA, EISA, MCA, ISA) --->=
 
=Executable file formats --->=
 
==Kernel support for ELF binaries==
 
ELF (Executable and Linkable Format) e' un formato per librerie ed
 
eseguibili usato attraverso diverse architetture e sistemi
 
operativi. Scegliendo Y qui si abilitera' il kernel all'esecuzione
 
di binari ELF e lo si accrescera' di circa 13 KB. Il supporto ELF
 
sotto Linux ha rimpiazzato i tradizionali formati a.out (QMAGIC e
 
ZMAGIC) perche' e' portabile (questo comunque *non* significa che si
 
possono eseguire binari da differenti architetture o sistemi
 
operativi) e rende la creazione di librerie run-time molto
 
semplice. Molti nuovi eseguibili vengono distribuiti esclusivamente
 
in formato ELF. Vorrete certamente scegliere Y qui.
 
 
Informazioni su ELF sono contenute nell'ELF HOWTO disponibile su
 
http://www.tldp.org/docs.html#howto.
 
 
Se dopo aver effettuato l'aggiornamento dal kernel Linux 1.2 ed aver
 
scelto Y qui dovreste continuare a non poter eseguire nessun binario
 
ELF (perche' va in crash), allora dovrete installare le nuove
 
librerie runtime ELF, compresa ld.so (controllare il file
 
<file:Documentation/Changes> per informazioni su dove reperire
 
l'ultima versione).
 
 
==Kernel support for a.out and ECOFF binaries==
 
A.out (Assembler.OUTput) e' un set di formati per librerie ed
 
esguibili usato nelle precedenti versioni di UNIX. Linux ha usato i
 
formati a.out QMAGIC e ZMAGIC finche' non sono stati rimpiazzati dal
 
formato ELF.
 
 
La conversione ad ELF e' iniziata nel 1995. Questa opzione viene
 
fornita principalmente per ragioni storiche, e a beneficio di
 
coloro che hanno bisogno di eseguire binari di quell'era.
 
 
La maggior parte della gente dovrebbe scegliere N qui. Se si pensa
 
di dover usare occasionalmente questo formato, abilitare il supporto
 
ai moduli piu' sopra e scegliere M per compilare questo supporto
 
come modulo col nome di binfmt_aout.
 
 
Se qualche componente cruciale del sistema (come /sbin/ini o
 
/lib/ld.so) e' tuttora in formato a.out, si dovra' scegliere Y qui.
 
==Kernel support for MISC binaries==
 
Se si sceglie Y qui sara' possibile inserire formati di binari
 
wrapper-driven nel kernel. Sara' specialmente gradito se si usano
 
programmi che necessitano di un interprete per girare come Java,
 
Python o Emacs-Lisp. E' inoltre utile se si lanciano spesso
 
eseguibili DOS sotto l'emulatore DOS per Linux DOSEMU (leggere il
 
DOSEMU-HOWTO disponibile su
 
http://www.tldp.org/docs.html#howto). Una volta che si avra'
 
registrato un tipo di classe di binari nel kernel si potra' avviare
 
uno di questi programmi semplicemente digitandone il nome ad un
 
prompt di shell; Linux li dara' automaticamente in pasto al giusto
 
interprete.
 
 
Si possono fare anche altre cose carine. Leggere il file
 
<file:Documentation/binfmt_misc.txt> per imparare come usare questa
 
funzionalita', <file:Documentation/java.txt> per informazioni su
 
come includere il supporto Java, e <file:Documentation/mono.txt>
 
per informazioni su come includere il supporto .NET basato su Mono.
 
 
Per usare binfmt_misc occorrera' montarlo:
 
mount binfmt_misc -t binfmt_misc /proc/sys/fs/binfmt_misc
 
 
Si puo' scegliere M qui per il supporto modulare e caricare
 
successivamente il modulo quando si dovra' utilizzarlo; il modulo si
 
chiama binfmt_misc. Se non si sa cosa scegliere a questo punto,
 
scegliere Y.
 
 
=Networking --->=
 
==Networking support==
 
A meno che non si sappia esattamente cosa si sta facendo,
 
bisognerebbe scegliere Y. La ragione e' che alcuni programmi
 
necessitano del supporto alle reti nel kernel anche quando girano
 
su una macchina che non e' connessa a nessun altro computer.
 
 
Se si sta aggiornando da un vecchio kernel, si dovrebbe tenere in
 
considerazione anche l'aggiornamento degli strumenti di rete perche'
 
i cambiamenti nel kernel e negli strumenti spesso procedono di pari
 
passo. Gli strumenti sono contenuti nel pacchetto net-tools, la
 
cui locazione e numero di versione e' contenuta in
 
<file:Documentation/Changes>.
 
 
Per un'introduzione generica alle reti in Linux, e' altamente
 
consigliata la lettura del NET-HOWTO, disponibile presso
 
http://www.tldp.org/docs.html#howto.
 
==Networking options --->==
 
===Network packet filtering (replaces ipchains) --->===
 
====Network packet filtering debugging====
 
====Bridged IP/ARP packets filtering====
 
====Core Netfilter Configuration --->====
 
====IP: Netfilter Configuration --->====
 
====IPv6: Netfilter Configuration --->====
 
====DECnet: Netfilter Configuration --->====
 
====Bridge: Netfilter Configuration --->====
 
 
==Amateur Radio support --->==
 
Se si vuole connettere la macchina Linux ad una radio amatoriale
 
scegliere Y, Si vorra' leggere
 
http://www.tapr.org/tapr/html/pkthome.html e l'AX25-HOWTO
 
disponibile da http://www.tldp.org/docs.html#howto.
 
 
Notare che la risposta a questa domanda non influira' direttamente
 
sul kernel: scegliendo N si fara' semplicemente in modo che il
 
configuratore non visualizzi tutte le opzioni riguardanti le radio
 
amatoriali.
 
 
==IrDA (infrared) subsystem support --->==
 
Scegliere Y se si vuole compilare il supporto per i protocolli IrDA
 
(tm). IrDA (tm)(Infrared Data Associations = Associazioni di dati ad
 
infrarossi) specifica degli standard per comunicazioni senza fili ad
 
infrarossi ed e' supportata dalla maggior parte di portatili e PDA.
 
 
Per usare il supporto Linux per i protocolli IrDA (tm) occorreranno
 
anche alcune utilita' in user-space come irattach. Per maggiori
 
informazioni vedere il file file:Documentation/networking/irda.txt.
 
Vorrete anche leggere il IR-HOWTO, disponibile su
 
http://www.tldp.org/docs.html#howto.
 
 
Se si vogliono scambiare alcuni dati (vCal, vCard) con un PDA occorre
 
installare alcune applicazioni OBEX come OpenObex:
 
http://sourceforge.net/projects/openobex/
 
 
Per compilare questo supporto come modulo scegliere M: il modulo sara'
 
chiamato irda.
 
 
==Bluetooth subsystem support --->==
 
Bluetooth e' una tecnologia senza fili a basso costo, bassa
 
potenza e breve raggio. Fu disegnata come sostituto per i cablati
 
e latre tecnologie a breve raggio come IrDA. Bluetooth opera in
 
aree personali che si estendono tipicamente fino a 10 metri.
 
Maggiori informazioni su Bluetooth possono essere trovate su
 
http://www.bluetooth.com/.
 
 
Il sottosistema Bluetooth di Linux consiste di diversi layer:
 
* Core Bluetooth (dispositivi HCI e gestori di connessione, scheduler)
 
* Driver di dispositivi HCI (Interfaccia all'hardware)
 
* Modulo SCO (collegamenti audio SCO)
 
* Modulo L2CAP (Logical Link Control and Adaptation Protocol)
 
* Modulo RFCOMM (Protocollo RFCOMM)
 
* Modulo BNEP (Bluetooth Network Encapsulation Protocol)
 
* Modulo CMTP (CAPI Message Transport Protocol)
 
* Modulo HIDP (Human Interface Device Protocol)
 
 
Scegliere Y per compilare il supporto Bluetooth dentro il kernel o
 
scegliere M per compilarlo come modulo (bluetooth).
 
 
Per usare il sottosistema Bluetooth di Linux occorrono diverse
 
utilita' in user-space come hciconfig e hcid. Queste utilita' e
 
aggiornamenti ai moduli Bluetooth del kernel sono forniti nel
 
pacchetto BlueZ. Per maggiori informazioni vedere
 
http://www.bluez.org/.
 
 
==Generic IEEE 802.11 Networking Stack==
 
Questa opzione abilita lo stack di rete IEEE 802.11
 
indipendente dall'hardware.
 
===Enable full debugging output===
 
Questa opzione abilitera' l'output di debugging per lo stack
 
di rete ieee80211.
 
 
Il kernel risultante sara' di circa 70k piu' grande. Si puo'
 
controllare quale output di debugging sara' inviato al log
 
del kernel impostandone il valore in
 
 
/proc/net/ieee80211/debug_level
 
 
Ad esempio:
 
 
% echo 0x00000FFO > /proc/net/ieee80211/debug_level
 
 
per un'elenco di valori che e' possibile assegnare a
 
debug_level, i valori della bit-mask possono essere
 
trovati in net/ieee80211.h.
 
 
Se non si sta cercando di fare il debugging o sviluppare il
 
sottosistema ieee80211, probabilmente e' meglio scegliere N.
 
===IEEE 802.11 WEP encryption (802.1x)===
 
Include suite di cifrari basati su software nel supporto del
 
WEP di IEEE 802.11. Questo e' necessario per WEP cosi' come
 
per 802.1x.
 
 
Questo puo' essere compilato come modulo e si chiamera'
 
"ieee80211_crypt_wep".
 
===IEEE 802.11i CCMP support===
 
Include suite di cifrari basati su software nel supporto per
 
IEEE 802.11i (noto anche come TGi, WPA, WPA2, WPA-PSK, ecc.)
 
per l'utilizzo in reti con CCMP abilitato.
 
 
Questo puo' essere compilato come modulo e si chiamera'
 
"ieee80211_crypt_ccmp".
 
===Software MAC add-on to the IEEE 802.11 networking stack===
 
Questa opzione abilita l'addon per MAC software indipendente
 
dall'hardware nello stack di rete IEEE 802.11.
 
===Enable full debugging output===
 
 
=Device Drivers --->=
 
=File systems --->=
 
=Instrumentation Support --->=
 
==Profiling support==
 
Scegliere Y per abilitare il supporto esteso ai meccanismi dei
 
profili usati dai creatori di profili come OProfile.
 
==OProfile system profiling==
 
OProfile e' un sistema per la creazione di profili capace di
 
fare il profilo dell'intero sistema, compreso il kernel, i
 
moduli del kernel, le librerie, e le applicazioni.
 
 
Nel dubbio scegliere N.
 
==Kprobes==
 
Kprobes consente l'aggancio a quasi qualunque indirizzo del
 
kernel e l'esecuzione di una funzione di callback.
 
register_kprobe() instaura un punto di prova e specifica la
 
callback. Kprobes e' utile per il debugging del kernel,
 
strumentazione e test non intrusivi.
 
Nel dubbio scegliere "N".
 
 
=Kernel hacking --->=
 
=Security options --->=
 
==Enable access key retention support==
 
Questa opzione fornisce il supporto per la ritenzione automatica di
 
token e chiavi d'accesso nel kernel.
 
 
Questo comprende la fornitura di metodi con i quali tali chiavi
 
potrebbero essere associate a un processo in modo che file system
 
di rete, supporto alla criptazione e quant'altro possano trovarle.
 
 
Poi, e' disponibile uno speciale tipo di chiave che fa da
 
portachiavi: una sequenza di chiavi ricercabile. Ogni processo
 
viene dotato di accesso a cinque portachiavi standard:
 
specifico-UID, specifico-GID, sessione, processo e thread.
 
 
Se non sui e' sicuri che questo sia richiesto, scegliere N.
 
==Enable the /proc/keys file by which all keys may be viewed==
 
Questa opzione attiva il supporto per il file /proc/keys attraverso
 
il quale si possono elencare tutte le chiavi sul sistema.
 
 
Questa opzione e' un lieve rischio in termini di sicurezza, perche'
 
rende possibile per chiunque vedere tutte le chiavi sul sistema.
 
Normalmente il gestore ritiene che una chiave non esista se e'
 
inaccessibile ad un processo fintanto che il processo e' coinvolto.
 
==Enable different security models==
 
Questo permette di scegliere diversi modelli di sicurezza
 
da essere configurati dentro il kernel.
 
 
Se questa opzione non viene selezionata verra' usato il
 
modello di sicurezza predefinito di Linux.
 
 
Se non si e' sicuri di cosa scegliere in questa opzione,
 
scegliere N.
 
==Socket and Networking Security Hooks==
 
Questo abilita gli agganci di sicurezza per rete e socket.
 
Se abilitati, un modulo di sicurezza puo' usare questi agganci
 
per implementare controlli sugli accessi a rete e socket.
 
Se non si e' sicuri di cosa scegliere, scegliere N.
 
==XFRM (IPSec) Networking Security Hooks==
 
Questo abilita gli agganci di sicurezza per rete XFRM (IPSec).
 
Se abilitati, un modulo di sicurezza puo' usare questi agganci
 
per implementare controlli sugli accessi per pacchetto sulla
 
base di etichette derivate dalle regole IPSec. Le comunicazioni
 
non IPSec sono considerate come non etichettate, e solo i
 
socket autorizzati a comunicare dati non etichettati potranno
 
inviare dati senza usare IPSec.
 
Se non si e' sicuri di cosa scegliere, scegliere N.
 
 
==Default Linux Capabilities==
 
Questo abilita la funzionalita' delle capacita' "predefinite"
 
di Linux.
 
Se non si e' sicuri di cosa scegliere in questa opzione,
 
scegliere Y.
 
==Root Plug Support==
 
Questo e' un modulo LSM d'esempio che dovrebbe essere usato
 
solo per quello che e'. impedisce a qualunque programma di
 
girare con egid == 0 se uno specifico dispositivo USB non
 
e' presente sul sistema.
 
 
Vedere http://www.linuxjournal.com/article.php?sid=6279 per
 
maggiori informazioni su questo modulo.
 
 
Se non si e' sicuri di cosa scegliere in questa opzione,
 
scegliere N.
 
 
==BSD Secure Levels==
 
Implementa i Livelli sicuri BSD (BSD Secure Levels) come LSM.
 
Vedere <file:Documentation/seclvl.txt> per istruzioni sull'uso
 
di questo modulo.
 
 
Se non si e' sicuri di cosa scegliere, scegliere N.
 
==NSA SELinux Support==
 
Questo seleziona SELinux (Security-Enhanced Linux = Linux a
 
sicurezza potenziata) di NSA.
 
Occorrera' anche una configurazione della policy e un filesystem
 
etichettato. Si puo' ottenere il compilatore di policy (checkpolicy),
 
l'utilita' per l'etichettatura del filesystem (setfiles), e un
 
esempio di configurazione della policy presso
 
http://www.nsa.gov/selinux/.
 
Se non si e' sicuri di cosa scegliere in questa opzione, scegliere N.
 
==NSA SELinux boot parameter==
 
Questa opzione aggiunge un parametro del kernel 'selinux' che
 
permette di disabilitare SELinux all'avvio. Se questa opzione e'
 
selezionata, le funzionalita' di SELinux possono essere
 
disabilitate con selinux=0 sulla linea di comando del kernel.
 
Lo scopo di questa opzione e' quello di permettere la
 
distribuzione di una immagine del kernel con SELinux integrato
 
ma non necessariamente abilitato.
 
 
Se non si e' sicuri di cosa scegliere in questa opzione,
 
scegliere N.
 
==NSA SELinux boot parameter default value==
 
Questa opzione imposta il valore predefinito del parametro del
 
kernel 'selinux', che consente di disabilitare SELinux all'avvio.
 
Se questa opzione e' impostata a 0 (zero) il valore predefinito
 
del parametro sara' 0, disabilitando SELinux all'avvio. Se questa
 
opzione e' impostata a 1 (uno) il valore predefinito del
 
parametro sara' 1, abilitando SELinux all'avvio.
 
 
Se non si e' sicuri di cosa fare, scegliere 1.
 
==NSA SELinux runtime disable==
 
Questa opzione abilita la scrittura di 'disable' su un nodo
 
di selinuxfs, che permette di disabilitare SELinux a sistema
 
avviato prima del caricamento della policy. SELinux rimarra'
 
quindi disabilitato fino al prossimo avvio.
 
Questa opzione e' simile al parametro di avvio selinux=0, ma e'
 
per supportare la disabilitazione di SELinux a sistema avviato,
 
ad esempio da /sbin/init, per portabilita' tra piattaforme dove
 
i parametri di avvio sono difficili da utilizzare.
 
 
Se non si e' sicuri di cosa scegliere in questa opzione,
 
scegliere N.
 
==NSA SELinux Development Support==
 
Questo abilita l'opzione di supporto per lo sviluppo di NSA
 
SELinux, che e' utile per sperimentare con SELinux e le policy
 
di sviluppo. Nel dubbio scegliere Y. Con questa opzione abilitata
 
il kernel partira' in modalita' permissiva (logga tutto, non nega
 
nulla) a meno che si specifichi enforcing=1 sulla linea di comando
 
del kernel. Si puo' commutare interattivamente il kernel tra la
 
modalita' rinforzata e permissiva (se permesso dalla policy)
 
attraverso /selinux/enforce.
 
==NSA SELinux AVC Statistics==
 
Questa opzione raccoglie statistiche sull'accesso alla
 
cache vettori in /selinux/avc/cache_stats, che possono
 
essere monitorate con strumenti come avcstat.
 
==NSA SELinux checkreqprot default value==
 
Questa opzione imposta il valore predefinito della flag
 
'checkreqprot' che determina i controlli di SELinux sulla
 
protezione richiesta dall'applicazione o sulla protezione
 
che verra' applicata dal kernel (compresa ogni esecuzione
 
implicita per read-implies-exec) per le chiamate mmap e
 
mprotect. Se questa opzione viene impostata a 0 (zero),
 
SELinux controllera' predefinitamente la protezione
 
applicata dal kernel. Se questa opzione viene impostata a
 
1 (uno), SELinux controllera' predefinitamente la protezione
 
richiesta dall'applicazione. La flag checkreqprot puo'
 
essere cambiata attraverso il parametro d'avvio
 
'checkreqprot='. Puo' inoltre essere cambiata a sistema
 
avviato attraverso /selinux/checkreqprot se autorizzato
 
dalle regole impostate.
 
 
Se non si e' sicuri di cosa scegliere, scegliere 1.
 
==NSA SELinux enable new secmark network controls by default==
 
Questa opzione determina se i controlli di rete basati sul
 
nuovo secmark debbano essere abilitati predefinitamente. In
 
caso contrario verranno abilitati i vecchi controlli interni
 
per pacchetto, preservando il vecchio comportamento.
 
 
Se si abilitano i nuovi controlli si avra' bisogno di
 
nuove e aggiornate librerie, sturmenti e regole SELinux.
 
Di solito la propria distribuzione li fornira' e abilitera'
 
i nuovi controlli nel kernel che essa stessa distribuisce.
 
 
Notare che questa opzione puo' essere scavalcata al boot
 
con il parametro selinux_compat_n, e l boot il boot
 
attraverso /selinux/compat_net. Vedere
 
Documentation/kernel-parameters.txt per dettagli su questi
 
parametri.
 
 
Se si abilitano i nuovi controlli di rete si avra'
 
probabilmente bisogno dei target SECMARK e CONNSECMARK,
 
oltre a qualunque aiutante di conntrack per i protocolli
 
che si desidera controllare.
 
 
Se non si sa cosa fare qui, scegliere N.
 
 
=Cryptographic options --->=
 
==Cryptographic API==
 
Questa opzione fornisce il core della API crittografica.
 
==HMAC support==
 
HMAC: cifratura a chiave per autenticazione dei messaggi (RFC2104). Questo e' richiesto per IPSec.
 
==Null algorithms==
 
Questi sono algoritmi 'null', usati da IPsec, che non fanno nulla.
 
==MD4 digest algorithm==
 
Algoritmo per digest di messaggi MD4 (RFC1320).
 
==MD5 digest algorithm==
 
Algoritmo per digest di messaggi MD5 (RFC1321).
 
==SHA1 digest algorithm==
 
Standard a hash sicuro SHA-1 (FIPS 180-1/DFIPS 180-2).
 
==SHA256 digest algorithm==
 
Standard a hash sicuro SHA256 (DFIPS 180-2).
 
 
Questa versione di SHA implementa un hash a 256 bit con 128 bit
 
di sicurezza contro attacchi a collisione.
 
==SHA384 and SHA512 digest algorithms==
 
Standard a hash sicuro SHA512 (DFIPS 180-2).
 
 
Questa versione di SHA implementa un hash a 512 bit con 256 bit
 
di sicurezza contro attacchi a collisione.
 
 
Questo codice include inoltre SHA-384, un hash a 384 bit con 192
 
bit di sicurezza contro attacchi a collisione.
 
==Whirlpool digest algorithms==
 
Algoritmo di hash Whirlpool con hash a 512, 384 e 256-bit.
 
 
Whirlpool-512 e' parte delle primitive crittografiche
 
NESSIE. Whirlpool sara' parte dello standard ISO/IEC
 
10118-3:2003(E).
 
 
Vedere anche:
 
http://planeta.terra.com.br/informatica/paulobarreto/WhirlpoolPage.html
 
==Tiger digest algorithms==
 
Algoritmo di hash Tiger con hash a 192, 160 e 128-bit
 
 
Tiger e' una funzione di hash ottimizzata per processori a
 
64-bit pur avendo prestazioni decenti anche su processori
 
a 32-bit.
 
Tiger fu sviluppato da Ross Anderson e Eli Biham.
 
 
Vedere anche:
 
http://www.cs.technion.ac.il/~biham/Reports/Tiger/.
 
==DES and Triple DES EDE cipher algorithms==
 
Algoritmi di cifratura DES (FIPS 46-2), e Triple DES EDE (FIPS 46-3).
 
==Blowfish cipher algorithm==
 
Algoritmo di cifratura Blowfish, di Bruce Schneier.
 
 
Questo e' un algoritmo con chiave a lunghezza variabile che puo'
 
usare chiavi da 32 bit a 448 bit di lunghezza. E' veloce, semplice
 
e disegnato specificamente per l'uso in "microprocessori grandi".
 
 
Vedere anche:
 
http://www.schneier.com/blowfish.html
 
==Twofish cipher algorithm==
 
Algoritmo di cifratura Twofish.
 
 
Twofish fu presentato come cifrario candidato ad AES (Advanced
 
Encryption Standard) dai ricercatori di CounterPane Systems. E'
 
un cifrario a blocchi di 16 giri che supporta chiavi di 128, 192,
 
e 256 bit di lunghezza.
 
 
Vedere anche:
 
http://www.schneier.com/twofish.html
 
==Serpent cipher algorithm==
 
Algoritmo di cifratura Serpent, di Anderson, Biham & Knudsen.
 
 
Sono permesse chiavi da 0 a 256 bit di lunghezza in passi da
 
8 bit. Include anche l'algoritmo 'Tnepres', una variante
 
inversa di Serpent per compatibilita' con il vecchio
 
codice del kernel.
 
 
Vedere anche:
 
http://www.cl.cam.ac.uk/~rja14/serpent.html
 
==AES cipher algorithms==
 
Algoritmo di cifratura AES (FIPS-197). AES usa l'algoritmo
 
Rijndael.
 
 
Rijndael sembra essere molto buono in termini di prestazioni
 
sia in hardware che in software in una vasta gamma di ambienti
 
di calcolo a prescindere dal suo utilizzo in modalita' feedback
 
o non-feedback. Il suo tempo di configurazione della chiave e'
 
eccellente, e l'agilita' della sua chiave e' buona. Le scarse
 
richieste di Rijndael in fatto di memoria lo rendono indicato
 
particolarmente per ambienti in spazio ristretto, nei quali
 
dimostra prestazioni eccellenti. Le operazioni di Rijndael sono
 
tra le piu' facili da difendere dagli attacchi di forza e tempo.
 
 
L'AES specifica tre dimensioni per le chiavi: 128, 192 e 256 bit.
 
 
Vedere per maggiori informazioni
 
http://csrc.nist.gov/CryptoToolkit/aes/.
 
==AES cipher algorithms (i586)==
 
Algoritmo di cifratura AES (FIPS-197). AES usa l'algoritmo
 
Rijndael.
 
 
Rijndael sembra essere molto buono in termini di prestazioni
 
sia in hardware che in software in una vasta gamma di ambienti
 
di calcolo a prescindere dal suo utilizzo in modalita' feedback
 
o non-feedback. Il suo tempo di configurazione della chiave e'
 
eccellente, e l'agilita' della sua chiave e' buona. Le scarse
 
richieste di Rijndael in fatto di memoria lo rendono indicato
 
particolarmente per ambienti in spazio ristretto, nei quali
 
dimostra prestazioni eccellenti. Le operazioni di Rijndael sono
 
tra le piu' facili da difendere dagli attacchi di forza e tempo.
 
 
L'AES specifica tre dimensioni per le chiavi: 128, 192 e 256 bit.
 
 
Vedere http://csrc.nist.gov/encryption/aes/ per maggiori informazioni.
 
==CAST5 (CAST-128) cipher algorithm==
 
L'algoritmo di crittazione CAST5 (sinonimo di CAST-128) e' descritto nel RFC2144.
 
==CAST6 (CAST-256) cipher algorithm==
 
L'algoritmo di crittazione CAST6 (sinonimo di CAST-256) e' descritto nel RFC2612.
 
==TEA, XTEA and XETA cipher algorithms==
 
Algoritmo di cifratura TEA.
 
 
Il TEA (Tiny Encryption Algorithm) e' un semplice cifrario
 
che usa vari giri per la sicurezza. E' molto veloce e usa
 
poca memoria.
 
 
L'XTEA (Xtendend Tiny Encryption Algorithm) e' una
 
modifica dell'algoritmo TEA per risolvere una potenziale
 
debolezza della chiave nell'algoritmo TEA.
 
 
L'XETA (Xtendend Encryption Tiny Algorithm) e' una
 
implementazione dell'algoritmo XTEA a scopi di compatibilita'.
 
==ARC4 cipher algorithm==
 
Algoritmo di cifratura ARC4.
 
 
ARC4 e' un cifrario di flusso che usa chiavi da 8 bit a 2048
 
bit di lunghezza. Questo algoritmo e' richiesto per il WEP
 
basato su driver, ma non dovrebbe essere usato per altri scopi
 
a causa della debolezza del suo algoritmo.
 
==Khazad cipher algorith==
 
Algoritmo di cifratura Khazad.
 
 
Khazad era finalista nella competizione iniziale NESSIE. E' un
 
algoritmo ottimizzato per i processori a 64-bit con buone
 
prestazioni sui processori a 32-bit. Khazad usa una chiave di
 
128 bit di lunghezza.
 
 
Vedere anche:
 
http://planeta.terra.com.br/informatica/paulobarreto/KhazadPage.html
 
==Anubis cipher algorithm==
 
Algoritmo di cifratura Anubis.
 
 
Anubis e' un cifrario con chiave a lunghezza variabile che puo'
 
usare chiavi da 128 bit a 320 bit di lunghezza. Era valutato
 
come entrante nella competizione NESSIE.
 
 
Vedere anche:
 
https://www.cosic.esat.kuleuven.ac.be/nessie/reports/
 
http://planeta.terra.com.br/informatica/paulobarreto/AnubisPage.html
 
 
==Deflate compression algorithm==
 
Questo e' l'algoritmo Deflate (RFC1951), specifico per l'uso
 
in IPSec con il protocollo IPCOMP (RFC3173, RFC2394).
 
 
Lo si vorra' molto probabilmente se si usa IPSec.
 
==Michael MIC keyed digest algorithm==
 
Michael MIC e' usato per la protezione dell'integrita' dei
 
messaggi in TKIP (IEEE 802.11i). Questo algoritmo e' richiesto
 
per TKIP, ma non dovrebbe essere usato per altri scopi a causa
 
della debolezza dell'algoritmo.
 
==CRC32c CRC algorithm==
 
Algoritmo CRC (Cyclic Redundancy-Check = controllo a
 
ridondanza ciclico) Castagnoli. Usato da iSCSI per i digest di
 
intestazioni e dati, e da altri.
 
Vedere Castagnoli93. Questa implementazione usa lib/libcrc32c.
 
Il modulo si chiamera' crc32c.
 
==Testing module==
 
Modulo di test crittografico sporco e veloce.
 
==Hardware crypto devices --->==
 
===Support for VIA PadLock ACE===
 
Alcuni processori VIA hanno un motore crittografico integrato
 
(il cosiddetto VIA PadLock ACE, Advanced Cryptography Engine)
 
che fornisce istruzioni per {de}crittazione molto veloce con
 
alcuni algoritmi.
 
 
Le istruzioni vengono usate solo se la CPU le supporta.
 
Altrimenti viene usata la crittazione software. Nel dubbio
 
scegliere Y.
 
===Support for AES in VIA PadLock===
 
Usa il VIA PadLock per l'algoritmo AES.
 
 
=Library routines --->=
 
==CRC-CCITT functions==
 
Questa opzione viene fornita per i casi ove nessun modulo
 
nell'albero del kernel richiede funzioni CRC-CCITT, ma un
 
modulo compilato esternamente le richiede. Quei moduli che
 
usano le funzioni della libreria CRC32 richiedono M qui.
 
==CRC16 functions==
 
Questa opzione viene fornita per i casi ove nessun modulo
 
nell'albero del kernel richiede funzioni CRC16, ma un
 
modulo compilato esternamente le richiede. Quei moduli che
 
usano le funzioni della libreria CRC16 richiedono M qui.
 
==CRC32 functions==
 
Questa opzione viene fornita per i casi ove nessun modulo
 
nell'albero del kernel richiede funzioni CRC32, ma un modulo
 
compilato esternamente le richiede. Quei moduli che usano le
 
funzioni della libreria CRC32 richiedono M qui.
 
==CRC32c (Castagnoli, et al) Cyclic Redundancy-Check==
 
Questa opzione viene fornita per i casi ove nessun modulo
 
nell'albero del kernel richiede funzioni CRC32c, ma un modulo
 
compilato esternamente le richiede. Quei moduli che usano le
 
funzioni della libreria CRC32c richiedono M qui. Vedere
 
Castagnoli93.
 
Il modulo sara' libcrc32c.
 

Versione delle 08:07, 14 lug 2007

Strumenti personali
Namespace

Varianti