Cómo cargar y descargar módulos de kernel en Linux

Cómo cargar y descargar módulos de kernel en Linux

Un módulo de núcleo es un programa que puede cargarse o descargar desde el núcleo a pedido, sin recompensarlo necesariamente (el núcleo) o reiniciar el sistema, y ​​tiene la intención de mejorar la funcionalidad del núcleo.

En términos de software general, los módulos son más o menos como complementos para un software como WordPress. Los complementos proporcionan medios para extender la funcionalidad del software, sin ellos, los desarrolladores tendrían que construir un solo software masivo con todas las funcionalidades integradas en un paquete. Si se necesitan nuevas funcionalidades, tendrían que agregarse en nuevas versiones de un software.

Del mismo modo sin módulos, el núcleo tendría que construirse con todas las funcionalidades integradas directamente en la imagen del núcleo. Esto significaría tener núcleos más grandes, y los administradores del sistema necesitarían recompilar el núcleo cada vez que se necesita una nueva funcionalidad.

Un ejemplo simple de un módulo es un controlador de dispositivo, que permite al núcleo acceder a un componente/dispositivo de hardware conectado al sistema.

Leer sugerido: Cómo averiguar qué versión de Linux está ejecutando

Lista todos los módulos de núcleo cargados en Linux

En Linux, todos los módulos terminan con el .KO extensión, y normalmente se cargan automáticamente a medida que el hardware se detecta en el arranque del sistema. Sin embargo, un administrador del sistema puede administrar los módulos utilizando ciertos comandos.

Para enumerar todos los módulos cargados actualmente en Linux, podemos usar el lsmod (módulos de lista) comando que lee el contenido de /proc/módulos como esto.

# lsmod 
Lista de módulos de núcleo en Linux
Module Size Used by rfcomm 69632 2 pci_stub 16384 1 vboxpci 24576 0 vboxnetadp 28672 0 vboxnetflt 28672 0 vboxdrv 454656 3 vboxnetadp,vboxnetflt,vboxpci bnep 20480 2 rtsx_usb_ms 20480 0 memstick 20480 1 rtsx_usb_ms btusb 45056 0 uvcvideo 90112 0 btrtl 16384 1 btusb btbcm 16384 1 btusb videobuf2_vmalloc 16384 1 uvcvideo btintel 16384 1 btusb videobuf2_memops 16384 1 videobuf2_vmalloc bluetooth 520192 29 bnep,btbcm,btrtl,btusb,rfcomm,btintel videobuf2_v4l2 28672 1 uvcvideo videobuf2_core 36864 2 uvcvideo,videobuf2_v4l2 v4l2_common 16384 1 videobuf2_v4l2 videodev 176128 4 uvcvideo,v4l2_common,videobuf2_core, VideOBUF2_V4L2 Intel_Rapl 20480 0 x86_pkg_temp_thermal 16384 0 Media 24576 2 UVCVIDEO, VideOdV .. 

Cómo cargar y descargar (eliminar) módulos de kernel en Linux

Para cargar un módulo de núcleo, podemos usar el insmod (insertar módulo) comando. Aquí tenemos que especificar la ruta completa del módulo. El siguiente comando insertará el paso rápido.KO módulo.

# insmod/lib/módulos/4.4.0-21-Genérico/kernel/conductores/cpufreq/speedstep-lib.KO 

Para descargar un módulo de núcleo, usamos el rmmod (eliminar el módulo) comando. El siguiente ejemplo descargará o eliminará el paso rápido.KO módulo.

# rmmod/lib/módulos/4.4.0-21-Genérico/kernel/conductores/cpufreq/speedstep-lib.KO 

Cómo administrar los módulos del núcleo utilizando el comando modprobe

modpoba es un comando inteligente para el listado, insertar y eliminar módulos del núcleo. Busca en el directorio del módulo /lib/módulos/$ (uname -r) Para todos los módulos y archivos relacionados, pero excluye archivos de configuración alternativos en el /etc/modprobe.d directorio.

Aquí, no necesita el camino absoluto de un módulo; Esta es la ventaja de usar modpoba Sobre los comandos anteriores.

Para insertar un módulo, simplemente proporcione su nombre de la siguiente manera.

# ModProbe Speedstep-LIB 

Para eliminar un módulo, use el -riñonal bandera como esta.

# modprobe -r speedstep -lib 

Nota: Bajo modprobe, se realiza la conversión automática de subrayamiento, por lo que no hay diferencia entre _ y - Mientras ingresa nombres de módulos.

Para obtener más información y opciones de uso, lea la página de ModProbe Man.

# hombre modpobe 

No olvides ver:

  1. Cómo cambiar los parámetros de tiempo de ejecución del núcleo de una manera persistente y no persistente
  2. Cómo instalar o actualizar a la última versión de kernel en Centos 7
  3. Cómo actualizar el kernel a la última versión en Ubuntu

Eso es todo por ahora! ¿Tiene alguna idea útil, que deseamos que agregamos a esta guía o consultas? Utilice el formulario de comentarios a continuación para que nos las entregue.