Esempio configurazione kernel: differenze tra le versioni

m
typos
m (typo)
m (typos)
Riga 3: Riga 3:
In questa pagina troverete la configurazione del kernel 2.6.13 usata sul mio pc desktop, condita con varie considerazioni sparse che possano aiutare a comprendere le varie voci. Alcune parti della configurazioni sono generiche; altre, sebbene specifiche del mio hardware, possono servire da spunto per altri che stiano cercando di configurare il proprio kernel.
In questa pagina troverete la configurazione del kernel 2.6.13 usata sul mio pc desktop, condita con varie considerazioni sparse che possano aiutare a comprendere le varie voci. Alcune parti della configurazioni sono generiche; altre, sebbene specifiche del mio hardware, possono servire da spunto per altri che stiano cercando di configurare il proprio kernel.


La presente confiurazione è orientata ad ottenere la più bassa latenza possibile da un kernel vanilla, tipicamente per applicazioni audio realtime. Forse in futuro aggiungerò una sezione riguardo l'applicazioni delle patch realtime al kernel (necessarie per ottenere latenze ancora più basse). Inoltre, data la natura di questi appunti, è probabile che vengano inseriti alcuni consigli non strettamente legati al kernel per ottenere migliori prestazioni realtime.
La presente configurazione è orientata ad ottenere la più bassa latenza possibile da un kernel vanilla, tipicamente per applicazioni audio realtime. Forse in futuro aggiungerò una sezione riguardo l'applicazioni delle patch realtime al kernel (necessarie per ottenere latenze ancora più basse).  


Il secondo scopo di questa configurazione è quello di ottenere il kernel minimo (compilando meno cose possibili) per ottenere la funzionalità richiesta. Per questo motivo invito chiunque abbia consigli per ridurre ulteriormente questa configurazione, o che sappia anche solo chiarire certe voci più oscure della configurazione, a scrivere qui ampliando e integrando il testo.
Il secondo scopo di questa configurazione è quello di ottenere il kernel minimo (compilando meno cose possibili) per ottenere la funzionalità richiesta. Per questo motivo invito chiunque abbia consigli per ridurre ulteriormente questa configurazione, o che sappia anche solo chiarire certe voci più oscure della configurazione, a scrivere qui ampliando e integrando il testo.


Attravesso l'indice è possibile accedere direttamente alle varie sezioni della configurazione del kernel. Per cui questa guida può essere anche usata come veloce riferimento o confronto.
Attraverso l'indice è possibile accedere direttamente alle varie sezioni della configurazione del kernel. Per cui questa guida può essere anche usata come veloce riferimento o confronto.


