To be or not to be? ¡DKMS es!
Ubuntu 8.10 oficializa el marco DKMS y es la novedad que más me gusta de Intrepid Ibex, ya que permite construir dinámicamente los módulos para cada núcleo en nuestro sistema de manera organizada pero sobre todo simplificada. DKMS no es nuevo para Linux, ya Fedora y Red Hat lo usan desde hace un par de años y si no estoy mal informado SuSE también, incluso tampoco para Ubuntu lo es, ya desde el lanzamiento DELL con Ubuntu 7.10 venía instalada la versión DKMS-2.17, si chequean en la versión Hardy Heron 8.04, verán que ya lo tenemos.
Dynamic Kernel Module Support (DKMS) es un sistema para construir automáticamente la instalación de módulos que son parte del árbol pero se mantienen fuera del núcleo de un kernel, garantiza que si se instala un nuevo núcleo, los cambios sean gestionados por la ABI (Application Binary Interface, que no es otra cosa que la interfaz entre un programa de aplicación y sus componentes, bibliotecas y lo más importante para el caso que nos ocupa el sistema operativo) automáticamente para los módulos locales de cada PC contra las nuevas cabeceras del núcleo.
Esto libera a los proveedores y a sus clientes de ser obligados por el núcleo para arreglar los problemas uno a uno. En cambio, cuando un controlador de dispositivo ha sido liberado, DKMS sirve de emergente para la revisión de la distribución hasta que el código fuente pueda ser fusionado en el nuevo núcleo. Esto es de extraordinaria ayuda para los usuarios pues, evitan reconstruir manualmente los fuente o descargar una versión actualizada del binario correspondiente.
Diseñado por Dell Computer Corporation para fijar la distribución a sus clientes de manera controlada, reducir los tiempos de desarrollo, pruebas y validación para toda la comunidad. Lo cual significa vender equipos DELL + Distribución (hoy Ubuntu) sin problemas ni reclamos. Sin duda, una visión diferente a la de un linuxero. Tan es así, que el LINUX-Journal reza en un artículo de Septiembre 1 de 2003: “Con frecuencia, la comunidad Linux se manifiesta con escepticismo y con un poco de ansiedad, pero si se hace correctamente (se refiere a la aceptación de terceros), los beneficios se ven y se sienten por todo el mundo”.
Pareciera una exageración del LINUX-Journal y es obvio que la iniciativa de la empresa DELL es deshacerse de la monserga con sus clientes, y va mas allá, su insistencia en que también para los desarrolladores les es más fácil por la simplificación de los procesos dependientes del software con el kernel.
Cuando las cosas se hacen bien, nada de esto debe extrañarnos. Ejemplos como éste irán manifestándose en favor de la cooperación con Linux de muchas otras empresas que ven a Linux con diferentes ojos.
A continuación muestro a ustedes un poco de la página de manual (MAN-page) para señalar un comentario en la acción [mkdriverdisk] que dice: “Actualmente, el apoyo a las distribuciones son RedHat, SuSe y UnitedLinux.” Se esta refiriendo a la unidad de respaldo para utilizarse cuando tenga que hacerse la instalación de un sistema operativo.
SYNOPSIS
dkms [action] [options]
ACTIONS
add
Añade un módulo/versión construye e instala a la combinación de árbol. Requiere fuente en /usr/src/<module><module>-<version>/, así como un formato adecuado para el archivo dkms.conf.
remove
Elimina un módulo/o módulo de versión/version/combinación del núcleo de árbol. Si los módulos están instalados actualmente, primero desinstala y si procede, sustituirá con su original_module. Utilice la opción –all (todos) a fin de eliminar todas las instancias para cada núcleo a la vez.
build
Crea el módulo específico/versión para el núcleo especificado. Si no se especifica el núcleo se construye actualmente para el núcleo en función. Todo el proceso se basa en el directorio /var/DKMS/<module><module>-<version>/build/.
install
Instala un módulo construido/versión para en el núcleo que fue construido. Si la opción del kernel no se especifica se asume el núcleo ejecutandose actualmente.
uninstall
Desinstala un módulo instalado/de la versión del kernel que se instaló al respecto. Después de concluir la desinstalación, el conductor queda intacto. Para eliminar completamente un conductor, debe ejecutar la acción remove.
match
Match instala módulos en el núcleo especificado mirando a la configuración del templete del kernel especificado. Cada módulo que es instalado en el templete del kernel dentro de DKMS es hasta entonces instalado en el núcleo que se especifica.
mkdriverdisk
Crea un disquete de controlador de imagen de disco para usarlo cuando los controladores sean requeridos para la instalación de un sistema operativo. Actualmente, el apoyo a las distribuciones son RedHat, SuSe y UnitedLinux.
Finalmente para todos aquellos interseados en el seguimiento de dkms les dejo los siguientes enlaces:
WEBPAGE
WHITE-PAPERS
http://linux.dell.com/dkms/dkms-ols2004.pdf
http://www.dell.com/downloads/global/power/1q04-ler.pdf
http://www.linuxjournal.com/article.php?sid=6896
MAILING-LIST
dkms-devel@dell.com http://lists.us.dell.com/mailman/listinfo/dkms-devel
REFERENCES
Kernel Module Packages http://kerneldrivers.org
Foros Ubuntu http://ubuntuforums.org/showthread.php?t=491245
Debian http://www.linux-archive.org/debian-development/157780-rfc-dkms-dynamic-kernel-module-support-4.html
Novell Kernel Module Packages http://www.suse.de/~agruen/KMPM
Fedora Kernel Module Packages http://fedoraproject.org/wiki/Extras/KernelModuleProposal
Completa esta lectura con:
Si te gustó este post, por favor considera dejar un comentario o suscribirte al feed y obtener artículos futuros en tu lector de feeds.
Comentarios (4)
la 8.10 se llama Intrepid Ibex, Hardy Heron es la 8.04
(al principio pones “Ubuntu 8.10 oficializa el marco DKMS y es la novedad que más me gusta de Hardy Heron”, como si la 8.10 fuera Hardy Heron)
@JuanCarlospaco. Es muy difícil hablar de por-cientos, ésto depende de su diseño y aplicación.
@Alvaroso. Pudo interpretarse como si le estuviera dando uso desde Hardy Heron, pero no es así. ¡Corregido! Gracias.
Saludos ;-))



























































De lo llamado “Kernel”, el 55% son drivers integrados.
el resto es codigo nucleo, aun esta disponible y se puede compilar la primer version de Linux en Kernel.org
buena info, salu2