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 del kernel es un programa que puede cargarse o descargarse del kernel a pedido, sin necesariamente volver a compilarlo (el kernel) o reiniciar el sistema, y ​​está destinado a mejorar la funcionalidad del kernel.

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

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

Un ejemplo simple de un módulo es un controlador de dispositivo, que permite que el kernel acceda a un hardware. componente/dispositivo conectado al sistema.

Lectura sugerida: Cómo averiguar qué versión de Linux está ejecutando

Enumere todos los módulos de kernel cargados en Linux

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

freestar.config.enabled_slots.push

Para enumerar todos los módulos cargados actualmente en Linux, podemos usar el comando lsmod. (listar módulos) que lee el contenido de /proc/modules. de esta manera.

# lsmod Enumera los módulos del kernel en el tamaño del módulo de Linux Utilizado por 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 memsticktusb1 0124vc_usb_ms 16384 1 uvcvideo btintel 163 84 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, videodev ….

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

Para cargar un módulo del kernel, podemos usar insmod. comando (insertar módulo). Aquí, tenemos que especificar la ruta completa del módulo. El siguiente comando insertará el módulo Speedstep-lib.ko.

# insmod/lib/modules/4.4.0-21-generic/kernel/drivers/cpufreq/speedstep-lib.ko

Para descargar un módulo del kernel, usamos el comando rmmod. (eliminar módulo). El siguiente ejemplo descargará o eliminará el módulo Speedstep-lib.ko.

# rmmod/lib/modules/4.4.0-21-generic/kernel/drivers/cpufreq/speedstep-lib .ko

Cómo administrar módulos del kernel usando el comando modprobe

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

Aquí, no necesita la ruta absoluta de un módulo; esta es la ventaja de usar modprobe. 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 indicador-r de esta manera.

# modprobe-r Speedstep-lib

Nota. en modprobe, conversión automática de subrayado se realiza, por lo que no hay diferencia entre _ y-al ingresar los nombres de los módulos.

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

# man modprobe

No olvídate de revisar: