PARTE 1: Configurazione del kernel
ATTENZIONE: QUESTA SEZIONE SI RIFERISCE A COLORO CHE NECESSITANO DI RICOMPILARE IL KERNEL PER ABILITARE IL SUPPORTO AI SENSORI. GENERALMENTE CIÒ NON È NECESSARIO IN QUANTO MOLTE DISTRIBUZIONI CONTENGONO GIÀ UN KERNEL MOLTO GENERICO PER SUPPORTARE TUTTO L'HARDWARE E QUINDI PREDISPOSTO ALLO SCOPO.
SE NON INTENDI O NON HAI LA NECESSITÀ DI RICOMPILARE IL KERNEL, PUOI SALTARE QUESTA SEZIONE E ANDARE DIRETTAMENTE ALLA PARTE 2
Con Sabayon non è necessario ricompilare il kernel per abilitare il supporto ai sensori. Tuttavia il kernel ultracompleto fornito di default non mi soddisfa e quindi ho deciso di eliminare opzioni che non mi interessano configurandolo a mano (Perchè dovrei volere il supporto alla porta parallela che non ho sulla mobo? E perchè abilitare il supporto RAID se non lo uso? :) ). Passo quindi a spiegare in linea generale come configurare un kernel (che nel mio caso è il 2.6.21-r2) per la lettura dei sensori per chi volesse cimentarsi nell'impresa.
Quasi mai è NECESSARIO farlo, tuttavia può essere divertente ed istruttivo provarci almeno una volta, e se ce l'ho fatta io che sono niubbo in materia di kernel, potete farcela anche voi :D
In generale, se possedete una distribuzione con kernel 2.6.x, va abilitato il supporto ai sensori nel momento in cui compilate il kernel.
Il supporto può essere integrato direttamente nel kernel oppure generato come modulo.
Le cose di cui necessitiamo sono due: il supporto a I2C e il driver specifico del sensore che volete rilevare.
I2C è un vecchi bus sviluppato da Philips che è usato per applicazioni con microcontrollori. Quasi sicuramente vi servirà abilitarlo nel kernel per avere il supporto del vostro chipset.
Dalla directory dove avete i sorgenti del kernel (nel mio caso il kernel è un Sabayon-2.6.21-r2) con permessi da root lanciate
Nel menu per la configurazione del kernel scegliete la sezione "Device Drivers" e poi "I2C support".Codice:make menuconfig
Ora dovete impostare "I2C support" come incluso nel kernel o compilato come modulo. (Io sceglo di compilarlo nel kernel).
Alle voci "I2C Hardware bus support" scegliete e compilate (sempre come modulo o come incluso nel kernel) il driver dei dispositivi che avete a bordo. (Io scelgo di compilare come modulo Intel 82801 che è il driver per l'ICH).
Se sapete di avere a bordo anche delle eeprom o dei vecchi controllori alla voce "Miscellaneus I2C chip support" potete compilare i moduli per il supporto ad essi (io qui scelgo "EEprom reader" come modulo).
ATTENZIONE: Per i possessori di una distribuzione basata sul kernel 2.4.x, non è possibile compilare il supporto I2C direttamente nel kernel perchè non presente. Scaricate invece l'apposito pacchetto I2C dal vostro gestore di pacchetti oppure i sorgenti da [Solo gli utenti registrati possono vedere questo collegamento. ]
Passiamo ora alla preparazione dei driver dei sensori veri e propri. Tornate al menu "Device Drivers" e scegliete la categoria "Hardware monitoring support".
Qui dovete includere il supporto al rilevamento (io lo compilo nel kernel) e poi cercare nella lista i sensori che avete on-board. Per le prime volte io vi consiglio di selezionarli tutti come moduli. Una volta identificati con lm_sensors sarà possibile levare quelli che non ci servono (selezioniamo quindi tutti come moduli).
Uscite dal menu di configurazione e compilate il kernel, installate i moduli e rebootate il sistema dal kernel appena creato.
IMPORTANTE: Ricordo che se incerti sull'hardware a bordo della scheda madre, è possibile compilare tutti i driver dei sensori e dei chip I2C come moduli, in modo da non appesantire troppo il kernel pur avendo a disposizione i driver per tutto. Ricordatevi però poi di ricompilare levando i moduli che non vi servono, alleggerirete di molto il sistema ;)






