como puedo hacer cambios en un modulo del kernel actual?

Imagen de Liken
0 puntos

Hola. Quiero hacer cambios en el codigo de un modulo. No puedo compilar el kernel entero cada vez que quiero hacer pruebas.

Lo que hago (y no va bien)

apt-get source linux-image-2.6.24-11-generic
//copy .config from /boot
//copy Module.symvers from /usr/src/linux-headers-generic/
make menuconfig
make modules_prepare

//Ahora, quiero compilar por ejemplo el modulo pcspkr que esta en misc (el beep de la consola). No Hago cambios.
make SUBDIRS=drivers/input/misc modules

//Vale, ya tengo pcspkr.ko, lo cargo: insmod ./pcspkr.ko

Carga bien pero algo ha cambiado y no funciona. Cuando cargo el original dmesg dice:

input: PC Speaker as /devices/platform/pcspkr/input/input15

Cuando cargo el mio dmesg dice:

input: PC Speaker as /devices/virtual/input/input13

Y por supuesto no funciona, no hay beeps en consola.

Y pcspkr es solo un ejemplo. Lo he elegido por que parecia un modulo sencillo. En el que realmente quiero hacer cambios es un modulo central importante (libata.ko), pero cuando compilo mi version sin cambios y la cargo en el arranque el ordenador se cuelga. De ahi que probara con un modulo mas simple.

Entonces, estoy perdido, como puedo compilar un simple modulo (sin hacer cambios en el codigo) para obtener un modulo clon del que esta corriendo en el kernel actual??????? 

Gracias.