Kernel Menuconfig
WORK IN PROGRESS
Kernel 2.6.18
parti da completare:
- Power management options (ACPI, APM)
- Bus options (PCI, PCMCIA, EISA, MCA, ISA)
- Network
- File Systems
- Device Drivers
- Kernel hacking
- Cryptographic options
Indice
- 1 Code maturity level options --->
- 2 General setup --->
- 2.1 Local version - append to kernel release
- 2.2 Automatically append version information to the version string
- 2.3 Support for paging of anonymous memory (swap)
- 2.4 System V IPC
- 2.5 POSIX Message Queues
- 2.6 BSD Process Accounting
- 2.7 BSD Process Accounting version 3 file format
- 2.8 Export task/process statistics through netlink
- 2.9 Enable per-task delay accounting
- 2.10 Auditing support
- 2.11 Enable system-call auditing support
- 2.12 Kernel .config support
- 2.13 Enable access to .config through /proc/config.gz
- 2.14 Cpuset support
- 2.15 Kernel->user space relay support (formerly relayfs)
- 2.16 Initramfs source file(s)
- 2.17 Optimize for size (Look out for broken compilers!)
- 2.18 Configure standard kernel features (for small systems) --->
- 2.18.1 Enable 16-bit UID system calls
- 2.18.2 Sysctl support
- 2.18.3 Load all symbols for debugging/kksymoops
- 2.18.4 Do an extra kallsyms pass
- 2.18.5 Support for hot-pluggable devices
- 2.18.6 Enable support for printk
- 2.18.7 BUG() support
- 2.18.8 Enable ELF core dumps
- 2.18.9 Enable full-sized data structures for core
- 2.18.10 Enable futex support
- 2.18.11 Enable eventpoll support
- 2.18.12 Use full shmem filesystem
- 2.18.13 Use full SLAB allocator
- 2.18.14 Enable VM event counters for /proc/vmstat
- 3 Loadable module support --->
- 4 Block layer --->
- 5 Processor type and features --->
- 5.1 Symmetric multi-processing support
- 5.2 Subarchitecture Type () --->
- 5.2.1 PC-compatible
- 5.2.2 AMD Elan
- 5.2.3 Voyager (NCR)
- 5.2.4 NUMAQ (IBM/Sequent)
- 5.2.5 Summit/EXA (IBM x440)
- 5.2.6 Support for other sub-arch SMP systems with more than 8 CPUs
- 5.2.7 SGI 320/540 (Visual Workstation)
- 5.2.8 Generic architecture (Summit, bigsmp, ES7000, default)
- 5.2.9 Support for Unisys ES7000 IA32 serie
- 5.3 Processor family () --->
- 5.3.1 386
- 5.3.2 486
- 5.3.3 586/K5/5x86/6x86/6x86MX
- 5.3.4 Pentium-Classic
- 5.3.5 Pentium-MMX
- 5.3.6 Pentium-Pro
- 5.3.7 Pentium-II/Celeron(pre-Coppermine)
- 5.3.8 Pentium-III/Celeron(Coppermine)/Pentium-III Xeon
- 5.3.9 Pentium M
- 5.3.10 Pentium-4/Celeron(P4-based)/Pentium-4 M/Xeon
- 5.3.11 K6/K6-II/K6-III
- 5.3.12 Athlon/Duron/K7
- 5.3.13 Opteron/Athlon64/Hammer/K8
- 5.3.14 Crusoe
- 5.3.15 Efficeon
- 5.3.16 Winchip-C6
- 5.3.17 Winchip-2
- 5.3.18 Winchip-2A/Winchip-3
- 5.3.19 GeodeGX1
- 5.3.20 Geode GX/LX
- 5.3.21 CyrixIII/VIA-C3
- 5.3.22 VIA C3-2 (Nehemiah)
- 5.4 Generic x86 support
- 5.5 HPET Timer Support
- 5.6 Maximum number of CPUs (2-255)
- 5.7 SMT (Hyperthreading) scheduler support
- 5.8 Multi-core scheduler support
- 5.9 Preemption Model () --->
- 5.10 Preempt The Big Kernel Lock
- 5.11 Machine Check Exception
- 5.12 Check for non-fatal errors on AMD Athlon/Duron / Intel Pentium 4
- 5.13 check for P4 thermal throttling interrupt.
- 5.14 Enable VM86 support
- 5.15 Toshiba Laptop support
- 5.16 Dell laptop support
- 5.17 Enable X86 board specific fixups for reboot
- 5.18 /dev/cpu/microcode - Intel IA32 CPU microcode support
- 5.19 /dev/cpu/*/msr - Model-specific register support
- 5.20 /dev/cpu/*/cpuid - CPU information support
- 5.21 Firmware Drivers --->
- 5.22 High Memory Support () --->
- 5.23 Memory model () --->
- 5.24 64 bit Memory and IO resources
- 5.25 Allocate 3rd-level pagetables from highmem
- 5.26 Math emulation
- 5.27 MTRR (Memory Type Range Register) support
- 5.28 Boot from EFI support
- 5.29 Enable kernel irq balancing
- 5.30 Use register arguments
- 5.31 Enable seccomp to safely compute untrusted bytecode
- 5.32 Timer frequency () --->
- 5.33 kexec system call
- 5.34 kernel crash dumps
- 5.35 (0x1000000) Physical address where the kernel is loaded
- 5.36 Support for hot-pluggable CPUs
- 5.37 Compat VDSO support
- 6 Power management options (ACPI, APM) --->
- 7 Bus options (PCI, PCMCIA, EISA, MCA, ISA) --->
- 8 Executable file formats --->
- 9 Networking --->
- 10 Device Drivers --->
- 11 File systems --->
- 12 Instrumentation Support --->
- 13 Kernel hacking --->
- 14 Security options --->
- 14.1 Enable access key retention support
- 14.2 Enable the /proc/keys file by which all keys may be viewed
- 14.3 Enable different security models
- 14.4 Socket and Networking Security Hooks
- 14.5 XFRM (IPSec) Networking Security Hooks
- 14.6 Default Linux Capabilities
- 14.7 Root Plug Support
- 14.8 BSD Secure Levels
- 14.9 NSA SELinux Support
- 14.10 NSA SELinux boot parameter
- 14.11 NSA SELinux boot parameter default value
- 14.12 NSA SELinux runtime disable
- 14.13 NSA SELinux Development Support
- 14.14 NSA SELinux AVC Statistics
- 14.15 NSA SELinux checkreqprot default value
- 14.16 NSA SELinux enable new secmark network controls by default
- 15 Cryptographic options --->
- 15.1 Cryptographic API
- 15.2 HMAC support
- 15.3 Null algorithms
- 15.4 MD4 digest algorithm
- 15.5 MD5 digest algorithm
- 15.6 SHA1 digest algorithm
- 15.7 SHA256 digest algorithm
- 15.8 SHA384 and SHA512 digest algorithms
- 15.9 Whirlpool digest algorithms
- 15.10 Tiger digest algorithms
- 15.11 DES and Triple DES EDE cipher algorithms
- 15.12 Blowfish cipher algorithm
- 15.13 Twofish cipher algorithm
- 15.14 Serpent cipher algorithm
- 15.15 AES cipher algorithms
- 15.16 AES cipher algorithms (i586)
- 15.17 CAST5 (CAST-128) cipher algorithm
- 15.18 CAST6 (CAST-256) cipher algorithm
- 15.19 TEA, XTEA and XETA cipher algorithms
- 15.20 ARC4 cipher algorithm
- 15.21 Khazad cipher algorith
- 15.22 Anubis cipher algorithm
- 15.23 Deflate compression algorithm
- 15.24 Michael MIC keyed digest algorithm
- 15.25 CRC32c CRC algorithm
- 15.26 Testing module
- 15.27 Hardware crypto devices --->
- 16 Library routines --->
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) --->
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 --->
Amateur Radio support --->
IrDA (infrared) subsystem support --->
Bluetooth subsystem support --->
Generic IEEE 802.11 Networking Stack
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.