Modprobe
Encyclopedia
modprobe is a Linux
Linux
Linux is a Unix-like computer operating system assembled under the model of free and open source software development and distribution. The defining component of any Linux system is the Linux kernel, an operating system kernel first released October 5, 1991 by Linus Torvalds...

 program originally written by Rusty Russell
Rusty Russell
Paul "Rusty" Russell is an Australian free software programmer and advocate.- Software development :Russell wrote the packet filtering systems ipchains and netfilter/iptables in the Linux operating system kernel...

 and used to add a loadable kernel module
Loadable Kernel Module
In computing, a loadable kernel module is an object file that contains code to extend the running kernel, or so-called base kernel, of an operating system...

 (LKM) to the Linux kernel
Linux kernel
The Linux kernel is an operating system kernel used by the Linux family of Unix-like operating systems. It is one of the most prominent examples of free and open source software....

 or to remove an LKM from the kernel. It is commonly used indirectly: udev
Udev
udev is the device manager for the Linux kernel. Primarily, it manages device nodes in /dev. It is the successor of devfs and hotplug, which means that it handles the /dev directory and all user space actions when adding/removing devices, including firmware load.-History:udev was new in Linux...

 relies upon modprobe to load drivers for automatically detected hardware.

modprobe is distributed as part of the software package "module-init-tools", for Linux kernel version 2.6 and later. It was previously developed as "modutils" for use with Linux versions 2.2.x and 2.4.x. Jon Masters and others maintain module-init-tools.

Operation

The program offers more full-featured, Swiss-army-knife features than the more basic insmod and rmmod utilities, with the following benefits:
  • an ability to make more intuitive decisions about which modules to load
  • an awareness of module dependencies, so when requested to load a module, it adds other required modules first
  • the resolution of recursive module-dependencies as required


If no switches are specified, the default is to add/insert/install the module into the kernel.
Root privileges may be required for success; in some cases this requires typing sudo
Sudo
sudo is a program for Unix-like computer operating systems that allows users to run programs with the security privileges of another user...

modprobe
.

If any arguments are given after the modulename, they are passed to the kernel (in addition to any options listed in the configuration file). In some versions of modprobe, the configuration file is called modprobe.conf, and in others the equivalent is the collection of files called in the /etc/modprobe.d directory.

Features

The modprobe program also has more configuration features than other similar utilities. It is possible to define module aliases allowing for some automatic loading of modules. When the kernel requires a module, it actually runs modprobe requesting it; however, the kernel has a description of only some module property (for example, a device major number, or the number of a network protocol), and modprobe does the job of translating that to an actual module name via aliases.

This 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 soundcard module, or uploading the firmware to a device immediately prior to enabling it. Although these actions must be implemented by external programs, modprobe takes care of synchronizing 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.

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/blacklist:

cat /etc/modprobe.d/blacklist
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
install ieee1394 /bin/true
install ohci1394 /bin/true
install eth1394 /bin/true
install sbp2 /bin/true

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

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

External links

The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK