modulo del kernel

tony.oliveri tony.oliveri@email.it
Mar 7 Ott 2008 21:24:53 CEST


--------- Original Message --------

 Da: "iw9cmd flavio" <iw9cmd@libero.it>

 To: "palermo@lists.linux.it" <palermo@lists.linux.it>

 Oggetto: modulo del kernel

 Data: 07/10/08 16:58

 

  

 >Si da il caso che io possieda un portatile con una architettura diversa

 >dalle solite. È un ppc g3 466 Mhz. Sopra ho una debian
testing/unstable.

 >E come interfaccia grafica uso xfce. 


Non so come vada xfce su quell'architettura, ma ti consiglierei Fluxbox, e'
molto
piu' scattante, fa risparmiare un sacco di risorse, e in piu' ti diverti a
configurarlo (lo uso di default) :)
Ovviamente non e' "comodo" come xfce o altri, ma e' utile quando il sistema
non e'
particolarmente dotato.







>Il suddetto portatile ha un sistema di gestione della batteria (si

 >funziona ancora, anzi di nuovo) che non è nè apm
nè acpi ma pmu.

 >Il supporto per questo sistema di gestione c'è compilato nel
kernel

 >debian quindi il il suspend funziona e anche il supporto per la

 >batteria. Ma non sono riuscito a trovare una applicazione decente

 >(qualcuna oscena si) che riesca a visualizzare il livello delle

 >batterie. Mi piacerebbe che a fare questo lavoro fosse fatto

 >dall'apposita applicazione di xfce4 che però non supporta il pmu
ma

 >solo apm e acpi.

 >Le strade allora sono 2:

 >

 >1) modificare i sorgenti dell'applicazione di xfce4 per fargli

 >supportare anche pmu, sciacallando a piene mani anche dal codice
già

 >scritto delle applicazioni che già lo fanno (ovviamente sw
libero). E si

 >può sempre fare al costo di un po' di tempo, ma adesso non me lo

 >ritrovo e cmq per me non è poco (visto che anche se è
assai semplice

 >io sono scarso).


Non so se sia possibile la 1), considera che comunque hai bisogno
necessariamente di un
"device" che legga lo stato della batteria (e che possibilmente ti comunichi
quando e' alimentato
dalla rete elettrica).


 

 >2) caricare il modulo del kernel apm_emu che attiva l'emulazione

 >dell'apm su questi sistemi. Solo che il modulo non viene più
compilato

 >nei sistemi debian sin dal 2.6.18. Ho i miei buoni motivi (usb

 >wirelesss che prima non funzionava) per usare invece il 26, quindi non

 >ditemi di usare il 18.
>Dopo questo lungo preambolo ecco la domanda:

 >Si può compilare un solo modulo interno al kernel senza per
questo

 >ricompilare tutto il kernel? e nemmeno tutti i moduli?

 >Pensavo che si potesse fare abbastanza agevolmente, invece non ci sono

 >ancora riuscito e soprattutto non ho trovato notizie in rete.

 >Si può fare?

>Possibile mai che è semplicissimo compilare un solo modulo
esterno e

 >impossibile farlo con uno interno?


Non so se sia possibile, non ho mai provato, e' probabile che bisogni
ricompilare l'intero kernel,
non ci ho mai smanettato in dettaglio.
Forse, e dico forse, potresti avere fortuna applicando una patch al kernel,
ma c'e' da stare
*veramente* attenti, e tenersi da parte un kernel funzionante.
Ma scusa, perche' lo vorresti compilare staticamente?
Lo potresti compilare come modulo esterno, tanto funziona comunque (spiego
meglio qui sotto).
Non ti dico di cercare in /proc o altro, visto che sei sicuro del fatto che
non esiste un modulo utile.





>Se è così, qualcuno è in grado di spiegarmi
perché? Cioè in pratica in

 >cosa sta la differenza tra un modulo esterno e uno interno?


