DKMS, qué es y como se usa

Retomando el tema de los drivers Wi-Fi. Compilaste el driver wifi para el kernel, OK. Funciona, OK. Te has preguntado que pasaría si actualizas el kernel???

Actualizando el kernel, deja de funcionar el driver o los drivers que hayas compilado, pero… Y si quisiera instalar el driver de alguna manera que, aún actualizando, se mantenga activo y funcionando.

Ahí es donde entra DKMS

Investigando un poco, casi todos los drivers actuales, vienen con DKMS, sólo hay que leerse las instrucciones y seguirlas al pie de la letra, para que todo funcione como se espera.

Antes de proseguir debemos instalar dkms:

apt install dkms

Tomando como ejemplo el post anterior seguimos adelante. Descargándonos el código fuente del controlador RTL8812AU:

# cd /home/koratsuki/Downloads/
# git clone https://github.com/gordboy/rtl8812au.git
# mv rtl8812au-master /home/koratsuki/Temp/compile
# cd /home/koratsuki/Temp/compile/rtl8812au-master
# cat README.md

Debemos leer las instrucciones que hay en el archivo README.md. Y siguiendo esas líneas:

root@happyharry:/home/koratsuki/Temp/compile/rtl8812au-master# mkdir -p /usr/src/rtl8812au-5.2.20
root@happyharry:/home/koratsuki/Temp/compile/rtl8812au-master# cp * /usr/src/rtl8812au-5.2.20
root@happyharry:/home/koratsuki/Temp/compile/rtl8812au-master# dkms add -m rtl8812au -v 5.2.20

Creating symlink /var/lib/dkms/rtl8812au/5.2.20/source ->
                 /usr/src/rtl8812au-5.2.20

DKMS: add completed.
root@happyharry:/home/koratsuki/Temp/compile/rtl8812au-master# dkms build -m rtl8812au -v 5.2.20

Kernel preparation unnecessary for this kernel.  Skipping...

Building module:
cleaning build area...
'make' -j4 KVER=4.15.0-29deepin-generic KSRC=/lib/modules/4.15.0-29deepin-generic/build..................
cleaning build area...

DKMS: build completed.
root@happyharry:/home/koratsuki/Temp/compile/rtl8812au-master# dkms install -m rtl8812au -v 5.2.20

8812au:
Running module version sanity check.

Good news! Module version v5.2.20.2_28373.20180619 for 8812au.ko
exactly matches what is already found in kernel 4.15.0-29deepin-generic.
DKMS will not replace this module.
You may override by specifying --force.

depmod.....

DKMS: install completed.

Como podemos ver, DKMS crea una estructura con la cual, guardando el driver en /usr/src, compila el driver y prepara el sistema para que ante actualizaciones, sólo compile automaticamente el driver sin necesidad de intervencion por parte del usuario.

Nada difícil, como podemos ver… Y buscando en /lib/modules/4.15.0-29deepin-generic/kernel/drivers/net/wireless, vemos nuestro driver recién compilado.

Ahora con:

# modinfo 8812au

Podemos ver todas las propiedades del driver.

Hasta aquí el post. Espero les haya sido de ayuda.

¿De cuánta utilidad te ha parecido este contenido?

¡Haz clic en una estrella para puntuar!

Promedio de puntuación 5 / 5. Recuento de votos: 1

Hasta ahora, ¡no hay votos!. Sé el primero en puntuar este contenido.

Sé el primero en comentar

Dejar una contestacion

Tu dirección de correo electrónico no será publicada.


*