bueno bueno !! a ver. Parar un momento y pensar lo que estais haciendo. Estais dando palos de ciego!!
mirar.. olvidaros de todo y empezar de nuevo...
1-ANTES DE NADA debeis tener en /usr/src/ las fuentes del kernel (sources) y las cabeceras (headers)... esto, SI Y SOLO SI, si teneis un kernel instalado de la distro instalada (instalada en el HD). Como por ejemplo, Debian, que tiene sus kernels que se instalan con apt-get install kernel-image-x.x.x.x o el que viene por defecto.
Resumiendo, estais usando el kernel que viene por defecto??
R - SI: pues entonces en "/usr/src" debe haber una carpeta que ponga algo asi "kernel-headers-X.X.X", donde las X.X.X son la versión del kernel
¿Como sé que versión uso? pues pon en una "consola" "uname -r" y os dirá la versión, por ejemplo:
>root@nais[root]# uname -r
>2.6.8-2-386
Como veis, mi versión es la 2.6.8-2-386, que es la que trae Debian por defecto para los 386.
Si no teneis en "/usr/src/" los headers, entonces supongo que podreis conseguirlos de algun repositorio, no? (recordad que deben ser de la misma versión y distribución). En el caso de Debian en cualquier repositorio los teneis y se llaman "kernel-headers-X.X.X" siendo X.X.X el número de version de cada kernel. Tan solo seria necesario hacer un "apt-get install kernel-image-X.X.X" para instalarlo.
Si no veis en "/usr/src/" ningúna carpeta en la que ponga algo de "headers", quizas aun haya salvación :p. Debemos asegurarnos de que no esta hecho el enlace que es lo que nos interesa. Tengamos o no los headers en "/usr/src/".
Y es lo siguiente. Lo que verdaderamente importa para poder compilar un modulo es que en "/lib/modules/$(uname -r)" , donde $(uname -r) es la versión del kernel que estais usando en ese mismo momento, tengais una carpeta que se llame "build". Si esta no esta, lo headers NO están instalados. Si SI se encuentra entonces no hay ningún problema. Podemos compilar nuestros modulos tranquilamente.
R - NO. Respuesta No a la pregunta de si estais usando un kernel de vuestra distribución, es decir, usais un kernel que habeis compilado vosotros mismo.
En este caso no hay headers que valgan. Los headers solo se ofrecen para aquellos kernels que no son compilados en la maquina. Por tanto olvidaros de los headers!!
Bien, y para las source, pues cualquier sources que sean de la misma versión os valen. Podeis encontrarlos todos en la pagina oficial del kernel (
http://kernel.org). Mirais vuestra versión y os bajais exactamente la misma.
Por ejemplo, a mi me sale "2.6.8-2-386" cuando hago "uname -r", por tanto me tengo que bajar la versión 2.6.8.
Bueno, creo que llevo bastante royo hechado.. esperare a ver si alguien me sigue o esta interesado para contar más...
Saludos ...