/[gentoo]/xml/htdocs/doc/it/kernel-config.xml
Gentoo

Contents of /xml/htdocs/doc/it/kernel-config.xml

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.9 - (show annotations) (download) (as text)
Sun Feb 26 08:36:40 2012 UTC (6 years, 4 months ago) by swift
Branch: MAIN
CVS Tags: HEAD
Changes since 1.8: +124 -5 lines
File MIME type: application/xml
Updating IT translations, thanks to Agostino Sarubbo (bug #405415)

1 <?xml version="1.0" encoding="UTF-8"?>
2 <!DOCTYPE guide SYSTEM "/dtd/guide.dtd">
3 <!-- $Header: /var/cvsroot/gentoo/xml/htdocs/doc/it/kernel-config.xml,v 1.8 2010/03/22 19:15:44 scen Exp $ -->
4
5 <guide lang="it">
6 <title>Guida alla configurazione del kernel Linux in Gentoo</title>
7
8 <author title="Autore">
9 <mail link="dsd@gentoo.org">Daniel Drake</mail>
10 </author>
11 <author title="Contributi">
12 <mail link="curtis119@gentoo.org">Curtis Napier</mail>
13 </author>
14 <author title="Contributi">
15 <mail link="jdr@xemoka.net">Justin Robinson</mail>
16 </author>
17 <author title="Contributi">
18 <mail link="rane@gentoo.org">Łukasz Damentko</mail>
19 </author>
20 <author title="Redazione">
21 <mail link="smithj@gentoo.org">Jonathan Smith</mail>
22 </author>
23 <author title="Redazione">
24 <mail link="nightmorph"/>
25 </author>
26 <author title="Traduzione">
27 <mail link="scen@gentoo.org">Davide Cendron</mail>
28 </author>
29
30 <abstract>
31 Lo scopo di questo documento è introdurre le nozioni di base per la
32 configurazione manuale del kernel, e dare i dettagli degli errori di
33 configurazione più comuni.
34 </abstract>
35
36 <!-- The content of this document is licensed under the CC-BY-SA license -->
37 <!-- See http://creativecommons.org/licenses/by-sa/2.5 -->
38 <license/>
39
40 <version>2</version>
41 <date>2011-12-26</date>
42
43 <chapter>
44 <title>Introduzione</title>
45 <section>
46 <body>
47
48 <p>
49 Gentoo fornisce due modi per gestire l'installazione e l'aggiornamento del
50 kernel: <e>automatica</e> (genkernel), e <e>manuale</e>. Sebbene il metodo
51 automatico sia un approccio <e>più facile</e> per l'utente, ci sono vari motivi
52 per i quali una vasta fetta di utenti Gentoo sceglie di configurare manualmente
53 il proprio kernel: maggiore flessibilità, kernel di dimensioni minori, tempi di
54 compilazione più brevi, acquisizione di esperienza, tempo da perdere, ecc.
55 </p>
56
57 <p>
58 Questa guida non copre il metodo automatico (genkernel). Se si preferisce usare
59 genkernel per compilare ed installare il proprio kernel, si faccia riferimento
60 alla <uri link="/doc/it/genkernel.xml">documentazione di Genkernel</uri>.
61 </p>
62
63 <p>
64 Questa guida non ha lo scopo di documentare il processo di configurazione
65 manuale dall'inizio alla fine: il processo di configurazione fa affidamento ad
66 una buona dose di buonsenso, e ad un livello relativamente alto di conoscenza
67 tecnica riguardo al sistema. Questo documento, invece, introdurrà i concetti di
68 una configurazione manuale, elencando in modo dettagliato le trappole più comuni
69 nelle quali incappano gli utenti.
70 </p>
71
72 <p>
73 Questo documento è stato scritto basandosi sui kernel più recenti, per le
74 architetture di computer più comuni. Qualche dettaglio potrebbe differire per i
75 kernel più vecchi o architetture più esotiche, comunque gran parte dei
76 contenuti rimarranno pertinenti.
77 </p>
78
79 <p>
80 A questo punto si suppone di avere già scompattato i sorgenti del kernel nel
81 proprio disco fisso (solitamente da qualche parte in <c>/usr/src/linux</c>), e
82 si presume la conoscenza su come accedere allo strumento di configurazione
83 <c>menuconfig</c> e su come muoversi nel menù di sistema. Se non si è ancora a
84 questo livello di esperienza, sono disponibili altre utili guide a riguardo.
85 </p>
86
87 <ul>
88 <li>
89 La <uri link="doc/it/gentoo-kernel.xml">Guida ai Kernel Gentoo Linux</uri>
90 elenca i vari pacchetti sorgenti dei kernel disponibili
91 </li>
92 <li>
93 La guida per l'<uri link="/doc/it/kernel-upgrade.xml">Upgrade del kernel
94 Gentoo Linux</uri> spiega come aggiornare il kernel o migrare da un kernel
95 ad un altro.
96 </li>
97 <li>
98 il <uri link="/doc/it/handbook/index.xml">Manuale Gentoo</uri>, inoltre,
99 copre alcuni aspetti dell'installazione del kernel.
100 </li>
101 </ul>
102
103 </body>
104 </section>
105 </chapter>
106
107 <chapter>
108 <title>Nozioni di configurazione</title>
109 <section>
110 <title>Le basi</title>
111 <body>
112
113 <p>
114 Il processo in generale è alquanto semplice: verrà mostrata una serie di
115 opzioni, categorizzate in menù individuali e sottomenù, e si dovrà selezionare
116 il supporto all'hardware e alle funzionalità del kernel attinenti al proprio
117 sistema.
118 </p>
119
120 <p>
121 Il kernel include una <e>configurazione predefinita</e>, che viene proposta la
122 prima volta che si esegue menuconfig in una particolare serie di sorgenti. Le
123 opzioni predefinite sono generalmente essenziali e ragionevoli, per cui la
124 maggioranza degli utenti dovranno apportare solamente poche modifiche alla
125 configurazione di base. Se si decide di disabilitare un'opzione abilitata in
126 modo predefinito, ci si assicuri di avere ben chiaro a cosa serve e le
127 conseguenze della sua disabilitazione.
128 </p>
129
130 <p>
131 Se si sta configurando il kernel Linux per la prima volta, è consigliabile
132 avere un approccio prudenziale: non si dev'essere troppo avventati, ed è meglio
133 cercare di apportare il minor numero possibile di modifiche alla configurazione
134 predefinita. Nello stesso tempo si tenga presente che sarà necessario adattare
135 certe parti della configurazione alle caratteristiche del proprio sistema per
136 permettere allo stesso di avviarsi!
137 </p>
138
139 </body>
140 </section>
141 <section>
142 <title>Built-in o modulare</title>
143 <body>
144
145 <p>
146 Molte opzioni di configurazione sono <e>a tre stati</e>: possono non essere
147 assolutamente compilate, integrate (built-in) nel kernel (Y), o compilate come
148 modulo (M). I moduli sono memorizzati esternamente nel filesystem, mentre gli
149 oggetti built-in sono compilati direttamente all'interno dell'immagine stessa
150 del kernel.
151 </p>
152
153 <p>
154 C'è un'importante differenza tra la compilazione nel kernel e quella modulare:
155 tranne qualche eccezione, il kernel non effettua nessun tentativo di caricamento
156 dei moduli all'occorrenza (l'operazione viene demandata all'utente). Mentre
157 certe parti del sistema possono avere strumenti di caricamento su richiesta, e
158 sono disponibili delle utilità per il caricamento dei moduli, è raccomandabile
159 compilare il supporto hardware e alle funzionalità del kernel direttamente
160 all'interno dello stesso. Ciò assicura che i supporti all'hardware e alle
161 funzionalità saranno sempre disponibili quando se ne avrà bisogno.
162 </p>
163
164 <p>
165 Ovviamente in certe parti della configurazione la scelta dell'integrazione nel
166 kernel è un requisito assolutamente necessario. Per esempio, se la propria
167 partizione di root è su un filesystem <c>ext2</c>, il sistema non si avvierà se
168 il supporto a ext2 è stato compilato come modulo (il sistema cercherà il modulo
169 ext2 nella partizione di root, ma non ci riuscirà a meno che il supporto a ext2
170 non sia già stato caricato!).
171 </p>
172
173 </body>
174 </section>
175 <section>
176 <title>Supporto Hardware</title>
177 <body>
178
179 <p>
180 Oltre a rilevare il <e>tipo di architettura</e> del proprio sistema, lo
181 strumento di configurazione non effettuerà nessun tentativo per identificare
182 l'hardware attualmente presente nella macchina. Sebbene ci siano già delle
183 configurazioni preimpostate per il supporto a diverso hardware, probabilmente
184 sarà necessario individuare e selezionare le opzioni appropriate per la propria
185 configurazione hardware.
186 </p>
187
188 <p>
189 Ovviamente questo comporta una conoscenza dei componenti interni e di quelli
190 collegati al proprio computer, o comunque l'identificazione degli stessi. Per
191 molti componenti interni, si dovrà identificare il <e>chipset</e> utilizzato da
192 ognuno, piuttosto che il nome del produttore.
193 </p>
194
195 <p>
196 Sono disponibili degli strumenti che possono aiutare in questo processo di
197 riconoscimento. <c>lspci</c> (contenuto nel pacchetto <c>sys-apps/pciutils</c>)
198 identificherà l'hardware basato su PCI e AGP, inclusi i componenti integrati
199 nella scheda madre stessa. <c>lsusb</c> (contenuto nel pacchetto
200 <c>sys-apps/usbutils</c>) identificherà i dispositivi connessi alle porte USB.
201 </p>
202
203 <p>
204 La situazione è alquanto confusa poiche il mondo dell'hardware non è
205 propriamente standardizzato. Se la propria configurazione hardware non si
206 discosta molto da quelle più comuni, molto probabilmente il proprio hard disk
207 IDE funzionerà da subito, come il mouse PS/2 o la tastiera o il mouse USB. Si
208 avrà inoltre un supporto grafico VGA di base. Tuttavia alcuni dispositivi, tipo
209 le adattatori ethernet, raramente usano componenti hardware standard, per cui
210 sarà necessario identificare il chipset della propria scheda e abilitare il
211 relativo supporto, al fine di avere una connessione alla rete disponibile.
212 </p>
213
214 <p>
215 Inoltre, mentre alcune cose funzioneranno regolarmente con le impostazioni
216 predefinite, si dovranno selezionare ulteriori opzioni per sfruttare tutte
217 le potenzialità dal proprio sistema. Per esempio, se non si abilita il supporto
218 per il giusto chipset IDE, il proprio disco fisso IDE funzionerà <e>molto</e>
219 lentamente.
220 </p>
221
222 </body>
223 </section>
224 <section>
225 <title>Funzionalità del kernel</title>
226 <body>
227
228 <p>
229 Come per il supporto hardware, bisogna decidere quali funzionalità offerte dal
230 kernel sono necessariamente da abilitare. Un esempio importante riguarda il
231 supporto ai filesystem: si deve selezionare il supporto ai filesystem in uso nel
232 proprio disco fisso, e probabilmente anche a quelli in uso su supporti
233 rimovibili (es. VFAT su flash disk USB).
234 </p>
235
236 <p>
237 Un'altro esempio comune sono le funzionalità avanzate di rete. Se si vuole
238 utilizzare qualche tipo di routing o firewalling, ci si assicuri che le voci di
239 configurazione pertinenti siano incluse nella configurazione del kernel.
240 </p>
241
242 </body>
243 </section>
244 <section>
245 <title>Pronti?</title>
246 <body>
247
248 <p>
249 Ora che sono stati introdotti i concetti, si hanno gli strumenti per cominciare
250 ad identificare il proprio hardware e navigare nel menù di configurazione,
251 selezionando le opzioni del kernel necessarie per il proprio sistema.
252 </p>
253
254 <p>
255 Il resto di questo documento mira a chiarire gli aspetti che generalmente
256 possono creare confusione, e dare dei suggerimenti onde evitare i problemi più
257 comuni nei quali gli utenti incorrono spesso. Buona fortuna!
258 </p>
259
260 </body>
261 </section>
262 </chapter>
263
264 <chapter>
265 <title>Problemi comuni e aree di confusione</title>
266
267 <section>
268 <title>I dischi SATA sono SCSI</title>
269 <body>
270
271 <p>
272 Gran parte dei sistemi desktop moderni sono forniti di dispositivi di
273 memorizzazione di massa (dischi fissi e drive CD/DVD) su bus <uri
274 link="http://en.wikipedia.org/wiki/SATA">Serial ATA</uri> piuttosto che sul
275 vecchio bus di tipo <uri
276 link="http://en.wikipedia.org/wiki/Parallel_ATA">IDE</uri> (cavo piatto).
277 </p>
278
279 <p>
280 Il supporto SATA in Linux è implementato in uno strato definito <e>libata</e>,
281 posizionato al di sotto del sottosistema SCSI. Per questa ragione, i driver SATA
282 si trovano nella sezione della configurazione relativa ai driver SCSI. Siccome
283 i dispositivi di archiviazione verranno trattati come dispositivi SCSI, è
284 implicitamente richiesto anche il supporto ai dischi/cdrom SCSI. Il proprio
285 disco SCSI verrà chiamato (es.) <c>/dev/sda</c> e il proprio drive CD/DVD SATA
286 verrà chiamato (es.) <c>/dev/sr0</c>.
287 </p>
288
289 <p>
290 Sebbene la maggioranza di questi driver sia per i controller SATA, libata non è
291 stato progettato specificatamente per SATA. Tutti i principali driver IDE
292 verranno portati su libata nel prossimo futuro, e a quel punto le
293 considerazioni fatte in precedenza saranno valide anche per tutti gli
294 utilizzatori di dischi IDE.
295 </p>
296
297 <pre caption="Opzioni di configurazione per libata">
298 Device Drivers ---&gt;
299 SCSI device support ---&gt;
300 &lt;*&gt; SCSI device support
301 &lt;*&gt; SCSI disk support
302 &lt;*&gt; SCSI CDROM support
303
304 SCSI low-level drivers ---&gt;
305 &lt;*&gt; Serial ATA (SATA) support
306 <comment>Selezionare il proprio chipset tra le voci elencate sotto a questa opzione</comment>
307 </pre>
308
309 </body>
310 </section>
311 <section>
312 <title>Chipset IDE e DMA</title>
313 <body>
314
315 <p>
316 Malgrado l'introduzione di SATA, i dispositivi IDE sono ancora molto comuni e
317 utilizzati da molte persone. IDE è una tecnologia abbastanza generica, per cui
318 Linux supporta nativamente pressochè tutti i controller IDE, senza dover
319 selezionare alcuna opzione specifica.
320 </p>
321
322 <p>
323 Tuttavia IDE è una tecnologia vecchia, e la sua incarnazione originale del
324 <e>Programmed Input/Output</e> (PIO - "Input/Output Programmato") - non riesce a
325 fornire le velocità di trasferimento necessarie per un accesso veloce ai moderni
326 dispositivi di memorizzazione. Il driver IDE generico si limita a queste
327 modalità di trasferimento PIO, che causano velocità di trasferimento dati
328 bassissime ed un uso elevato della CPU durante il trasferimento dei dati da/sul
329 disco.
330 </p>
331
332 <p>
333 A meno che non si abbia a che fare con sistemi precedenti al 1995, il proprio
334 controller IDE supporterà anche un metodo di trasferimento alternativo,
335 denominato <e>Direct Memory Access</e> (DMA - "Accesso Diretto alla Memoria").
336 DMA è molto più veloce, e l'utilizzo della CPU è scarsamente influenzato mentre
337 vengono effettuati dei trasferimento di dati. Se si stanno riscontrando delle
338 prestazioni del sistema veramente scarse e si sta usando un disco IDE, molto
339 probabilmente la modalità DMA non viene utilizzata.
340 </p>
341
342 <note>
343 Come menzionato in precedenza, libata è disponibile anche per i dischi IDE. Se
344 si sta utilizzando libata, tutti i propri dischi, inclusi quelli IDE, useranno
345 DMA. Non c'è bisogno di nessuna ulteriore verifica o configurazione.
346 </note>
347
348 <p>
349 Se non si sta usando libata per i propri dischi IDE, allora bisognerà verificare
350 l'utilizzo del DMA ed eventualmente abilitarlo.
351 </p>
352
353 <pre caption="Verificare se DMA è abilitato per il proprio disco IDE">
354 # <i>hdparm -d /dev/hda</i>
355
356 /dev/hda:
357 using_dma = 0 (off)
358 </pre>
359
360 <p>
361 Per abilitare il DMA per il proprio dispositivo IDE, si dovrà semplicemente
362 abilitare l'opzione di configurazione per il proprio controller IDE.
363 </p>
364
365 <pre caption="Opzioni di configurazione per i controller IDE">
366 Device Drivers ---&gt;
367 ATA/ATAPI/MFM/RLL support ---&gt;
368 &lt;*&gt; ATA/ATAPI/MFM/RLL support
369 &lt;*&gt; Enhanced IDE/MFM/RLL disk/cdrom/tape/floppy support
370 [*] PCI IDE chipset support
371 <comment>Selezionare il proprio chipset tra le voci elencate sotto a questa opzione</comment>
372 </pre>
373
374 </body>
375 </section>
376 <section>
377 <title>Controller Host USB</title>
378 <body>
379
380 <p>
381 <uri link="http://it.wikipedia.org/wiki/USB">USB</uri> è un bus ampiamente
382 utilizzato per connettere periferiche esterne al computer. Uno dei motivi del
383 successo di USB è il suo protocollo unificato, sebbene i dispositivi denominati
384 <e>host controller devices</e> (HCD) che vengono implementati nei computer
385 possano contenere delle lievi variazioni. Le tipologie principali sono 3:
386 </p>
387
388 <ul>
389 <li>
390 <c>UHCI</c> "Universal Host Controller Interface". Supporta USB 1.1, e
391 solitamente si trova nelle schede madri basate su chipset VIA o Intel.
392 </li>
393 <li>
394 <c>OHCI</c> "Open Host Controller Interface". Supporta USB 1.1 e solitamente
395 si trova nelle schede madri basate su chipset Nvidia o SiS.
396 </li>
397 <li>
398 <c>EHCI</c> "Extended Host Controller Interface". È l'unico controller host
399 comune che supporta USB 2.0, e tipicamente si trova in ogni computer che
400 supporta USB 2.0.
401 </li>
402 </ul>
403
404 <p>
405 Molti sistemi vengono forniti con due delle tipologie di interfacce
406 sopraelencate: EHCI (USB 2.0) e una tra UHCI e OHCI (USB 1.1). È importante che
407 vengano selezionate entrambe le tipologie presenti nel proprio sistema. Mentre
408 tutti i dispositivi USB 2.0 sono retrocompatibili con USB 1.1, una larga fetta
409 dei dispositivi USB (anche quelli venduti al giorno d'oggi) sono basati su
410 un'interfaccia USB 1.1 - perchè un mouse USB dovrebbe necessitare di più di
411 1,5mbit/sec?
412 </p>
413
414 <p>
415 Se non si selezionano le opzioni pertinenti per i tipi di HCD USB presenti nel
416 proprio sistema, si potrebbero riscontrare problemi di porte USB 'morte': si
417 inserisce un dispositivo, ma esso non viene alimentato o non risponde in alcun
418 modo.
419 </p>
420
421 <p>
422 Un abile trucchetto con <c>lspci</c> (contenuto nel pacchetto
423 <c>sys-apps/pciutils</c>) rende relativamente facile identificare quali HCD
424 sono presenti nel proprio sistema. Ignorando i controller FireWire, inclusi
425 anch'essi nell'identificazione, è semplice capire che il seguente sistema
426 richiede il supporto a OHCI e EHCI:
427 </p>
428
429 <pre caption="Usare lspci per individuare i tipi di HCD">
430 # <i>lspci -v | grep HCI</i>
431 00:02.0 USB Controller: nVidia Corporation CK804 USB Controller (rev a2) (prog-if 10 <i>[OHCI]</i>)
432 00:02.1 USB Controller: nVidia Corporation CK804 USB Controller (rev a3) (prog-if 20 <i>[EHCI]</i>)
433 01:0b.0 FireWire (IEEE 1394): Agere Systems FW323 (rev 61) (prog-if 10 [OHCI])
434 </pre>
435
436 <pre caption="Configurazione per gli HCD USB">
437 Device Drivers ---&gt;
438 USB support ---&gt;
439 &lt;*&gt; Support for Host-side USB
440 --- USB Host Controller Drivers
441 &lt;*&gt; EHCI HCD (USB 2.0) support
442 &lt;*&gt; OHCI HCD support
443 &lt;*&gt; UHCI HCD (most Intel and VIA) support
444 <comment>Selezionare gli HCD presenti nel proprio sistema, o tutti e 3 se non si è sicuri.</comment>
445 </pre>
446
447 </body>
448 </section>
449 <section>
450 <title>Sistemi Multiprocessore, Hyper-Threading e Dual Core</title>
451 <body>
452
453 <p>
454 Molti computer sono basati su più processori, a volte in modi non immediatamente
455 evidenti.
456 </p>
457
458 <ul>
459 <li>
460 Diverse CPU Intel supportano una tecnologia chiamata <uri
461 link="http://en.wikipedia.org/wiki/Hyperthreading">hyper-threading</uri>,
462 nella quale la CPU viene vista dal sistema come due processori
463 <e>logici</e>.
464 </li>
465 <li>
466 Alcune delle più recenti CPU Intel/AMD attualmente sono composte da più
467 processori fisici inclusi in un singolo involucro, e vengono definiti
468 processori <uri link="http://en.wikipedia.org/wiki/Dual_core">dual
469 core</uri>.
470 </li>
471 <li>
472 Qualche computer di alto livello ha diversi processori fisici installati
473 in speciali schede madri per fornire un incremento significativo delle
474 prestazioni rispetto ad un sistema <e>uniprocessore</e>. Probabilmente si
475 saprà se si dispone di un sistema di questo tipo, in quanto ha costi non
476 propriamente economici.
477 </li>
478 </ul>
479
480 <p>
481 In ogni caso si deve selezionare l'appropriata opzione del kernel per ottenere
482 prestazioni ottimali da queste configurazioni.
483 </p>
484
485 <pre caption="Configurazione per sistemi multi-processore">
486 Processor type and features ---&gt;
487 [*] Symmetric multi-processing support
488 <comment>Selezionare questa opzione se si ha un sistema multiprocessore (di qualsiasi tipo)</comment>
489 [*] SMT (Hyperthreading) scheduler support
490 <comment>Selezionare questa opzione se si utilizza una CPU Hyper-Threading Intel</comment>
491 [*] Multi-core scheduler support (NEW)
492 <comment>Selezionare questa opzione se la propria CPU è dual core</comment>
493 Power management and ACPI options ---&gt;
494 [*] ACPI (Advanced Configuration and Power Interface) Support
495 <comment>Questa opzione abilita non solo le funzionalità riguardanti la
496 gestione energetica, ma potrebbe anche essere un requisito necessario per
497 rendere disponibili al proprio sistema tutte le CPU.</comment>
498 </pre>
499
500 </body>
501 </section>
502 <section>
503 <title>Supporto High Memory x86</title>
504 <body>
505
506 <p>
507 A causa delle limitazioni nello spazio d'indirizzamento a 32bit delle
508 architetture x86, un kernel con una configurazione standard può solamente
509 supportare fino a 896mb di RAM. Se il proprio sistema ha più memoria, solo i
510 primi 896mb saranno visibili, a meno di non abilitare il supporto all'high
511 memory.
512 </p>
513
514 <note>
515 Questa limitazione è specifica delle architetture x86 (IA32). Altre architetture
516 supportano nativamente grandi quantità di memoria, senza nessuna modifica alla
517 configurazione.
518 </note>
519
520 <p>
521 Il supporto all'high memory non è abilitato in modo predefinito, poiche esso
522 introduce un leggero aumento di carico sul sistema. Non ci si deve lasciare
523 fuorviare da ciò, l'aumento di carico è insignificante se comparato
524 all'incremento di prestazioni dovuto alla quantità maggiore di memoria
525 disponibile!
526 </p>
527
528 <pre caption="Abilitare il supporto all'high memory su x86">
529 Processor type and features ---&gt;
530 High Memory Support ---&gt;
531 (X) 4GB
532 ( ) 64GB
533 <comment>Scegliere l'opzione 4Gb, a meno che il proprio sistema non abbia più di 4GB di RAM.</comment>
534 </pre>
535
536 </body>
537 </section>
538 </chapter>
539
540 <chapter id="shorthand">
541 <title>Nota sulla stenografia della configurazione del Kernel</title>
542 <section>
543 <title>Introduzione</title>
544 <body>
545
546 <p>
547 Quando si legge riguardo alle configurazioni del kernel, spesso si
548 vedono impostazioni descritte come <c>CONFIG_&lt;qualcosa&gt;</c>.
549 Questa notazione stenografata è quella che il kernel utilizza internamente,
550 ed è ciò che si troverà nel file di configurazione del kernel (sia esso
551 <path>/usr/src/linux/.config</path> o nel caso autogenerato
552 <path>/proc/config.gz</path>). Ovviamente utilizzare una notazione
553 stenografata non sarebbe di molto utile se non si può tradurre questa
554 nella reale locazione nella configurazione del kernel. Fortunatamente
555 lo strumento <c>make menuconfig</c> permette di fare proprio questo.
556 </p>
557
558 </body>
559 </section>
560 <section>
561 <title>Tradurre CONFIG_FOO nella reale locazione nella configurazione</title>
562 <body>
563
564 <p>
565 Si supponga di dover abilitare <c>CONFIG_TMPFS_XATTR</c>, lanciare il menù
566 di configurazione del kernel (<c>make menuconfig</c>) e digitare <c>/</c>.
567 Questo aprirà il box di ricerca. In questo box di ricerca digitare
568 <c>CONFIG_TMPFS_XATTR</c> (si può anche evitare <c>CONFIG_</c>).
569 Il seguente listato di codice mostra il risultato di questa ricerca.
570 </p>
571
572 <pre caption="Risultato della ricerca di CONFIG_TMPFS_XATTR">
573 Symbol: TMPFS_XATTR [=n]
574 Type : boolean
575 Prompt: Tmpfs extended attributes
576 Defined at fs/Kconfig:138
577 Depends on: TMPFS [=y]
578 Location:
579 -> File systems
580 -> Pseudo filesystems
581 -> Virtual memory file system support (former shm fs) (TMPFS [=y])
582 Selected by: TMPFS_POSIX_ACL [=n] &amp;&amp; TMPFS [=y]
583 </pre>
584
585 <p>
586 Questo output contiene molte informazioni interessanti.
587 </p>
588
589 <table>
590 <tr>
591 <th>Voce</th>
592 <th>Descrizione</th>
593 </tr>
594 <tr>
595 <ti>Symbol: TMPFS_XATTR [=n]</ti>
596 <ti>
597 Questo identifica la voce che si sta cercando nella configurazione
598 del kernel. Informa anche che l'impostazione attualmente
599 <e>non è abilitata</e> ([=n]).
600 </ti>
601 </tr>
602 <tr>
603 <ti>Type: boolean</ti>
604 <ti>
605 L'impostazione ricercata è di tipo booleano (significa cioè che può
606 essere abilitata o disabilitata). Alcune impostazioni sono numeri
607 o stringhe.
608 </ti>
609 </tr>
610 <tr>
611 <ti>Prompt: Tmpfs extended attributes</ti>
612 <ti>
613 Questo è il testo che si trova in <c>make menuconfig</c> e
614 simili, è la voce che si sta cercando in un formato più
615 umanamente leggibile.
616 </ti>
617 </tr>
618 <tr>
619 <ti>Depends on: TMPFS [=y]</ti>
620 <ti>
621 Prima che questa opzione sia visibile è necessario avere <c>CONFIG_TMPFS</c>
622 abilitata. In questo caso è già a posto (si noti [=y]), ma nel caso non
623 lo fosse è necessario prima cercare (e abilitare) <c>CONFIG_TMPFS</c>.
624 </ti>
625 </tr>
626 <tr>
627 <ti>Location: ...</ti>
628 <ti>
629 Questa è la locazione nella struttura di <c>make menuconfig</c> in cui
630 si trovano le impostazioni. L'opzione che si sta cercando è
631 <e>Tmpfs extended attributes</e>.
632 </ti>
633 </tr>
634 <tr>
635 <ti>Selected by: TMPFS_POSIX_ACL [=n] &amp;&amp; TMPFS [=y]</ti>
636 <ti>
637 Se le opzioni descritte qui sono entrambe abilitate (in questo caso
638 la prima non lo è), <c>CONFIG_TMPFS_XATTR</c> sarà automaticamente
639 abilitato e non sarà possibile disabilitarlo.
640 </ti>
641 </tr>
642 </table>
643
644 <p>
645 Con queste informazioni si dovrebbe essere in grado di tradurre facilmente
646 qualsiasi <c>CONFIG_*</c> richiesto. In breve:
647 </p>
648
649 <ol>
650 <li>è necessario abilitare le impostazioni descritte nel campo <e>Depends on</e></li>
651 <li>spostarsi dove si viene indirizzati da <e>Location:</e></li>
652 <li>abilitare il valore riportato da <e>Prompt:</e></li>
653 </ol>
654
655 </body>
656 </section>
657 </chapter>
658
659 <chapter>
660 <title>Ulteriore documentazione sulla configurazione del kernel</title>
661 <section>
662 <body>
663
664 <p>
665 Finora si è discusso riguardo a concetti generici e problemi specifici riguardo
666 alla configurazione del kernel, senza scendere nei dettagli (si lascia al
667 lettore il compito di farlo!). Tuttavia, altre parti della raccolta di
668 documentazione su Gentoo forniscono informazioni più particolareggiate riguardo
669 alle questioni affrontate in precedenza.
670 </p>
671
672 <p>
673 Questi documenti potranno risultare utili durante la configurazione di aspetti
674 specifici, ma se si è nuovi alla configurazione del kernel si raccomanda di non
675 essere troppo avventurosi. È consigliabile iniziare con la preparazione di un
676 sistema di base funzionante, si potrà sempre tornare sui propri passi e
677 aggiungere il supporto all'audio, stampa, ecc.
678 </p>
679
680 <ul>
681 <li>
682 La <uri link="/doc/it/alsa-guide.xml">Guida su ALSA</uri> fornisce i
683 dettagli delle opzioni di configurazione richieste per il supporto alle
684 schede audio. È da notare che ALSA è un'eccezione rispetto alla modalità
685 suggerita di compilazione built-in degli oggetti; ALSA attualmente è molto
686 più facile da configurare se i componenti sono modulari.
687 </li>
688 <li>
689 La <uri link="/doc/it/bluetooth-guide.xml">Guida Gentoo Linux al
690 Bluetooth</uri> fornisce i dettagli sulle opzioni necessarie per usare i
691 dispositivi bluetooth nel proprio sistema.
692 </li>
693 <li>
694 La <uri link="/doc/it/ipv6.xml">Guida Router IPV6</uri> spiega come
695 configurare il proprio kernel per il routing usando il protocollo di
696 indirizzamento di rete di nuova generazione.
697 </li>
698 <li>
699 Se si utilizzano i driver grafici proprietari di nVidia per migliorare le
700 prestazioni grafiche 3D, la <uri link='/doc/it/nvidia-guide.xml'>Guida
701 nVidia per Gentoo Linux</uri> elenca quali opzioni bisognerebbe e non
702 bisognerebbe selezionare su tali sistemi.
703 </li>
704 <li>
705 Tra le altre cose, la <uri
706 link="/doc/it/power-management-guide.xml">Guida alla Gestione
707 Energetica</uri> spiega come configurare il proprio kernel per lo scaling
708 della frequenza della CPU, e per le funzionalità di ibernazione e
709 sospensione.
710 </li>
711 <li>
712 Se si sta utilizzando un sistema PowerPC, le <uri
713 link='/doc/it/gentoo-ppc-faq.xml'>risposte a domande frequenti su Gentoo
714 Linux/PowerPC</uri> contengono qualche sezione riguardante la configurazione
715 del kernel.
716 </li>
717 <li>
718 La <uri link="/doc/it/printing-howto.xml">Guida alla stampa in Gentoo</uri>
719 elenca le opzioni del kernel necessarie per il supporto alla stampa in
720 Linux.
721 </li>
722 <li>
723 La guida <uri link="/doc/it/usb-guide.xml">USB e Gentoo Linux</uri>
724 fornisce i dettagli della configurazione richiesta per usare i dispositivi
725 USB più comuni, come mouse/tastiere, supporti di archiviazione e stampanti.
726 </li>
727 </ul>
728
729 </body>
730 </section>
731 </chapter>
732
733 <chapter>
734 <title>Risoluzione dei problemi</title>
735 <section>
736 <title>Le modifiche alla configurazione non hanno effetto</title>
737 <body>
738
739 <p>
740 È molto comune per gli utenti effettuare una modifica alla configurazione, ma
741 poi fare un piccolo errore nei passaggi successivi. Il sistema viene riavviato
742 con un'immagine del kernel che non è quella appena riconfigurata, viene
743 verificato che il problema che si cercava di risolvere persiste, e si conclude
744 che la modifica alla configurazione non risolve il problema.
745 </p>
746
747 <p>
748 Il processo di compilazione e installazione del kernel esula dagli scopi di
749 questo documento, per le linee guida si faccia riferimento alla guida <uri
750 link="/doc/it/kernel-upgrade.xml">Upgrade del kernel Gentoo Linux</uri>. In
751 breve, le operazioni sono: configurare, compilare, montare /boot (se non è già
752 montata), sovrascrivere l'immagine del kernel con quella nuova, riavviare. Se
753 si omette una qualsiasi di queste operazioni conclusive, le modifiche non
754 avranno effetto!
755 </p>
756
757 <p>
758 È possibile verificare se il kernel con il quale si ha avviato il sistema
759 combacia con quello compilato nel proprio disco fisso esaminando la data e
760 l'ora di compilazione. Presupponendo che la propria architettura sia x86 e i
761 sorgenti del kernel siano installati in <path>/usr/src/linux</path>:
762 </p>
763
764 <pre caption="Verificare se si ha avviato il sistema con il kernel modificato">
765 # <i>uname -v</i>
766 #4 SMP PREEMPT Sat Jul 15 08:49:26 BST 2006
767 <comment>questo comando visualizza la data e l'ora in cui il kernel attualmente avviato è stato compilato.</comment>
768
769 # <i>ls -l /usr/src/linux/arch/i386/boot/bzImage</i>
770 -rw-r--r-- 1 dsd users 1504118 Jul 15 08:49 /usr/src/linux/arch/i386/boot/bzImage
771 <comment>questo comando visualizza la data e l'ora in cui è stata compilata l'immagine del kernel nel proprio hard disk.</comment>
772 </pre>
773
774 <p>
775 Se i due orari visualizzati dai precedenti comandi differiscono per più di 2
776 minuti, vuol dire che è stato commesso un errore durante la reinstallazione del
777 kernel e non si sta eseguendo l'immagine del kernel desiderata!
778 </p>
779
780 </body>
781 </section>
782 <section>
783 <title>I moduli non vengono caricati automaticamente</title>
784 <body>
785
786 <p>
787 Come menzionato precedentemente in questo documento, selezionare un componente
788 del kernel come modulo (M) piuttosto che built-in (Y) influenza enormemente il
789 comportamento del kernel. Vale la pena ripeterlo, poichè molti utenti cadono in
790 questa trappola.
791 </p>
792
793 <p>
794 Quando si seleziona un componente come built-in, il codice viene compilato
795 nell'immagine del kernel (bzImage). Quando il kernel ha bisogno di usare quel
796 componente, può inizializzarlo e caricarlo automaticamente, senza nessun
797 intervento da parte dell'utente.
798 </p>
799
800 <p>
801 Quando si seleziona un componente come modulo, il codice viene compilato in un
802 file e installato nel filesystem. Generalmente, quando il kernel ha bisogno di
803 usare quel componente, non ci riesce! Con qualche eccezione, il kernel non fa
804 nessun tentativo di caricare questi moduli, lasciando il compito all'utente
805 </p>
806
807 <p>
808 Per cui, se si ha compilato il supporto alla propria scheda di rete come
809 modulo, e non si riesce ad accedere alla rete, la probabile causa è che il
810 modulo non è caricato, perciò si dovrà caricarlo manualmente o configurare il
811 sistema per farlo caricare in automatico durante l'avvio.
812 </p>
813
814 <p>
815 A meno che non si abbiano precisi motivi per fare diversamente, si risparmia un
816 bel po' di tempo compilando questi componenti direttamente nell'immagine del
817 kernel, per permettere al kernel stesso di impostarli automaticamente per
818 l'utente.
819 </p>
820
821 </body>
822 </section>
823 </chapter>
824 </guide>

  ViewVC Help
Powered by ViewVC 1.1.20