Compilar módulos sin compilar todo el Kernel

February 10, 2007

Compilar 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.

  1. 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.
  2. 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”.
  3. 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)
  4. 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.
  5. 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.

Comments »

The URI to TrackBack this entry is: http://brunoprog64.blogsome.com/2007/02/10/compilar-modulos-sin-compilar-todo-el-kernel/trackback/

No comments yet.

RSS feed for comments on this post.

Leave a comment

Line and paragraph breaks automatic, e-mail address never displayed, HTML allowed: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong>



Medida AntiSpam. Por favor tipea el texto a tu derecha. Lamento tener que hacer eso, pero quiero tener un blog limpio de Spam.