Una maravilla del Software Libre: DKMS

29 11 2008

DKMS (Dynamic Kernel Module Support) suena como algo difícil de instalar y algo que cualquier Ubuntero diría “Creo que no lo necesitamos” pero siendo Linuxeros de corazón, es bueno que conozcamos este paquete porque nos puede sacar de muchos apuros y es algo que seria “pecado” que no conociéramos.

Uno de los problemas más comunes con los módulos que no se incluyen con el núcleo Linux es que deben ser compilados siempre para cada versión exacta bajo la misma configuración que el mismo núcleo. Es decir, si tenemos una webcam cuyos drivers, por el motivo que sea, no son mantenidos en la rama principal del núcleo sino que los hace un señor que vive en Barbuda, tenemos que realizar una serie de pasos previos antes de poder utilizarlos.

Las distribuciones, máximas responsables de facilitarle la vida al tipo de usuario al que van dirigidas, habitualmente incluyen versiones precompiladas para el núcleo que están utilizando en ese momento, pero ¿qué ocurre cuando se actualiza el núcleo? Que todos los que mantienen esos módulos tienen que volverlos a compilar. Como haya algún despistado puede ocurrir que se actualice el núcleo pero no un módulo concreto hasta pasado un tiempo -y que tengas que estar unos días sin que te funcione la webcam, por ejemplo-. Esperar no suele ser una opción, especialmente por actualizaciones de seguridad.

Normalmente, siguiendo otro enfoque, distribuciones como Debian incluyen las versiones en código fuente de estos drivers pasándole el control sobre estos módulos al mismo usuario. Ubuntu también tiene opción a ello, es desde luego opción imprescindible si somos nosotros mismos los que compilamos nuestro núcleo.

Hace unos años surgió una herramienta que facilitaba el proceso de compilar los módulos, module-assistant. El problema es que mediante module-assistant el usuario debe preparar el sistema para compilar, escoger qué módulos quiere, etc. y termina siendo únicamente una máscara algo más visual para el mismo sistema de compilar a mano de toda la vida.

DKMS es un sistema que también trabaja con estas últimas versiones en código fuente. A diferencia de module-assistant, no requiere interacción con el usuario. Éste tan solo elige qué módulos quiere con su gestor de paquetes favorito y DKMS en la sombra se encarga del resto: En cada inicio comprobará qué módulos tenemos instalados y los compilará para el núcleo en ejecución en caso de que sea necesario.

Este sistema convierte la instalación de módulos como lirc, kqemu o cdemu en un juego para niños, sin pervertir para nada el tradicional sistema de instalación de paquetes ni el de compilación manual. Eso sí, requiere que los responsables de las distribuciones habiliten DKMS en cada paquete que lo necesita, ya que deben ser los mismos paquetes los encargados de añadirse al sistema en cuestión, aunque es una tarea bastante trivial.

Más información en | Página oficial proyecto DKMS

Visto en | AcdrTUX



Acciones

Información

9 respuestas

29 11 2008
shakaran

Muy didáctico y útil para los que desconociamos el término.

Saludos

29 11 2008
josekont

Gracias por tu comentario amigo, un saludo!!

1 12 2008
Solucionar problema en VirtualBox al actualizar el Kernel de Ubuntu « Obux | Ubuntu y Tecnología

[...] que este lo haría automáticamente.  Para hacer esto nos basamos en la utilización del paquete Dkms. Solo tienes que abrir un Terminal (Aplicaciones→Accesorios→Terminal) y escribir lo [...]

7 12 2008
fausto23

Muy buena informacion, tambien es de importancia de saber que este sistema fue desarrollado junto con la empresa Dell, para que vean quien creen que grandes empresas no apoyan a GNU/Linux.

7 12 2008
josekont

@ Fausto:
Si, existen algunas empresas interesadas en apoyar el FLOSS, y cada día son más y más. Que bien que te haya resultado interesante el articulo. Saludos!!

20 07 2009
Leticia Alvarez C

Hola
Soy novata en Linux, actualmente he instalado pclinuxos 2009 y quiero instalar una maquina virtual (WIndows XP). Pero un requisito para instalar el VirtualBox es instalar DKMS, pero no tengo idea como hacerlo. Podria alguien ayudarme por favor?

Gracias
Leticia.

30 08 2009
josekont

@ Leticia:

Hola, deberías leer la documentación oficial, ellos tienen instructivos para cada Distro, y yo he puesto el enlace al final del articulo. Slds!

20 07 2009
Leticia Alvarez C

hola

26 10 2009
caos30

oye, excelentemente explicado!
gracias.

Y gracias por el apunte de Dell… muy interesante saberlo.
El fabricante que sigue desconcertándome es HP… a veces colabora con proyectos Linux, como el “HP Linux Imaging and Printing” (http://hplipopensource.com/hplip-web) que facilita la interacción de Linux con más de 1900 impresoras HP, pero otras veces hace ciertas alianzas con Microsoft (por ejemplo), que no entiendo. A parte de que cuando compras una laptop HP (como en mi caso) te EXIGEN que si vas a llevar tu equipo -aún en garantía- a arreglar lleve el sistema operativo “original” (windows vista en mi caso), el cuál probablemente ya esté en la basura desde hace muuucho tiempo.

Pero en fin… por eso me alegra saber que los fabricantes van teniendo en cuenta a Linux. Gracias por el dato.

Un saludo
SERGI

Deja un comentario