Come ultima cosa aggiungo che con questa configurazione riesco a non avere mai interruzioni nella musica che ascolto anche se ricompilo il kernel o installo openoffice (queste prestazioni le raggiungo soltanto usando l'[[Esempio_configurazione_kernel#IO_Schedulers__---.3E|I/O Scheduler]] '''cfq''').
Come ultima cosa aggiungo che con questa configurazione riesco a non avere mai interruzioni nella musica che ascolto anche se stò ricompilando il kernel o installando openoffice (queste prestazioni le raggiungo soltanto usando l'[[Esempio_configurazione_kernel#IO_Schedulers__---.3E|I/O Scheduler]] '''cfq''').


Happy Debian!
Happy Debian!
Riga 19: Riga 19:
Il pc è un desktop abbastanza standard, nessuna periferica scsi, hard disk EIDE ata 100, cdrom e masterizzare EIDE, scheda audio Audigy 1, scheda video ati radeon 7000ve, floppy, porte usb (sono abilitati nella configurazione l'uso di chiavette usb).
Il pc è un desktop abbastanza standard, nessuna periferica scsi, hard disk EIDE ata 100, cdrom e masterizzare EIDE, scheda audio Audigy 1, scheda video ati radeon 7000ve, floppy, porte usb (sono abilitati nella configurazione l'uso di chiavette usb).


La connesessione avviene tramite scheda di rete 10/100, quindi non è necessario nessun particolare supporto per modem. Inoltre '''non viene usata l'immagine initrd''' e quindi i relativi supporti (file system, chipset, ecc...) vengono compilati staticamente.
La connessione avviene tramite scheda di rete ethernet 10/100, quindi non è necessario nessun particolare supporto per modem. Inoltre '''non viene usata l'immagine initrd''' e quindi i relativi supporti (file system, chipset, ecc...) vengono compilati staticamente.


Ecco per completezza l'output di lspci:
Ecco per completezza l'output di lspci:
Riga 137: Riga 137:


== Bus options (PCI, PCMCIA, EISA, MCA, ISA)  ---> ==
== Bus options (PCI, PCMCIA, EISA, MCA, ISA)  ---> ==
Non sono sicuro se la voce "PCI device name database" sia necessaria. Se qualcuno ha infomrazioni in proposito per favore lo segnali.
Non sono sicuro se la voce "PCI device name database" sia necessaria. Se qualcuno ha informazioni in proposito per favore lo segnali.


   │ ┌─────────────────────────────────────────────────────────────────────┐ │
   │ ┌─────────────────────────────────────────────────────────────────────┐ │
Riga 170: Riga 170:
   │ └─────────────────────────────────────────────────────────────────────┘ │
   │ └─────────────────────────────────────────────────────────────────────┘ │
=== Networking options  ---> ===
=== Networking options  ---> ===
Sono attivate solo le configurazioni minime per navigare. Nessun firewall, o capacità di routing è attivata. Se qualcuno sa cosa si può ancora togliere è ben gradito un consiglio. Con questa configurazione è possibile fare file-sharing e ricevere trasmissioni broadcast tramite internet.
Sono attivate solo le opzioni minime per navigare. Nessun firewall, o capacità di routing è attivata. Se qualcuno sa cosa si può ancora togliere è ben gradito un consiglio. Con questa configurazione è possibile fare file-sharing e ricevere trasmissioni broadcast tramite internet.
   │ ┌─────────────────────────────────────────────────────────────────────┐ │
   │ ┌─────────────────────────────────────────────────────────────────────┐ │
   │ │      <*> Packet socket                                              │ │
   │ │      <*> Packet socket                                              │ │
Riga 268: Riga 268:
   │ └─────────────────────────────────────────────────────────────────────┘ │
   │ └─────────────────────────────────────────────────────────────────────┘ │
==== IO Schedulers  ---> ====
==== IO Schedulers  ---> ====
Questi sono gli scheduer per l'I/O. Non è chiaro quale sia il migliore in assoluto per la bassa latenza, io li compilo tutti e tre. Di default viene scelto Anticipatory ma può essere cambiato (ad esempio se vogliamo impostare il cfq) in tempo reale con:
Questi sono gli scheduer per l'I/O. Non è chiaro quale sia il migliore in assoluto per la bassa latenza, io li compilo tutti e tre. Di default viene scelto "Anticipatory" ma può essere cambiato (ad esempio se vogliamo impostare il cfq) in tempo reale con:


  # echo cfq | /sys/block/hda/queue/scheduer
  # echo cfq | /sys/block/hda/queue/scheduer
Riga 275: Riga 275:


  elevator=cfq
  elevator=cfq
I valori possibili si ottengono con un cat di <tt>/sys/block/hda/queue/scheduer</tt>
(lo schduler in uso è indicato tra parentesi quadre).


Ecco la configurazione:
Ecco la configurazione:
Riga 340: Riga 343:


=== SCSI device support  ---> ===
=== SCSI device support  ---> ===
Queste voci sono necessari per avere l'emulazione scsi ed usare le chiavette usb.
Queste voci sono necessarie per avere l'emulazione scsi ed usare le chiavette usb.
   │ ┌─────────────────────────────────────────────────────────────────────┐ │
   │ ┌─────────────────────────────────────────────────────────────────────┐ │
   │ │  <M> SCSI device support                                            │ │
   │ │  <M> SCSI device support                                            │ │
Riga 361: Riga 364:


=== I2O device support  ---> ===
=== I2O device support  ---> ===
Queste voci servono per attivare i sensori (temperature, ventola, ecc...).
Queste voci servono per attivare i sensori (temperatura, ventola, ecc...).


   │ │                  <M> I2O support                                    │ │
   │ │                  <M> I2O support                                    │ │
Riga 472: Riga 475:
* VESA VGA graphics support
* VESA VGA graphics support


tuttavia nel mio caso uso il modulo radeon che mi permette di avere un frame buffer accelerato, con una risoluzione di 1280x1024 e un'alta frequenza di refresh (~ 74 Hz). Nella mia eserienza il modulo vesa ha la precedenza sul radeon, quindi per usare quest'ultimo bisogna diabilitare il vesa.
tuttavia nel mio caso uso il modulo radeon che mi permette di avere un frame buffer accelerato, con una risoluzione di 1280x1024 e un'alta frequenza di refresh (~ 74 Hz). Nella mia esperienza il modulo vesa ha la precedenza sul radeon, quindi per usare quest'ultimo bisogna disabilitare il vesa.


   │ ┌─────────────────────────────────────────────────────────────────────┐ │
   │ ┌─────────────────────────────────────────────────────────────────────┐ │
Riga 547: Riga 550:


===== Generic devices  ---> =====
===== Generic devices  ---> =====
Qui seleziono solo il virtualmidi che talvolte può tornare utile:
Qui seleziono solo il virtualmidi che talvolta può tornare utile:
   <M> Virtual MIDI soundcard   
   <M> Virtual MIDI soundcard   


Riga 555: Riga 558:


===== USB devices  ---> =====
===== USB devices  ---> =====
Da selezionare solo se di possiedono periferiche audio usb, io non ne possiedo e non seleziono niente.
Da selezionare solo se si possiedono periferiche audio usb, io non ne possiedo e non seleziono niente.


=== USB support  ---> ===
=== USB support  ---> ===
Non metto il supporto HID non possedendo nessuna periferica che lo richiede. Inoltre la mia connessione è tramite scheda di rete, quindi non selezione nessuna voce relativa a preiferiche di networking usb.
Non metto il supporto HID non possedendo nessuna periferica che lo richiede. Inoltre la mia connessione è tramite scheda di rete, quindi non seleziono nessuna voce relativa a periferiche di networking usb.
   │ ┌─────────────────────────────────────────────────────────────────────┐ │
   │ ┌─────────────────────────────────────────────────────────────────────┐ │
   │ │<M> Support for Host-side USB                                        │ │
   │ │<M> Support for Host-side USB                                        │ │
Riga 634: Riga 637:


== File systems  ---> ==
== File systems  ---> ==
Qui sceglieremo i filesystem che dovrà il nostro sistema dovrà supportare. Notare la presenza del nuovo inotify, usato ad esempio da beagle.
Qui sceglieremo i filesystem che il nostro sistema dovrà supportare. Notare la presenza del nuovo inotify, usato ad esempio da beagle.
   │ ┌─────────────────────────────────────────────────────────────────────┐ │
   │ ┌─────────────────────────────────────────────────────────────────────┐ │
   │ │    <*> Second extended fs support                                  │ │
   │ │    <*> Second extended fs support                                  │ │
Riga 687: Riga 690:


=== Pseudo filesystems  ---> ===
=== Pseudo filesystems  ---> ===
Molto importate questa sezione. Il server audio a bassa latenza jack necessita della voce
Molto importante questa sezione. Il server audio a bassa latenza '''jack''' necessita della voce
  * Virtual memory file system support
  * Virtual memory file system support
per poter funzionare correttamente.
per poter funzionare correttamente.
Riga 707: Riga 710:


=== Native Language Support  ---> ===
=== Native Language Support  ---> ===
Non sono sicuro che questa sia la configurazione ottimale, la riporto solo per completezza. Solo elencate le sole voci selezionate:
Non sono sicuro che questa sia la configurazione ottimale, la riporto solo per completezza. Sono elencate le sole voci selezionate:
   │ ┌──────────────────────────────────────────────────────────────────────────┐ │
   │ ┌──────────────────────────────────────────────────────────────────────────┐ │
   │ │ <*> Base native language support                                        │ │
   │ │ <*> Base native language support                                        │ │
Riga 723: Riga 726:


== Kernel hacking  ---> ==
== Kernel hacking  ---> ==
Con queste opzioni si attivano i tasti magici che permettono di uscire da configurazione di stallo del sistema. Molto utile se si provano molti sofware audio sperimentali che rischiano di destabilizzare il sitema.
Con queste opzioni si attivano i tasti magici che permettono di uscire da configurazione di stallo del sistema. Molto utile se si provano molti sofware audio (e non solo) sperimentali che rischiano di destabilizzare il sistema.
Per maggiori informazioni vedere la documentazione del kernel.
Per maggiori informazioni vedere la documentazione del kernel.
   │ ┌─────────────────────────────────────────────────────────────────────┐ │
   │ ┌─────────────────────────────────────────────────────────────────────┐ │
Riga 747: Riga 750:


== Security options  ---> ==
== Security options  ---> ==
Queste voci sono necessarie per poter compilare successivamente il modulo realtime-lsm che permette di eseguire applicazione in realtime anche ad utenti onon-root.
Queste voci sono necessarie per poter compilare successivamente il modulo realtime-lsm che permette di eseguire applicazioni in realtime anche ad utenti non-root.
   │ ┌─────────────────────────────────────────────────────────────────────┐ │
   │ ┌─────────────────────────────────────────────────────────────────────┐ │
   │ │          [ ] Enable access key retention support                    │ │
   │ │          [ ] Enable access key retention support                    │ │
1 760

contributi