Articulo de referencia

modprobe

Modprobe es un programa de Linux que permite cargar un módulo del kernel , descargarlo y ofrece muchas otras funcionalidades relacionadas. Permite decidir qué módulos cargar, re...

Modprobe es un programa de Linux que permite cargar un módulo del kernel , descargarlo y ofrece muchas otras funcionalidades relacionadas. Permite decidir qué módulos cargar, reconoce las dependencias entre módulos (de modo que, al solicitar la carga de un módulo, primero añade los módulos necesarios) y resuelve las dependencias recursivas entre módulos.

Su uso suele ser indirecto. Por ejemplo, udev depende de modprobe para cargar controladores para el hardware detectado automáticamente.

Modprobe fue escrito originalmente por Rusty Russell y se distribuye como parte del paquete de software "kmod" [ 1 ] (mantenido por Lucas De Marchi y otros). Anteriormente se desarrolló como:

  • "module-init-tools", [ 2 ] para la versión 2.6 del kernel de Linux y posteriores (mantenido por Jon Masters y otros)
  • "modutils" [ 3 ] para usar con las versiones de Linux 2.2.x y 2.4.x. .

Operación

Cuando se ejecuta sin parámetros, el programa agrega/inserta/instala el módulo especificado por su nombre. Los argumentos posteriores al nombre del módulo se pasan al núcleo. También se pasan las opciones del archivo de configuración.

En algunas versiones de modprobe, el archivo de configuración se llama modprobe.conf, y en otras, el equivalente es la colección de archivos llamada <nombre del módulo> en el directorio /etc/modprobe.d.

modprobe solo busca en los directorios de módulos estándar. Para instalar módulos desde el directorio de trabajo , se requiere insmod . Como alternativa, se puede usar un enlace simbólico para que depmod pueda encontrarlo.

Normalmente se requieren privilegios de administrador para realizar las acciones que intenta ejecutar modprobe.

Características

El programa modprobe ofrece más opciones de configuración que otras utilidades similares. Permite definir alias para los módulos, facilitando así la carga automática de algunos de ellos. Cuando el kernel requiere un módulo, ejecuta modprobe para solicitarlo; sin embargo, el kernel solo dispone de una descripción de algunas propiedades del módulo (por ejemplo, el número principal del dispositivo o el número de un protocolo de red ), y modprobe se encarga de traducir esa información al nombre del módulo mediante alias.

The program also has the ability to run programs before or after loading or unloading a given module. For example, setting the mixer right after loading a sound card module, or uploading the firmware to a device immediately before enabling it. Although these actions must be implemented by external programs, modprobe synchronizes their execution with module loading/unloading.

Blacklist

There are cases where two or more modules both support the same devices, or a module invalidly claims to support a device: the blacklist keyword indicates that all of a particular module's internal aliases are to be ignored.[4]

There are a couple of ways to blacklist a module, and depending on the method used to load it depends on where this is configured.

There are two ways to blacklist a module using modprobe: employing the modprobe.conf system, the first is to use its blacklisting system in /etc/modprobe.d/. Any filename ending with .conf can be used:

cat /etc/modprobe.d/blacklist.conf blacklist ieee1394 blacklist ohci1394 blacklist eth1394 blacklist sbp2

An install primitive is the highest priority in the config file and will be used instead of the blacklisting method above, requiring this second method:

cat /etc/modprobe.d/ieee1394.conf install ieee1394 /bin/true install ohci1394 /bin/true install eth1394 /bin/true install sbp2 /bin/true

Alternatively, you can modify /etc/modprobe.conf:

alias sub_module /dev/null alias module_main /dev/null options module_main needed_option=0

See also

  • lsmod – Linux command that lists loaded kernel modules

References

  1. "kernel/kmod/kmod.git - kmod - module management".
  2. "Index of /Pub/Linux/Utils/Kernel/Module-init-tools". Archived from the original on 2008-06-09. Retrieved 2008-09-22.
  3. "Index of /Pub/Linux/Utils/Kernel/Modutils". Archived from the original on 2009-02-23. Retrieved 2008-09-22.
  4. modprobe.conf(5) - Linux man page
  • modprobe man page.
  • modprobe.conf
  • modules.dep