linux user group brescia

immagine del castello

Archivio della mailing list

Kernel e moduli

andrea gelmini andrea.gelmini a lugbs.linux.it
Ven 29 Dic 2000 16:46:24 UTC
On Fri, Dec 29, 2000 at 05:06:20PM +0100, Enrico Colombini wrote:
> 1) Come si fa a sapere cosa c'e' dentro esattamente in un kernel, in modo
> da poterne compilare un altro (quasi) identico?
non puoi (esiste comunque una patch che ti permette di avere un file
in /proc che ti torna il config... ma parliamo sempre di patch
realizzate al volo, non applicabili a tutti i kernel).
puoi desumere talune informazioni sempre da /proc, ad esempio se e`
compilato il supporto per il raid hardware trovi il file mdstatus,
ma non tutte le funzioni hanno un file in proc.
per cio` che e` compilato come modulo ti basta guardare nella
directory dei moduli, ovviamente.

> 2) E' possibile provare un kernel, con i suoi moduli, senza toccare nulla
> di cio' che esiste attualmente? O devo per forza usare un'altra partizione?
si` alla prima, no alla seconda.

> 3) In alternativa, c'e' qualche modo di essere certi che nessuno tocchi la
> porta parallela?
si` e no... dipende a che livello vuoi farlo ecc...

comunque, se ho capito correttamente il tuo problema, procederei cosi`.
mettiamo che hai il kernel 2.2.18 e che vuoi partire con un 2.2.18
modificato da te per fare un test.
a) nei sorgenti del kernel modifichi il campo EXTRAVERSION (e` la quarta
   riga del makefile) con, per esempio, -mio (EXTRAVERSION = -mio)
b) ricompili il kernel
c) make modules_install (e vedrai che tutto viene sbattuto in
   /lib/modules/2.2.18-mio)
d) copi il System.map in /boot/System.map-2.2.18-mio
e) copy il solito arch/i386/bzImage in /boot/{chiamalo come ti pare}
f) modifichi il lilo e reboot

ora il nuovo kernel puntera` all'apposito System.map e ai suoi
moduli, senza toccare altro. per tornare alla situazione precedente
ti basta rebootare con il vecchio kernel

> P.S. Forse un giorno (purtroppo non vicinissimo) potrebbe uscirne un
> intervento a un Linux Day sulla cross-compilazione e debugging di
> microcontrollori con GCC e affini :-)
bello.

ciao,
andrea



Maggiori informazioni sulla lista Lug