Compilar módulos sin compilar todo el Kernel
February 10, 2007Compilar el Kernel Linux es una cosa que comunmente se deja a los “geeks”. Además es preciso tener algunos conocimientos profundos del hardware a instalar para poder así elegir que compilar dentro del kernel.
En Gentoo disponemos de la utilidad genkernel, que compila el núcleo detectando el hardware, y en otras distribuciones como Debian, núcleos precompilados con muchos drivers como módulos.
¿Pero que pasa si tenemos un módulo que no fue compilado y que necesitamos para algo, como el USB?: La respuesta mas simple sería: “Recompila el núcleo”. Pero para los usuarios principiantes y/o usuarios avanzados que no pueden desperdiciar un tiempo como es el que demora el compilarse un Kernel (Un kernel demora horas en compilarse), debemos buscar otras alternativas.
Gracias a Bulma.net, he encontrado esta forma práctica para compilar módulos del kernel:
Nota: Se supone que todos los comandos deben ser ejecutados como root.
- Descargamos el código fuente del Kernel: Bajémonos el código fuente correspondiente a nuestro kernel. Para saber que Kernel estamos usando en una terminal escribimos: “uname -r”. El número que obtengamos en formato x.y.z es la versión de nuestro Kernel. Ahora nos dirigmos aquí y elegimos la versión del kernel que tenemos y nos la descargamos y descomprimimos.
- Buscamos los módulos necesarios: Una vez que tenemos nuestro kernel descomprimido, debemos averiguar que módulos vamos a compilar. Para eso nos vamos a “/usr/src/linux” (O donde descomprimiste el Kernel) y escribimos “make menuconfig”. Navegamos por los menus y elegimos los módulos. Para saber donde están, hacemos click en el botón “Help”.
- Compilamos los módulos: Una vez que ya sabemos en que carpetas están los módulos, podemos compilarlos. Para eso escribimos “make SUBDIRS=’ubicación_de_los_modulos’ modules”.
Ahora los módulos elegidos se compilarán. Aunque sean sólo esos módulos, tomara tiempo (Al menos 30 minutos) - Instalamos los módulos: Ahora que compilamos los módulos, debemos instalarlos en donde se encuentran los otros. Para eso, copiamos los módulos (archivos con extensión .ko) deseados a la carpeta de módulos con el comando: “cp /lib/modules/’version_kernel’/'ubicacion_en_kernel’”. Si la carpeta no existe, la creamos con “mkdir ‘carpeta’” y luego copiamos.
- Cargamos los Módulos: Ahora para que los módulos queden configurados debemos actualizar las dependencias. Para eso escribimos “depmod -a”. Esperamos unos minutos (1 a 4 minutos) y ya tenemos los módulos listos. Ahora si queremos cargarlos, usamos “insmod ‘módulo_deseado’”.
Así hemos compilado nosotros mismos los módulos que nos faltaban para instalar algún dispositivo. Espero que les sirva de utilidad.