Il modulo "interno" e' quello che all'atto della compilazione del kernel
includi di default, e che
generalmente ti serve "per forza", per averlo a disposizione fin dall'avvio
del sistema,
ad es. il supporto al filesystem di root (etx2, etx3, reiserfs, etc),
senza il quale il sistema operativo neanche potrebbe avviarsi, se tu lo
avessi compilato come modulo esterno.
Nella schermata relativa alla configurazione del kernel (make menuconfig) lo
vedi settato come
asterisco tra parentesi, cosi': -->(*)<--

Il modulo "esterno", invece, viene compilato per essere caricato o all'avvio
(inserendone il nome in /etc/modules, o facendolo
caricare in automatico perche' "dipende" da altri moduli),
o in un secondo momento, infatti puoi scegliere di caricarlo quando ti serve
(modprobe <nome_modulo>),
e "scaricarlo" quando non ti serve piu' (modprobe -r <nome_modulo>), e
il sistema continua a funzionare tranquillamente. :)
Nella schermata di configurazione del kernel lo vedi cosi': -->(M)<--
Un esempio?
Nel mio notebook ho attivato il cpu-scaling con cpufreqd: per visualizzare
delle statistiche
d'uso del processore, ho bisogno di caricare il modulo "cpufreq_stats" che,
appena attivato, mi crea dei dispositivi in /sys/_qualcosa_ (sysfs),
e che quindi mi permette di vedere quanto tempo la cpu e' stata usata nei
vari step disponibili, tipo:


$ cpufreq-info
(cut)

statistiche cpufreq:800 MHz:95,26%, 1.60 GHz:1,29%, 1.80 GHz:0,07%, 2.00
GHz:3,38%


Senza quel modulo mi visualizza altri dati, ma non la riga che ho incollato.
:)


Nei kernel "monolitici" di solito viene compilato tutto (o quasi) come
modulo interno, mentre in quelli "modulari"
(piu' moderni, tra l'altro, che danno il vantaggio di avere un kernel piu'
snello),
l'essenziale viene compilato internamente al kernel, il resto, utile ma non
indispensabile, solo come modulo (M).
Io recentemente ho fatto cosi', attivando tra l'altro qualche
feature/ottimizzazione particolare, e' una scheggia! :D





>Il sorgente del modulo non si trova come modulo esterno ovviamente,

 >altrimenti non avrei inquetato la lista.

 >Potete anche rispondere rtfm, non chiedo di meglio, ma per favore

 >scrivete QUALE manuale (e se magari mettete un link non sarebbe male).


Premetto che non so se i seguenti link possano esserti utili, appunto
perche' purtroppo non c'e' un modulo esterno, ma intanto e' un inizio:
rtfm #1: http://thomashertweck.de/kernel26i.html   [ ci sono tante
info ]
rtfm #2: http://www.siforge.org/articles/2004/02/09-porting26.html#hl_01_04
(qualcosina forse anche qui, ma non sono sicuro...)
rtfm #3:
http://www.nntp.it/comp-os-linux-iniziare/297513-compilare-solo-un-modulo.html
rtfm #4: http://forum.html.it/forum/showthread/t-728493.html
rtfm #5:
http://guide.debianizzati.org/index.php/LKN:_Configurare_e_Compilare (vedi
verso la sezione "Compilare solo una parte del kernel")


 

 >Ciao

 >iw9cmd flavio

 >

 >-- 

 >JabberID: iw9cmd_flavio@jabber.linux.it

 >my webblog: http://www.palug.net/Members/iw9cmd/pragmaticamente/

 >_______________________________________________

 >palermo mailing list

 >palermo@lists.linux.it

 >http://lists.linux.it/listinfo/palermo




Ciao, in bocca al lupo. :)




 
 --
 Email.it, the professional e-mail, gratis per te: http://www.email.it/f
 
 Sponsor:
 Scopri le supernovità dei games per cellulare! Giocale tutte!
 Clicca qui: http://adv.email.it/cgi-bin/foclick.cgi?mid=8271&d=20081007

-------------- parte successiva --------------
Un allegato HTML è stato rimosso...
URL: http://lists.linux.it/pipermail/palermo/attachments/20081007/246db65d/attachment.htm 


Maggiori informazioni sulla lista palermo