Il kernel è il nocciolo del sistema operativo. I programmi utilizzano le funzioni fornite dal kernel, e in questa maniera sono sollevati dall'agire direttamente con la CPU.
Il kernel è costituito normalmente da un unico file il cui nome può essere vmlinuz
, oppure zImage
, zbImage
e altri ancora, ma può comprendere anche moduli aggiuntivi per la gestione di componenti hardware specifici che devono poter essere attivati e disattivati durante il funzionamento del sistema.
Il kernel può essere predisposto in un unico file, oppure può utilizzare qualche modulo aggiuntivo attivabile e disattivabile a piacere durante il funzionamento. Nel primo caso si parla di kernel monolitico e nel secondo di kernel modulare.
Il kernel monolitico ha il vantaggio di avere tutto in un file, ma nello stesso modo è rigido e non permette di liberare risorse quando le unità periferiche gestite non servono.
Il kernel modulare ha il vantaggio di poter disattivare e riattivare i moduli a seconda delle esigenze, in particolare quando moduli distinti gestiscono in modo diverso lo stesso tipo di unità periferica. Tuttavia, a causa della frammentazione in molti file, l'uso dei moduli può essere fonte di errori.
In generale, l'uso dei kernel modulari dovrebbe essere riservato agli utilizzatori che hanno già un'esperienza sufficiente nella gestione dei kernel monolitici.
Ci possono essere situazioni in cui l'uso di un kernel modulare è praticamente indispensabile, per esempio quando un certo tipo di dispositivo fisico può essere gestito in vari modi differenti e conflittuali, ma si tratta di situazioni rare.
Le distribuzioni GNU/Linux tendono a fornire agli utilizzatori un kernel modulare per usi generali. Anche se questo si adatterà sicuramente alla maggior parte delle configurazioni, ci sono situazioni particolari dove è preferibile costruire un proprio kernel, monolitico o modulare che sia.
Per poter comprendere il procedimento di compilazione descritto in questo capitolo, occorre sapere come si compila e si installa un tipico programma distribuito in forma sorgente, come descritto nel capitolo 9.
Il procedimento descritto nelle sezioni seguenti serve per generare un kernel monolitico, cioè un kernel in un unico file.
Per poter procedere alla compilazione del kernel è necessario avere installato gli strumenti di sviluppo software, cioè il compilatore, e i sorgenti del kernel.
I sorgenti del kernel possono anche essere reperiti attraverso vari FTP. In tal caso si può fare una ricerca per i file che iniziano per linux-
x.y.z.tar.gz
, dove x.y.z sono i numeri della versione.
Il numero di versione del kernel è strutturato in tre livelli: x.y.z, dove il primo, x, rappresenta il valore più importante, mentre l'ultimo, z, rappresenta quello meno importante. Quello che conta, è porre attenzione al valore intermedio: y. Se si tratta di un numero pari, la versione si riferisce a un kernel ritenuto sufficientemente stabile, mentre un numero dispari rappresenta una versione destinata agli sviluppatori e non ritenuta sufficientemente sicura per l'utilizzo normale.
Se i sorgenti sono stati installati attraverso un disco (un CD-ROM) di una distribuzione, questi si troveranno al loro posto, altrimenti occorre provvedere a installarli manualmente. La posizione in cui devono trovarsi i sorgenti del kernel è la directory /usr/src/linux/
. Se si utilizza un altra posizione è necessario utilizzare un collegamento simbolico che permetta di raggiungere i sorgenti nel modo prestabilito.
Occorre inoltre verificare che tre collegamenti simbolici contenuti nella directory /usr/include/
siano corretti.
| |
| |
|
È evidente che il primo, asm
, dipende dal tipo di piattaforma hardware utilizzato.
La prima cosa da fare è quella di posizionarsi nella directory dei sorgenti. La seconda è leggere il contenuto del file README
. In linea di massima si procede nel modo seguente per definire una nuova configurazione.
#
cd /usr/src/linux
La directory corrente deve essere quella a partire dalla quale si diramano i sorgenti del kernel.
#
make mrproper
Serve a eliminare file e collegamenti vecchi che potrebbero interferire con una nuova compilazione.
#
make config
È l'operazione più delicata attraverso la quale si definiscono le caratteristiche e i componenti del kernel che si vuole ottenere. Ogni volta che si esegue questa operazione viene riutilizzato il file .config
contenente la configurazione impostata precedentemente, e alla fine la nuova configurazione viene salvata nello stesso file. Di conseguenza, ripetendo il procedimento make config
, le scelte predefinite corrisponderanno a quelle effettuate precedentemente.
Il comando |
Se si dispone di un kernel recente, in alternativa a make config
che è un metodo piuttosto spartano di configurare il sistema, si possono utilizzare:
#
make menuconfig
un sistema di configurazione a menu basato su testo;
#
make xconfig
un sistema di configurazione a menu grafico per X.
+------------------------------- Main Menu -------------------------------+ | Arrow keys navigate the menu. <Enter> selects submenus --->. | | Highlighted letters are hotkeys. Pressing <Y> includes, <N> excludes, | | <M> modularizes features. Press <Esc><Esc> to exit, <?> for Help. | | Legend: [*] built-in [ ] excluded <M> module < > module capable | | +---------------------------------------------------------------------+ | | | Code maturity level options ---> | | | | Processor type and features ---> | | | | Loadable module support ---> | | | | General setup ---> | | | | Plug and Play support ---> | | | | Block devices ---> | | | | Networking options ---> | | | | SCSI support ---> | | | | Network device support ---> | | | | Amateur Radio support ---> | | | | ISDN subsystem ---> | | | +------v(+)-----------------------------------------------------------+ | +-------------------------------------------------------------------------+ | <Select> < Exit > < Help > | +-------------------------------------------------------------------------+ |
make menuconfig
.
Figura 12.2:
Uno dei menu della configurazione del kernel attraverso il comando make xconfig
.
La compilazione può essere ottenuta utilizzando la sequenza di comandi seguente:
#
make dep ; make clean ; make zImage
Si tratta di tre operazioni che si possono avviare tranquillamente in questo modo perché non richiedono nessun tipo di interazione con l'utente. Al termine della compilazione, se questa ha avuto successo, il nuovo kernel si trova nella directory /usr/src/linux/arch/i386/boot/
con il nome zImage
(questo vale naturalmente nel caso si utilizzi l'architettura PC ovvero i386).
Se il kernel che si genera è troppo grande, potrebbe non funzionare l'istruzione |
Naturalmente, per fare in modo che il kernel possa essere utilizzato, questo andrà collocato dove è necessario che si trovi perché il sistema che si occupa del suo avvio possa trovarlo. Se si usa LILO occorrerà copiarlo nella directory radice o in /boot/
e rinominarlo vmlinuz
(come di consueto), oltre che ripetere l'installazione del sistema di caricamento LILO.
Il modo migliore (nel senso che è meno pericoloso) per verificare il funzionamento di un nuovo kernel è quello di farne una copia in un dischetto di avvio (ovvero un dischetto di boot). *1*
#
cp /usr/src/linux/arch/i386/boot/zImage /dev/fd0
Per utilizzare correttamente questo dischetto di avvio è molto probabile che si debba intervenire prima con il programma rdev
(
8.1.1).
Il procedimento per la creazione di un kernel modulare inizia nello stesso modo di quello monolitico e giunge alla creazione di un file che in più ha dei riferimenti a moduli esterni che vengono compilati a parte. Questi moduli, per poter essere gestiti correttamente, necessitano di programmi di utilità che si occupano della loro attivazione e disattivazione.
Oltre che i sorgenti del kernel, sono necessari i programmi per la gestione dei moduli. Questi si trovano normalmente in pacchetti il cui nome è organizzato in modo simile a quello dei sorgenti del kernel: modules-
x.y.z.tar.gz
. La struttura della versione rappresentata dai numeri x.y.z rispecchia lo stesso meccanismo utilizzato per i sorgenti del kernel, però non ne vengono prodotte altrettante versioni: si dovrà badare a utilizzare la versione più vicina a quella del kernel che si utilizza.
Questo pacchetto si trova normalmente nella stessa directory del sito FTP dal quale si ottengono i sorgenti del kernel.
Anche i programmi contenuti nel pacchetto modules-
x.y.z.tar.gz
sono in forma sorgente e per poter essere utilizzati devono essere compilati e installati.
Se si sta ricompilando il kernel attraverso i sorgenti della distribuzione GNU/Linux che si utilizza, è ragionevole supporre che questi programmi di gestione dei moduli siano già stati installati correttamente. |
Dopo la preparazione del file principale del kernel attraverso lo stesso procedimento visto nel caso di un kernel monolitico, si devono compilare i moduli.
#
make modules ; make modules_install
Quello che si ottiene sono una serie di file oggetto, il cui nome ha un'estensione .o
, raggruppati ordinatamente all'interno di directory discendenti da /lib/modules/
x.y.z/
, dove x.y.z rappresenta il numero della versione dei sorgenti del kernel. La posizione di questi file non deve essere cambiata.
Gli elementi richiesti per la configurazione del kernel prima della sua compilazione, dipendono molto dalla versione che si possiede. In particolare, può capitare che alcune voci vengano spostate da una versione all'altra del kernel.
Nelle sezioni seguenti è riportata la descrizione delle opzioni più importanti dei kernel più recenti. Chi non dovesse trovare nel proprio kernel delle opzioni indicate qui, non dovrebbe preoccuparsene.
Code maturity level options Processor type and features Loadable module support General setup Plug and Play support Block devices Networking options SCSI support Network device support Amateur Radio support IrDA subsystem support ISDN subsystem CD-ROM drivers (not for SCSI or IDE/ATAPI drives) Character devices Filesystems Console devices Sound Kernel hacking |
Durante la descrizione che viene fatta nelle sezioni seguenti, viene indicata una possibile configurazione di un kernel adatto alle situazioni più comuni. In particolare, si immagina di disporre di:
un elaboratore i386 o superiore con un BUS PCI; | |
un disco fisso IDE standard; | |
un CD-ROM ATAPI, cioè connesso alla stessa unità di controllo IDE del disco fisso; | |
un'unità a dischetti normale; | |
una tastiera e uno schermo normale (VGA); | |
un mouse seriale; | |
una stampante connessa alla porta parallela; | |
un modem connesso alla seconda porta seriale per utilizzare una connessione PPP allo scopo di accedere a Internet; | |
una scheda di rete Ethernet compatibile con il modello NE2000. |
A fianco di alcune opzioni di configurazione appare una lettera tra parentesi quadre: si tratta della proposta di configurazione. In particolare:
[Y] rappresenta una scelta consigliata in funzione della situazione tipo proposta; | |
[y] rappresenta una scelta suggerita, sia in funzione della situazione tipo proposta, che in generale; | |
[N] rappresenta una scelta sconsigliata in generale. |
Questa sezione serve a definire il tipo di microprocessore utilizzato. Nelle versioni del kernel meno recenti, queste indicazioni appartenevano alla sezione della configurazione generale.
È possibile ottimizzare il funzionamento del kernel fornendo l'indicazione del tipo di microprocessore installato. Se si intende ottenere un kernel compatibile con la maggior parte dei microprocessori, conviene specificare
| ||
Permette di includere la parte di codice necessaria a emulare il coprocessore matematico (i387 e successivi). Questa opzione deve quindi essere attivata se si dispone di un elaboratore senza coprocessore (386 o vecchi cloni del 486 senza coprocessore). Negli altri casi non serve, ma non è nemmeno dannosa: se il kernel trova il coprocessore, non attiva l'emulazione. In generale, conviene attivare l'emulazione. |
Questa sezione della procedura di configurazione permette di attivare il sistema di gestione dei moduli. I moduli sono blocchetti di kernel precompilati che possono essere attivati e disattivati durante il funzionamento del sistema. Solo alcune parti del kernel possono essere gestite in forma di modulo.
Conviene riservare l'utilizzo dei moduli alle situazioni in cui ciò è indispensabile o almeno di sicura utilità. |
La gestione del Plug & Play permette al kernel di configurare automaticamente alcuni dispositivi che aderiscono a queste specifiche.
Attivando questa opzione si abilita la gestione del Plug & Play.
|
Un dispositivo a blocchi è quello che utilizza una comunicazione a blocchi di byte di dimensione fissa e si contrappone al dispositivo a caratteri con cui la comunicazione avviene byte per byte. Il dispositivo a blocchi tipico è un'unità a disco.
Normal PC floppy disk support [Y] Questa opzione permette di utilizzare le unità a dischetti. Di solito, conviene attivare questa opzione. | |||||||||||||||||||||||||||||||
Enhanced IDE/MFM/RLL disk/cdrom/tape/floppy support [Y] Questa opzione permette di utilizzare la maggior parte di unità IDE/EIDE/ATAPI (dischi fissi e altro). Di solito, conviene attivare questa opzione.
| |||||||||||||||||||||||||||||||
Attivando questa opzione, il kernel permetterà di montare un file come se si trattasse di un filesystem. Ciò permette per esempio di utilizzare dei file-immagine di dischetti, direttamente così come sono.
| |||||||||||||||||||||||||||||||
Attivando questa opzione, si abilita il proprio elaboratore a diventare un client di un dispositivo di rete a blocchi, NBD (network block device). Si tratta di una funzionalità speciale, e non è richiesta per la gestione normale dei servizi di rete, nemmeno nel caso dell'utilizzo del protocollo NFS. | |||||||||||||||||||||||||||||||
Multiple devices driver support [N] Attivando questa opzione, si include un driver che permette di combinare diverse partizioni in un'unica unità a blocchi (come se fosse un'unica partizione). Questo si utilizza tipicamente per la gestione dei dischi RAID. | |||||||||||||||||||||||||||||||
Attivando questa opzione diventa possibile la gestione di dischi RAM. Di solito, i dischetti utilizzati per installare GNU/Linux sono preparati in modo da utilizzare questa possibilità.
| |||||||||||||||||||||||||||||||
Questa opzione permette di utilizzare le vecchie unità di controllo a 8 bit dei primi IBM XT. È molto improbabile che un elaboratore in grado di far funzionare GNU/Linux abbia a disposizione tali vecchie schede di controllo. | |||||||||||||||||||||||||||||||
Parallel port IDE device support Questa opzione introduce all'inserimento del codice necessario a gestire le unità IDE/ATAPI connesse attraverso una porta parallela. Se si intende gestire simultaneamente la stampa e queste altre unità esterne, è importante che questa opzione e quella di attivazione della gestione della stampa, siano entrambe attivate per l'inserimento nel kernel monolitico, oppure siano entrambe gestite attraverso moduli. Dall'attivazione di questa opzione discende poi l'attivazione di driver ad alto livello, ovvero, generalizzati per un genere di utilizzo, e successivamente di driver specifici per il tipo di hardware utilizzato effettivamente.
Dopo l'indicazione dei tipi di hardware che si vogliono gestire attraverso la porta parallela, occorre indicare anche il tipo di protocollo utilizzato. Qui l'elenco di questi protocolli viene omesso. |
La configurazione delle funzionalità di rete è importante anche se il proprio elaboratore è isolato. Quando è attiva la gestione della rete, il kernel fornisce implicitamente le funzionalità di inoltro dei pacchetti, consentendo in pratica il funzionamento come router. Tuttavia, l'attivazione di ciò dipende dall'inclusione della gestione del filesystem /proc/
(Filesystems
) e dell'interfaccia sysctl
(General setup
). Inoltre, durante il funzionamento del sistema è necessario attivare espressamente l'inoltro attraverso un comando simile a quello seguente:
#
echo '1' > /proc/sys/net/ipv4/ip_forward
Attivando questa opzione, si permette il funzionamento di programmi che accedono direttamente alle interfacce di rete, come | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Kernel/User netlink socket [Y] Attivando questa opzione, si abilita un tipo di comunicazione tra alcune parti del kernel e i processi di elaborazione. Per questa comunicazione si utilizzano dei file di dispositivo speciali. Se si intende utilizzare il demone | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Questa opzione può essere attivata solo se in precedenza si attiva anche Kernel/User netlink socket. Attivando questa opzione e creando il file di dispositivo
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Un firewall è un elaboratore che protegge una rete locale dal resto del mondo: tutto il traffico da e per gli elaboratori della rete locale viene filtrato dal firewall. Se si vuole configurare il proprio sistema GNU/Linux come firewall per la rete locale, si deve rispondere affermativamente alla domanda con | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Rispondendo affermativamente si consente l'utilizzo di nomi differenti per le stesse reti fisiche. In pratica, questa è una richiesta preliminare da cui dipenderanno altre opzioni più specifiche, come IP: aliasing support. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Si tratta di una funzionalità speciale, attraverso cui i programmi possono stabilire un filtro per la selezione dei dati che possono attraversare una porta determinata. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Si tratta di un'opzione praticamente obbligatoria per l'utilizzo di qualunque applicazione che acceda a funzionalità di rete, anche se l'elaboratore non è fisicamente connesso ad alcuna rete vera e propria. In pratica consente l'utilizzo di socket di dominio UNIX, cioè connessioni basate su file speciali di tipo socket. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Si tratta dei protocolli usati all'interno di Internet e nella maggior parte delle reti locali. La cosa migliore è rispondere affermativamente, dal momento che alcuni programmi usano TCP/IP anche se l'elaboratore non è connesso a una rete. Ciò attiverà il cosiddetto loopback che in pratica permette di comunicare con se stessi. A perte questo, la cosa più importante per l'utente comune è la possibilità di accedere attraverso la linea telefonica a un nodo di Internet.
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Questa opzione permette di abilitare il supporto alle reti Novell, IPX. C'è bisogno di questo se si vuole accedere a file o servizi di stampa di reti Novell Netware. In tal caso si può utilizzare il client | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Appletalk è il modo con cui comunicano gli elaboratori Apple attraverso la rete. EtherTalk è il nome usato per le comunicazioni sulle reti Ethernet, LocalTalk identifica la comunicazione attraverso le porte seriali. Se si è connessi a una rete del genere e si vuole comunicare, occorre rispondere affermativamente a questa domanda. Per fare in modo che l'elaboratore GNU/Linux agisca come server per gli elaboratori MAC, sia per i file che per la stampa, occorre il pacchetto Nettalk. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Questa opzione permette di utilizzare il proprio elaboratore come un bridge Ethernet. In tal modo, i segmenti di rete fisica che vengono connessi appaiono come un'unica rete. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
OBSOLETO IP: PC/TCP compatibility mode Se sono state riscontrate difficoltà per connettersi attraverso un programma di Telnet da un elaboratore con sistema operativo Dos che usa il protocollo PC/TCP, si può tentare di abilitare questa funzione. In tutti gli altri casi si deve rispondere Per quanto riguarda il Telnet di NCSA, si può leggere la sezione
97.3 o eventualmente il file | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
OBSOLETO IP: Path MTU Discovery (normally enabled) MTU (Maximal Transfer Unit) è la dimensione dei blocchi di dati (chunk) che si inviano attraverso la rete. Path MTU Discovery significa che invece di inviare sempre blocchi di dati molto piccoli, si inizia inviando blocchi di grandi dimensioni e se si scopre che alcuni nodi gradiscono blocchi piccoli, si aggiusta questa dimensione dei blocchi di dati a valori minori. Alcune versioni Dos di Telnet NCSA, così come altro software, possono connettersi solo se si disabilita questa funzionalità.
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
CPU is too slow to handle full bandwidth Se per qualche motivo si ritiene che l'elaboratore sia troppo «lento» rispetto alle capacità della rete a cui è connesso, si può attivare questa opzione. |
Questa sezione riguarda la gestione del kernel delle unità SCSI.
Per poter gestire una qualunque unità SCSI occorre attivare questa opzione. Se questa viene attivata, seguono una serie di altre opzioni da definire, compresa l'identificazione del modello di unità SCSI. | |||
Per poter utilizzare un disco fisso SCSI occorre attivare questa opzione. | |||
Per poter utilizzare un'unità a nastro SCSI occorre attivare questa opzione. | |||
Per poter utilizzare un lettore CD-ROM SCSI occorre attivare questa opzione. Quando si intendono utilizzare lettori CD-ROM ci si deve ricordare di attivare in seguito la gestione del filesystem ISO 9660. | |||
Per gestire altri tipi di unità SCSI occorre attivare questa opzione. | |||
Probe all LUNs on each SCSI device [N] Questa opzione permette di attivare la gestione dei LUN multipli (Logical Unit Number). Sono rare le unità SCSI che utilizzano più di un LUN; per esempio potrebbe trattarsi di un juke-box per CD. | |||
Verbose SCSI error reporting [Y] Questa opzione permette di ottenere maggiori informazioni diagnostiche sul proprio hardware SCSI. | |||
SCSI low-level drivers L'ultima indicazione inerente le unità SCSI è l'identificazione del tipo, o dei tipi, di schede SCSI utilizzate. Qui viene omesso l'elenco di unità SCSI utilizzabili. |
Questa sezione riguarda la definizione delle interfacce di rete che si utilizzano.
Si deve rispondere affermativamente a questa domanda se si intende far gestire al kernel una qualunque interfaccia che consenta la connessione con una rete di qualunque tipo. In pratica, se si vuole connettere il proprio elaboratore GNU/Linux a una rete, occorre una scheda di rete; se si vuole connettere il proprio elaboratore GNU/Linux a un nodo di Internet attraverso una connessione telefonica, occorre il supporto PPP oppure SLIP. In questo senso è praticamente necessario rispondere affermativamente a questa domanda. | |||||||||||||||
Questa opzione, se attivata, permette successivamente di indicare una scheda di rete ARCnet. | |||||||||||||||
Questa opzione permette di definire un'interfaccia di rete fittizia. È utile se si vuole utilizzare SLIP o PPP. | |||||||||||||||
EQL (serial line load balancing) support [N] Si tratta di un driver usato per le comunicazioni su linee seriali (SLIP o PPP) multiple, che consente un bilanciamento del traffico tra linee e di conseguenza permette di ottenere prestazioni migliori nella comunicazione. Perché la cosa funzioni, occorre che questo driver sia attivo da entrambi i lati della connessione. Se si intende rispondere affermativamente, è anche necessario leggere la documentazione che si trova all'interno di | |||||||||||||||
Ethernet è il protocollo più usato nelle reti locali. 10base2, 10baseT e 100base... sono dei tipi comuni di connessioni Ethernet. Se il proprio elaboratore GNU/Linux viene connesso a una rete Ethernet, e di conseguenza dispone di una scheda di rete Ethernet, si deve rispondere affermativamente alla domanda. In tal modo verrà richiesto in seguito il modello della scheda utilizzata.
| |||||||||||||||
Se si utilizzano le fibre ottiche, deve essere attivata questa opzione. | |||||||||||||||
OBSOLETO PLIP (parallel port) support [Y] Il protocollo PLIP (Paralel Line Internet Protocol) è usato per creare una mini rete di due elaboratori. Le porte parallele vengono connesse usando un cavo Null-Printer o Laplink che può trasmettere 4 bit alla volta. Per il cablaggio si possono leggere i file | |||||||||||||||
PPP (point-to-point) support [Y] Il protocollo PPP (Point to Point Protocol) è un rinnovato e migliorato SLIP. Serve per gli stessi propositi: invio del traffico Internet attraverso una linea telefonica (e altre linee seriali). Per poter utilizzare questo protocollo occorre che il proprio nodo di accesso a Internet sia organizzato per gestirlo. In alternativa si può utilizzare il programma SLiRP per emulare una linea PPP e SLIP. Per utilizzare il protocollo PPP serve un programma addizionale chiamato | |||||||||||||||
SLIP (serial line) support [y] Si deve rispondere affermativamente alla domanda se si intende usare il protocollo SLIP o CSLIP (compressed SLIP) per connettersi a un nodo di Internet, oppure a qualche altro elaboratore Unix locale, oppure se si vuole configurare il proprio elaboratore GNU/Linux come server SLIP/CSLIP per l'accesso da parte di altri utenti. SLIP (Serial Line Internet Protocol) è il protocollo usato per l'invio del traffico Internet attraverso una linea telefonica o altri cavi seriali (conosciuti come cavi Null-modem). Per poter utilizzare questo protocollo occorre che il proprio nodo di accesso a Internet sia organizzato per gestirlo. In alternativa si può utilizzare il programma SLiRP per emulare una linea PPP e SLIP.
| |||||||||||||||
Una rete wireless è precisamente una rete senza fili. In pratica si tratta di interfacce speciali che utilizzano la radiofrequenza. Attivando questa opzione si accede all'elenco delle interfacce di questo tipo. | |||||||||||||||
Una rete Token Ring è un tipo di rete locale usata da IBM. Il tipo di rete locale più diffuso è invece Ethernet. Se si vuole utilizzare una rete Token Ring si deve attivare questa opzione. | |||||||||||||||
OBSOLETO LAPB over Ethernet drivers [N] Questa opzione permette di attivare il protocollo LAPB per ottenere una connessione punto-punto con un altro elaboratore connesso alla propria rete locale. | |||||||||||||||
Questa opzione permette di includere un driver per trasmettere e ricevere frame X.25 attraverso una normale linea seriale asincrona, quale può essere una linea telefonica utilizzata attraverso modem. |
Questa sezione permette di configurare il kernel in modo da gestire le funzionalità legate alla comunicazione via radio (amatoriali).
Attivando questa opzione si ottiene la possibilità di configurare le opzioni relative alle comunicazioni radio. | |||||||
Questo è il protocollo usato per le comunicazioni attraverso le radio amatoriali. Può essere usato da solo, oppure per trasportare altri protocolli, quali TCP/IP. Per poterlo usare, occorre una periferica che connetta l'elaboratore GNU/Linux con la radio amatoriale. |
La parte rimanente della configurazione di questa sezione, riguarda prevalentemente la definizione dell'hardware utilizzato.
Se si dispone di periferiche che utilizzano i protocolli IrDA (Infrared Data Association), conviene attivare questa opzione. A seguito di ciò si dovrà selezionare in modo dettagliato i tipi di protocollo e l'hardware utilizzato. |
Questa sezione permette di definire e configurare l'utilizzo di dispositivi ISDN.
Se si utilizza una connessione telefonica ISDN si deve attivare questa opzione, con la quale si accede alla possibilità di definire altri elementi che riguardano le connessioni ISDN. | |
Questa opzione permette di abilitare il PPP sincrono attraverso ISDN. Se il servizio a cui ci si connette attraverso ISDN è in grado di gestire questa modalità di comunicazione, può essere conveniente l'attivazione di questa opzione. In tal caso occorre una versione diversa del demone | |
OBSOLETO Use VJ-compression with syncronous PPP Questa opzione permette di abilitare la compressione di intestazione Van Jacobson per le connessioni sincrone PPP. | |
OBSOLETO Support generic MP (RFC 1717) Questa opzione permette di attivare un protocollo adatto alla realizzazione di più connessioni PPP sincrone simultanee. | |
Attivando questa opzione è possibile gestire alcune funzionalità audio attraverso ISDN. | |
Questa opzione permette di attivare la gestione di due tipi di schede ISDN: ICN 2B e ICN 4B. | |
Si tratta di un driver fittizio per una scheda ISDN virtuale, utilizzabile a scopo diagnostico e di verifica della configurazione. | |
Questa opzione permette di attivare la gestione delle schede ISDN PCBIT. | |
HiSax SiemensChipSet driver support Attivando questa opzione è possibile specificare un tipo di interfaccia ISDN della famiglia HiSax della Siemens. | |
Questa opzione permette di attivare la gestione delle schede ISDN AVM B1. |
Se si dispone di un lettore CD-ROM diverso dagli standard SCSI o IDE/ATAPI, se ne deve selezionare il modello esatto.
Support non-SCSI/IDE/ATAPI CDROM drives [N] Se si dispone di un vecchio lettore CD-ROM non connesso attraverso una scheda SCSI o l'unità IDE, si deve attivare questa opzione, in modo da poter poi selezionare il modello preciso di CD-ROM. Le scelte a disposizione sono poi le seguenti.
|
Un dispositivo a caratteri è quello che utilizza una comunicazione byte per byte e si contrappone a quello a blocchi con cui la comunicazione avviene attraverso l'uso di blocchi di byte di dimensione fissa.
Nei kernel recenti è stata inserita questa opzione che prima veniva sottintesa. Si tratta della richiesta esplicita di poter utilizzare dei terminali, cioè un insieme di tastiera e schermo. È praticamente obbligatorio rispondere affermativamente a questa domanda, a meno che si usi GNU/Linux per scopi specifici in cui l'interazione con un terminale non debba avviene. | |||
Support for console on virtual terminal [y] La console è un terminale speciale, e precisamente quello predefinito, ovvero quello su cui finiscono tutti i messaggi di errore. Attivando questa opzione si vuole fare in modo che la console vera e propria corrisponda alla console virtuale su cui si sta lavorando in quel momento; in pratica si vuole che i messaggi del kernel siano diretti al dispositivo Ha senso rinunciare a questa opzione se poi si attiva la gestione della console su un terminale seriale, attraverso Support for console on serial port, descritto più avanti. | |||
Standard/generic (dumb) serial support [Y] Questa opzione permette di attivare la gestione delle porte seriali normali. Per poter utilizzare qualunque apparecchiatura connessa alle normali porte seriali, come per esempio un mouse seriale, occorre attivare questa opzione. Se si utilizza una scheda per la gestione di porte seriali multiple Cyclades o Stallion, non è necessario attivare questa opzione.
| |||
Extended dumb serial driver support [N] Attivando questa opzione si accede alla possibilità di scelta di gestione di porte seriali particolari, pur restando sostanzialmente vicine allo standard. | |||
Non-standard serial port support [N] Attivando questa opzione si accede alla possibilità di scelta di gestione di porte seriali non standard. Si tratta solitamente di quelle che permettono l'utilizzo di molte connessioni seriali condividendo un unico interrupt. | |||
Permette di attivare la gestione degli pseudo terminali secondo lo standard Unix98. In tal modo, al posto dei dispositivi
| |||
OBSOLETO Parallel printer support [Y] Questa opzione permette di attivare la gestione delle porte parallele, in modo da consentirne l'utilizzo per la stampa. Nei kernel recenti è possibile fare convivere sia la gestione della stampa, sia altri tipi di funzionalità (come una connessione PLIP), senza la necessità di fare ricorso ai moduli.
| |||
Mouse Support (not serial mice) Questa opzione permette di stabilire se si utilizza un mouse non connesso a una normale porta seriale (come nel caso di un mouse PS/2). Attivando l'opzione si ottiene la possibilità di specificare il tipo di mouse.
| |||
Se si utilizza un'unità a nastro QIC-02 che non è connessa attraverso una scheda SCSI, si deve attivare questa opzione. | |||
Attivando questa opzione si vuole fare in modo che, al manifestarsi di alcuni tipi di errore di funzionamento, si ottenga il riavvio del sistema. Può essere utile questo comportamento nel caso di un elaboratore connesso a una rete che deve essere in grado di sbloccarsi autonomamente senza l'intervento umano. In particolare, selezionando questa opzione, si accede a un elenco di schede specifiche. | |||
La nvram è la memoria RAM non volatile, ovvero quella mantenuta da delle batterie ricaricabili o al Litio. Nei PC si parla di memoria C/MOS. Attivando questa opzione, è possibile creare un file di dispositivo per poter accedere a questa memoria. | |||
Enhanced Real Time Clock Support [y] Questa opzione permette di accedere all'orologio interno di un PC. Questo può essere utilizzato per generare segnali da 1Hz a 8192Hz e come allarme. | |||
Questa opzione attiva la gestione di funzionalità audio/video. In pratica permette di accedere a un elenco di schede specifiche. | |||
Attivando questa opzione, è possibile accedere al joystick attraverso un file di dispositivo apposito. L'opzione serve a mostrare un elenco dal quale selezionare un tipo di joystick. | |||
Ftape, the floppy tape device driver Attraverso questa voce si accede a un altro menu di scelta per la definizione delle caratteristiche di un'unità a nastro collegata alla stessa unità di controllo dei dischetti e di altre unità connesse attraverso schede di controllo non standard.
|
Attraverso questa sezione si definiscono i tipi di filesystem che si vogliono gestire. In particolare, anche i filesystem virtuali, come /proc/
e /dev/pty/
, vengono definiti qui.
Questa opzione permette di attivare la gestione della limitazione dello spazio concesso a ogni utente nel filesystem. Questo spazio limitato messo a disposizione si chiama diskquota e per la sua gestione occorrono dei programmi di utilità aggiuntivi. La gestione di questo meccanismo è utile solo per un sistema multiutente. | |||||||||||||||
Kernel automounter support [N] Permette al kernel di montare automaticamente i filesystem remoti. Se si attiva questa opzione, per gestire il sistema sono poi necessari altri programmi di contorno. Di solito occorre attivare anche la gestione di questi filesystem attraverso l'opzione NFS filesystem support. | |||||||||||||||
Attivando questa opzione, si permette al kernel di accedere a partizioni FFS (Fast File System) Amiga. Per questo, è anche utile attivare l'opzione Loopback device support ( 12.5.6) in modo da poter accedere alle immagini di dischi utilizzate con un eventuale emulatore Amiga. I dischetti veri e propri, non possono essere utilizzati. | |||||||||||||||
Questa opzione permette di gestire i filesystem FAT, cioè quelli generalmente in uso con il Dos o con MS-Windows. Per poter utilizzare un filesystem UMSDOS occorre attivare questa opzione. In generale è necessario attivare questa opzione, se non altro per poter utilizzare dischetti inizializzati per il Dos.
| |||||||||||||||
ISO9660 cdrom filesystem support [Y] Questa opzione permette di montare un filesystem ISO 9660, cioè quello di un normale CD-ROM. Se non si vuole escludere la possibilità di utilizzare il lettore CD-ROM, si deve attivare questa opzione.
| |||||||||||||||
Il filesystem Minix può essere considerato superato dal momento che il kernel Linux ha a disposizione il tipo Second-extended (Ext2), ma è ancora diffuso il suo utilizzo per i dischetti. In generale conviene attivare questa opzione, in modo da poter utilizzare questo tipo di filesystem. | |||||||||||||||
NTFS filesystem support (read only) Questa opzione permette di accedere in lettura ai filesystem NTFS, ovvero quelli usati da MS-Windows NT. | |||||||||||||||
OS/2 HPFS filesystem support (read only) Questa opzione permette di accedere in lettura ai filesystem HPFS, ovvero quelli usati da OS/2. Il formato dei dischetti utilizzati da OS/2 è quello tradizionale Dos, per cui, non serve attivare questa opzione solo per leggere dischetti preparati con OS/2. | |||||||||||||||
Il filesystem Per visualizzare il contenuto dei file virtuali contenuti in questo filesystem si può utilizzare Molti programmi dipendono dalla presenza di questo meccanismo, quindi è necessario attivare questa opzione. | |||||||||||||||
dev/pts filesystem for Unix98 PTYs [Y] Il filesystem
| |||||||||||||||
Si tratta della gestione di un filesystem a sola lettura e di dimensioni molto ridotte, pensato principalmente per un disco RAM iniziale ( | |||||||||||||||
Second extended fs support [Y] Questa opzione permette di attivare la gestione del filesystem Second-extended, o Ext2, che è lo standard per GNU/Linux. Sotto questo aspetto, è praticamente obbligatorio attivare questa opzione. | |||||||||||||||
System V and Coherent filesystem support L'attivazione di questa opzione permette di montare filesystem del tipo utilizzato da alcuni Unix commerciali che funzionano su architetture Intel. Si tratta in particolare di SCO, Xenix e Coherent. | |||||||||||||||
UFS filesystem support (read only) [N] Questa opzione permette di accedere in lettura ai filesystem UFS, ovvero quelli usati dalle versioni di Unix BSD e derivate (come SunOS, FreeBSD, NetBSD e NeXTstep). Per l'accesso in scrittura occorre selezionare altre opzioni che dipendono da questa. | |||||||||||||||
Network File Systems Se il proprio elaboratore è connesso a una rete di qualunque tipo, è utile la possibilità di montare parte del filesystem di un altro elaboratore che consente la condivisione dei suoi dati. L'elaboratore che offre questi servizi non ha la necessità di incorporare nel kernel questa opzione; deve invece averla il client, ovvero quello che utilizza tali servizi. Questa voce serve solo a permettere la selezione delle opzioni relative.
| |||||||||||||||
Partition types Si tratta di una voce che permette di accedere a una serie di opzioni per la gestione di diversi sistemi di partizionamento dei dischi. Il tipo di partizionamento derivato dal Dos è quello considerato standard e il codice necessario viene aggiunto in ogni caso nel kernel.
| |||||||||||||||
Native Language Support Si tratta di una voce che permette di accedere a un elenco di codifiche dei caratteri utilizzate per i nomi di file e directory dei filesystem. L'insieme di caratteri più adatto all'Italia e a buona parte dell'Europa è ISO 8859-1 (identificato dalla sigla
|
Questa sezione permette di definire le caratteristiche della console.
Permette di attivare la gestione della console attraverso una scheda VGA standard. | |
Video mode selection support [N] Permette di definire la risoluzione dello schermo VGA, attraverso l'indicazione delle dimensioni espresse in caratteri, in fase di avvio del kernel. Questa possibilità è in disuso data la presenza del programma | |
MDA text console (dual-headed) [N] Permette di attivare la gestione di una scheda video secondaria di tipo MDA (monocromatica) o hercules. Questa opzione va usata solo quando si tratta di una scheda video e di un monitor secondari. Se la scheda MDA è l'unica scheda video presente, è lo stesso codice che si prende cura della scheda VGA a occuparsene, e non questa opzione. |
Se si dispone di una scheda audio si deve attivare questa opzione, e a seguito di ciò si dovrà selezionare la scheda corretta. | |
Si tratta del codice necessario al controllo di un discreto numero di schede audio. Per la precisione si tratta del Open Sound System. L'opzione serve a includere la parte di codice comune; selezionandola si rende disponibile l'elenco di schede audio, dove poi devono essere indicate le caratteristiche specifiche. |
Questa parte della configurazione è strettamente riservata agli esperti nella gestione del kernel e in generale serve per attivare un sistema di registrazione del comportamento del kernel stesso, allo scopo di ottenerne la sua ottimizzazione.
La gestione della stampa su porta parallela e l'utilizzo di una connessione PLIP non sono più cose conflittuali nei kernel recenti.
In passato, per poter creare un kernel adatto alla gestione della porta parallela sia per la stampa che per un collegamento PLIP, occorreva attivare la gestione dei moduli ( 12.5.3) e indicare che il supporto al PLIP ( 12.5.9) e alla stampante parallela ( 12.5.14) avvengano attraverso moduli.
Il capitolo 69 descrive anche l'utilizzo di questo tipo di connessione.
---------------------------
Appunti Linux 1999.07.12 --- Copyright © 1997-1999 Daniele Giacomini -- daniele @ evo.it
1.) È bene ricordare che non si tratta di una copia nel senso normale del termine, perché in questo caso, cioè quello dell'esempio, il dischetto non contiene alcun filesystem. Di conseguenza, è inutile tentare poi di montare un dischetto del genere.
2.) Volendo seguire l'esempio iniziale, occorre selezionare il tipo NE2000.
[indice generale] [precedente] [successivo] [indice analitico] [note introduttive]