Módulos del Kernel Linux

Es el turno de hablar un poco acerca de como la funcionalidad del Kernel Linux es extendida a través de módulos.

Los módulos pueden funcionar como controladores de hardware o sumar nueva funcionalidad (como implementar un nuevo protocolo de red).

Los módulos de kernel usan la extensión .ko.
Los módulos del kernel usualmente están por defecto en: /lib/modules//*.ko
Los módulos son compilados específicamente para una versión de kernel. Es por ello que se almacenan en un subdirectorio dentro de otro con el número de versión del kernel (uname -r).

Herramientas

  • lsmod: Lista los módulos cargados.
  • insmod: Carga módulos directamente.
  • rmmod: Remueve módulos directamente.
  • modprobe: Carga o descarga módulos. Utiliza la DB pre-construida de los módulos con info de sus dependencias.
  • depmod: Reconstruye la bd de dependencias de módulos.
  • modinfo: Muestra info acerca de un modulo (cargado o no). Se puede usar solo el nombre de módulo (si el .ko está en /lib/modules//) o la ruta completa del archivo .ko.

Instalar módulo

Desinstalar módulo

La info de los módulos también se muestra en /sys/module/*

Se pueden especificar valores de parámetros al cargar el modulo:
sudo /sbin/instmod /file.ko <span style="color: #339966;">customalgo=valor otracosa=otrovalor

La configuración del comando modprobe se encuentra en /etc/modprobe.d.

Deja un comentario