Fact-checked by Grok 2 weeks ago

modprobe

modprobe is a command-line in systems used to intelligently load or unload modules, which are pieces of code that extend the 's functionality for drivers, filesystems, and other features. It automatically resolves and loads any required dependencies for a specified module, ensuring proper integration without manual intervention. The tool operates by consulting dependency information stored in files like modules.dep.bin, which are generated by the depmod command and located in directories such as /lib/modules/$(uname -r)/. This allows modprobe to insert modules into the while handling symbol resolution and parameter passing, which are ultimately managed by the itself. Module names treat underscores and hyphens interchangeably for convenience, and modprobe supports configuration through files in /etc/modprobe.d/ for options like or custom commands. Key options include -r for removal (which also unloads unused dependencies), -n for a dry-run , and -v for verbose output to aid . If a module load fails, users can inspect messages via dmesg for details. As part of the kmod , modprobe is for dynamic in distributions like and , promoting modular and efficient system operation.

Overview

Definition and Purpose

modprobe is a command-line in systems designed to intelligently add or remove loadable modules—typically compiled as .ko files—from the running . Unlike simpler tools, it automatically resolves and loads any prerequisite modules by consulting the dependency information stored in modules.dep.bin, a generated by the depmod . This ensures that all necessary components are in place before inserting the target module into the . The primary purpose of modprobe is to enable dynamic extension of the without requiring a system , allowing administrators and automated processes to incorporate support for specific drivers, filesystems, or other features on demand. This modular approach contrasts with fully static configurations, where all functionality must be compiled in advance, potentially resulting in a larger binary that includes unused code for many systems. By facilitating insertion, modprobe supports efficient and adaptability to varying environments. modprobe is frequently invoked indirectly by system services, such as the daemon, which handles hotplug events for newly detected devices by calling modprobe to load the appropriate modules. Similarly, systems use it during the process to initialize essential drivers. For example, upon detecting an adapter, might trigger modprobe to load the e1000e module, thereby enabling network connectivity post-boot.

History and Development

Modprobe was originally developed by Rusty Russell in the late as a key component of the modutils package, which provided essential tools for managing loadable kernel modules in early kernels. This package supported kernels 2.2.x, released in , and 2.4.x, released in , enabling dynamic loading and unloading of modules to extend kernel functionality without recompilation. Russell's work on the module subsystem laid the foundation for modprobe's intelligent dependency resolution and alias handling, addressing the limitations of earlier tools like insmod. The tool evolved significantly with the introduction of the 2.6 series in December 2003, where modprobe was integrated into the new module-init-tools package to replace modutils. This transition improved module dependency handling and introduced better support for automatic loading via integration, reflecting the kernel's shift toward more modular architectures. By the early 2010s, module-init-tools was succeeded by the kmod project, initiated in as a with added library support (libkmod) for finer control over module operations. Kmod became the standard in major distributions during this decade, enhancing modprobe's performance and compatibility with modern filesystems and compression formats. Key milestones in modprobe's development include the addition of support for kernel module signing in Linux kernel 3.7, released in December 2012, which allowed cryptographic verification during loading to bolster security against tampered modules. This feature became mandatory for third-party modules in distributions like starting with version 26 in July 2017, aligning with the default enablement of Secure Boot to enforce signature enforcement. Further adaptations for live-patching mechanisms appeared in later kernel versions to facilitate safer module updates without system reboots. As of 2025, modprobe remains actively maintained within the kmod package across major distributions, including , , and , ensuring compatibility with contemporary versions. Ongoing enhancements focus on containerized environments, such as , where privileged containers can leverage modprobe for host access while adhering to security constraints like module signing and .

Usage and Syntax

Basic Commands

The modprobe command serves as the primary tool for loading and unloading loadable in systems, handling dependencies automatically to ensure proper functionality. The fundamental syntax for loading a is modprobe [options] module_name [parameters], where module_name specifies the target (without the .ko extension), and [parameters] are optional arguments passed to the upon insertion. For unloading a , the syntax simplifies to modprobe -r module_name, which attempts to remove the specified along with any unused dependencies. A practical example of loading involves audio drivers: executing sudo modprobe snd-hda-intel inserts the snd-hda-intel module for Intel High Definition Audio hardware, automatically resolving and loading required dependencies such as snd-pcm for PCM audio support and snd-hda-core for core HDA functionality. Conversely, to unload the same module when it is not actively in use by the kernel (e.g., no open devices or references), the command sudo modprobe -r snd-hda-intel can be used; if the module is in use, the operation fails with an error indicating the module cannot be removed. Modprobe requires superuser privileges to operate, typically invoked via sudo on most distributions, as loading or unloading kernel modules modifies core system behavior. By default, it searches for modules in the directory /lib/modules/$(uname -r)/, where $(uname -r) represents the current kernel version, ensuring compatibility with the running kernel. In cases of failure, modprobe outputs diagnostic messages to stderr; a common error for nonexistent modules is "modprobe: FATAL: Module not found in directory /lib/modules/", often due to an absent or mismatched module file, which can be resolved by verifying the module's presence or updating the kernel modules index with depmod.

Command-Line Options

The modprobe command supports a variety of command-line options to customize the loading, removal, and querying of modules, allowing users to , , and handling among other behaviors. Key options include -v or --verbose, which enables detailed output showing the dependency chain and actions taken during module insertion or removal, aiding in module loading processes. The -q or --quiet flag suppresses messages, particularly for non-existent modules, to produce cleaner output in scripts or automated tasks. For testing purposes without affecting the running , the -n or --dry-run option the entire operation, such as loading or unloading, but performs no actual changes. Module-specific parameters can be passed directly on the command line in the form modprobe module_name param=value, overriding or setting options for the target at load time; for example, modprobe e1000e InterruptThrottleRate=3000 adjusts the throttling rate for the e1000e network driver. This allows temporary configuration changes without modifying persistent files. For unloading modules, the -r or --remove option removes the specified and its unused dependencies if the module is not in use. To override the default module directory, the -d or --dirname option specifies an alternative root path for searching modules, defaulting to /lib/modules/$(uname -r) but useful for custom or out-of-tree builds. Additionally, the --first-time option causes the command to fail if no action is performed, such as when the module is already loaded or removed, ensuring explicit handling of initial load scenarios.

Configuration

Configuration Files

The primary configuration for modprobe is handled through files in the /etc/modprobe.d/ , where each .conf file contains directives to customize module loading behavior globally across the . These modular configuration files became the standard approach in modern distributions starting with kernel version 2.6, allowing for better organization and easier maintenance compared to a single monolithic file. The legacy file /etc/modprobe.conf is still supported for but is deprecated in favor of the directory-based structure, as it risks being overwritten during upgrades or package updates. Additional configuration directories include /run/modprobe.d/ for overrides, /usr/local/lib/modprobe.d/ for local installations, /lib/modprobe.d/ for vendor-provided settings (common in distributions like ), and /usr/lib/modprobe.d/ for system-wide settings in some distributions like . Configuration files are parsed in order of directory precedence—starting with /etc/modprobe.d/, then /run/modprobe.d/, /usr/local/lib/modprobe.d/, followed by /lib/modprobe.d/—with files within directories sorted lexicographically (alphabetically by filename). If a file with the same name exists in a higher-precedence directory, it fully overrides the lower one, enabling users to customize or extend vendor defaults without modifying packaged files. Blank lines and lines beginning with # are ignored, and commands can span multiple lines using \ for continuation. Key directives include options, which sets default parameters for a module (e.g., options snd-hda-intel model=auto to automatically detect audio models); blacklist, which prevents a from being loaded; and install or remove, which specify custom commands to run instead of or in addition to standard insertion/removal (note: install may be deprecated in future kmod releases). These apply whenever the specified is loaded via modprobe. As of November 2025, systemd-based distributions like and emphasize using /etc/modprobe.d/ for user configurations to prevent conflicts during or package upgrades, as the modular format allows drop-in files without altering core system configs.

Module Aliases and Parameters

Module aliases in modprobe configuration allow mapping hardware identifiers or wildcard patterns to specific modules, facilitating automatic loading during detection. The syntax typically follows the form alias <wildcard> <module_name>, where the wildcard can represent hardware details such as PCI vendor and device IDs in the format pci:vXXXXdYYYYsv*sd*bc*sc*i*. For instance, alias pci:v8086d10f3 my-driver maps a specific Intel PCI to the my-driver , enabling udev to trigger modprobe upon hardware insertion. This mechanism relies on modalias support, where the generates modalias strings for devices (e.g., pci:v8086d10f3 for a device) that modprobe matches against aliases. The file /lib/modules/$(uname -r)/modules.alias, generated by depmod, contains these built-in aliases derived from metadata, allowing modprobe to resolve to modules without manual intervention. A practical example is sound card auto-detection, where an alias like alias snd-card-0 snd-hda-intel ensures the Intel HD Audio driver loads for compatible hardware, streamlining multimedia setup in desktop environments. Module parameters can be set persistently using the options directive in configuration files, applying system-wide each time the module loads, unlike transient command-line flags. The syntax is options <module_name> <param>=<value>, such as options bonding mode=4 miimon=100, which configures the bonding driver for IEEE 802.3ad dynamic link aggregation with link monitoring every 100ms, essential for high-availability networking. These options integrate with udev-driven loading, ensuring consistent behavior across boots and hotplug events in live or persistent systems.

Module Management

Loading and Unloading

Modprobe facilitates the loading of modules by first scanning the modules.dep.bin file, located in /lib/modules/$(uname -r)/, to identify and resolve dependencies. It then loads prerequisite modules in the correct order—for instance, inserting usbcore before usb-storage—before proceeding to the target module. The actual insertion occurs through system calls, resulting in the creation of an entry under /sys/module/ in the filesystem. For unloading, modprobe with the -r option first removes any dependent modules that are no longer in use, proceeding in reverse dependency order to ensure clean removal. It checks the module's reference count via /proc/modules (visible in the "Used by" column of lsmod output); if the count is zero and no processes or devices depend on it, the module is removed. A common example is loading the ext4 filesystem module during a mount operation, where modprobe automatically handles dependencies like jbd2 before enabling the filesystem. Conversely, unloading an unused network driver, such as e1000, frees associated memory when no interfaces rely on it. In edge cases, loading or unloading fails if the module is in use (non-zero reference count, e.g., due to open files or active devices) or if the kernel is tainted by modules, which may restrict removals for reasons. Using (-v) displays the full sequence of actions, aiding diagnosis of such failures.

Dependency Handling

Modprobe resolves inter-module dependencies by the /lib/modules/$(uname -r)/modules.dep.bin, which contains symbol-based dependencies generated by depmod based on exported symbols. This enables modprobe to determine the required load for a and its prerequisites. Additionally, modprobe examines /lib/modules/$(uname -r)/modules.softdep for soft hints, which suggest ordering without mandating strict prerequisites. The tool supports recursive loading, automatically inserting all necessary prerequisite modules before the requested one to ensure proper functionality. For example, loading sd_mod for disk support requires prior insertion of scsi_mod as a foundational prerequisite. This process builds a dependency tree, but unresolved circular references can cause loading failures due to unresolved s. Hard dependencies, derived from symbol usage in modules.dep.bin, are strictly enforced, as a module cannot function without the exporting module's symbols. In contrast, soft dependencies from modules.softdep offer flexible ordering—such as loading optional modules before or after the target—for non-essential features, allowing the primary to load even if soft prerequisites fail. For instance, the vfat filesystem depends on fat for core handling and may reference msdos for compatibility; in (modprobe -v vfat), output reveals chained commands like install /sbin/modprobe --ignore-install fat && install /sbin/modprobe vfat.

Blacklisting Modules

Blacklisting modules using modprobe prevents the automatic loading of specified modules during or detection by ignoring their internal aliases. This is achieved by adding the directive blacklist module_name to a in the /etc/modprobe.d/ directory, such as /etc/modprobe.d/blacklist-example.conf. The blacklist keyword instructs modprobe to skip the module when it would otherwise be loaded via alias matches, effectively overriding any automatic triggers without affecting explicit loads unless combined with other options. For more robust prevention, including against direct modprobe invocations (except when using the --ignore-blacklist flag), administrators can override the install primitive in the same configuration files. By specifying install [module_name](/page/Module) /bin/true, any attempt to load the executes the no-op command /bin/true instead, resulting in no action and ensuring the remains unloaded. This method is particularly effective for enforcing exclusions across various loading scenarios. Common use cases include resolving driver conflicts, such as blacklisting the open-source nouveau module to enable the proprietary driver. In this scenario, a file like /etc/modprobe.d/blacklist-nouveau.conf contains blacklist nouveau and options nouveau modeset=0, followed by updating the initramfs to apply the changes. Blacklisting is also employed on systems with Secure Boot to avoid loading unsigned or incompatible modules, maintaining integrity by restricting automatic inclusions that could violate signing policies. To verify blacklisting, administrators can check currently loaded modules with lsmod | grep module_name, which should return no output if the module is excluded and not manually loaded. For simulation without actual loading, the command modprobe -n -v module_name provides verbose output indicating whether is applied, showing ignored aliases or the no-op execution for install overrides. In distributions like , is routinely used for modules to mitigate hardware-specific issues, such as disabling problematic ACPI-related drivers.

Advanced Features

Install and Remove Primitives

The install in modprobe enables the execution of a custom command prior to loading a specified kernel , allowing for preparatory actions such as loading dependencies or initializing related components. Configurations are placed in files under /etc/modprobe.d/, as /etc/modprobe.conf is deprecated. The syntax follows install <module_name> <command>, where <command> replaces the standard module insertion process and can include chaining with operators like && to sequence multiple steps. variables, such as $CMDLINE_OPTS for passing modprobe options, are supported within the command to enhance flexibility. For example, the install primitive can ensure proper initialization for hardware-dependent modules by running setup commands before insertion. Commands can incorporate error handling and flags like --ignore-install to prevent recursion. Similarly, the remove primitive defines a custom command to run upon unloading a module via modprobe -r, facilitating cleanup tasks like device resets or state preservation. Its syntax is remove <module_name> <command>, which executes instead of the default removal. For instance, remove snd-hda-intel { /usr/sbin/alsactl store >/dev/null 2>&1 || : ; } ; /sbin/modprobe -r --ignore-remove snd-hda-intel saves the current ALSA mixer state before unloading, using --ignore-remove to avoid loops and suppressing output for silent operation. Commands can incorporate error handling, such as the || : construct to ignore failures gracefully. These primitives also support blacklisting modules by assigning a no-op command, such as install unwanted /bin/true, which effectively prevents loading without altering dependency chains. This method provides a robust alternative to simple blacklist entries, ensuring the module is ignored during insertion attempts. For firmware-related scenarios, an example might involve pre-loading vendor-specific binaries: install usb-storage /bin/firmware-load.sh, where the script handles firmware upload before the storage module engages.

Security Aspects

Modprobe incorporates several security mechanisms to mitigate risks associated with loading kernel modules, primarily through cryptographic verification and policy enforcement. Since Linux kernel version 3.7, released in 2012, modprobe supports the loading of signed kernel modules (.ko files), where the kernel verifies digital signatures before insertion to prevent unauthorized or tampered code from executing in kernel space. This feature requires modules to be signed using X.509 certificates, with public keys managed via the kernel's built-in keyring or external mechanisms like those in /etc/dkms for Dynamic Kernel Module Support (DKMS) environments, ensuring only trusted modules are loaded during runtime. On systems with UEFI Secure Boot enabled, modprobe will fail to load unsigned modules, as the kernel enforces signature validation against the system's trusted key database, blocking potential malware vectors that could exploit kernel privileges. As of 2025, support for UEFI Secure Boot on ARM64 varies by distribution: Debian, Ubuntu, and SUSE offer seamless integration using Microsoft-signed shims, while Red Hat and Fedora may require manual certificate enrollment. Enforcement of module signing can be configured at multiple levels to strengthen security. Administrators can use modprobe files, such as /etc/modprobe.d/, to define install directives like install module_name /bin/false, which prevents the loading of specific unsigned or untrusted s by substituting a no-op command that always fails, effectively them without relying solely on . Additionally, the command-line module.sig_enforce=1 mandates for all , rejecting any unsigned or invalidly signed ones regardless of Secure Boot status, thereby providing a boot-time to harden the system against insertions. This integrates with modprobe's loading process, where failed verifications result in explicit error messages and entries in dmesg or /var//kern.. To track potential security compromises from non-standard modules, modprobe interacts with the kernel's taint tracking system, which flags the kernel state when or out-of-tree modules are loaded. Loading a module (one without a GPL-compatible ) sets the 'P' taint flag, indicating that the kernel may no longer be considered fully reliable for or purposes, as such modules could introduce unverified . The current taint status can be queried via the /proc/sys/kernel/tainted file, which provides a bitmask of flags (e.g., value 1 for modules), allowing administrators to module loads retrospectively through modprobe's invocation logs or kernel ring buffer. This mechanism helps in forensic analysis, as taints persist even after module unloading. Best practices for securing modprobe emphasize proactive verification and minimal exposure. Distributions like Red Hat Enterprise Linux and Fedora provide pre-signed kernels and modules, reducing the need for custom signing and ensuring compliance with Secure Boot out of the box; users should prioritize these over self-compiled kernels to avoid signature mismatches. In multi-user environments, avoid using modprobe's --force option during unloading or loading, as it bypasses dependency checks and error conditions, potentially leading to unstable kernel states or privilege escalations if invoked by unprivileged processes via misconfigurations. For custom modules in RHEL derivatives, employ tools like pesign to generate and apply signatures compliant with PE-COFF standards, integrating with DKMS for automated signing during builds.

Comparisons

With insmod and rmmod

modprobe serves as a higher-level tool for managing modules compared to the lower-level utilities insmod and rmmod, which are part of the kmod package and provide basic insertion and removal without advanced features.

Loading Modules: insmod vs. modprobe

The insmod command inserts a single directly into the by specifying the full path to the .ko file, typically from the , but it does not resolve dependencies or search standard paths like /lib/modules/$(uname -r)/. For example, executing insmod usb-storage.ko will fail if the dependent usbcore is not already loaded, as insmod performs no automatic dependency resolution. In contrast, modprobe intelligently locates modules using the version-specific , consults the modules.dep.bin file generated by depmod to load prerequisites automatically, and applies options from files like /etc/modprobe.d/. Thus, modprobe usb-storage succeeds by first loading usbcore and any other required modules before inserting usb-storage. This makes modprobe suitable for routine operations, while insmod requires manual loading of dependencies, full paths, and lacks integration with system .

Unloading Modules: rmmod vs. modprobe -r

For unloading, rmmod removes a specified from the but only if it is not in use and ignores , potentially leaving dependent modules loaded or causing if prerequisites are removed improperly. It processes modules sequentially without recursive handling, and forcing removal with -f is dangerous, risking crashes or . Conversely, modprobe -r unloads the target and recursively removes any unused dependent modules in reverse , performing to ensure no active usage before proceeding. This recursive and cautious approach in modprobe -r reduces risks compared to rmmod's direct method.

Use Cases and Limitations

insmod and rmmod are primarily used in scenarios, such as testing custom-built modules outside standard paths or during where precise control over loading is needed without . In production environments, modprobe is preferred for its , as it integrates with tools like for dynamic module loading based on hardware events. Both insmod/rmmod and modprobe require root privileges, but the former demand manual management, increasing error proneness, whereas modprobe streamlines operations through its reliance on pre-generated dependency maps. Limitations of insmod include its inability to handle module aliases or parameters from config files, restricting it to simple, isolated insertions.

Relation to depmod

depmod is a utility that scans installed modules and generates files essential for modprobe's operation. It creates files such as modules.dep (listing module dependencies), modules.alias (mapping aliases to modules), and modules.symbols (tracking exported symbols), all stored in /lib/modules/$(uname -r)/ for the current version. These files enable modprobe to resolve dependencies efficiently without scanning modules at . The integration between depmod and modprobe ensures seamless loading. After or updates, administrators run depmod -a to rebuild the files across all versions. modprobe then queries these pre-generated files—such as the binary modules.dep.bin for faster lookups—to determine loading , avoiding redundant scans and improving . This preparatory step is part of the kmod package, which includes both tools. Unlike modprobe, which operates at runtime to load or unload modules dynamically, depmod performs offline analysis to prepare the necessary indexes. This division allows modprobe to focus on execution while relying on depmod's output for dependency resolution, symbol matching, and alias handling. For example, after installing new Bluetooth modules and running depmod -a, invoking modprobe bluetooth uses modules.dep to automatically load dependencies like hci_uart based on symbol requirements, enabling full functionality without manual intervention. In recent developments, versions of the kmod package supporting 6.x (released from 2022 onward) introduce weak dependencies via files like modules.weakdep. These allow optional module associations that do not enforce loading but inform tools like initramfs generators for potential inclusion, enhancing flexibility in module ecosystems.

References

  1. [1]
    modprobe(8) - Linux manual page - man7.org
    modprobe intelligently adds or removes a module from the Linux kernel. Note that for convenience, there is no difference between _ and - in module names.
  2. [2]
    modprobe.d(5) - Linux manual page
    ### Summary of Alias and Options Directives in modprobe.d(5)
  3. [3]
    Building External Modules - The Linux Kernel documentation
    To build external modules, you must have a prebuilt kernel available that contains the configuration and header files used in the build.
  4. [4]
    udev(7) - Linux manual page
    ### Summary of udev Integration with modprobe for Kernel Module Loading
  5. [5]
    e1000e - The Linux Kernel Archives
    The e1000e driver supports all PCI Express Intel(R) Gigabit Network Connections, except those that are 82575, 82576 and 82580-based*. * NOTE: The Intel(R) PRO/ ...
  6. [6]
    Rusty Russell's Linux Kernel Page
    Rusty's Linux Kernel Page. Module Utilities for 2.6. Here is the source for "module-init-tools" which replaces modutils for modern kernels.Missing: modprobe origins
  7. [7]
    Time for Users to Start Testing 2.5 | Linux Journal
    Mar 21, 2003 · Debian users can apt-get module-init-tools, and all others can use the module-init-tools source tarball in that directory. (Make sure you ...
  8. [8]
    kmod-project/kmod - Linux kernel module handling - GitHub
    kmod replaced module-init-tools, which was EOL'ed in 2011. All the tools were rewritten on top of libkmod and they can be used as drop in replacements. Along ...
  9. [9]
    [PDF] Managing kernel modules with kmod
    Feb 6, 2012 · "The goal of the new library libkmod is to offer to other programs the needed flexibility and fine grained control over insertion, removal,.<|separator|>
  10. [10]
    Livepatch - The Linux Kernel documentation
    Livepatching gives users both by allowing for function calls to be redirected; thus, fixing critical functions without a system reboot.Livepatch · 3. Consistency Model · 2. Kprobes, Ftrace...Missing: modprobe 2022
  11. [11]
    modprobe(8) — kmod — Debian testing
    Apr 25, 2025 · modprobe intelligently adds or removes a module from the Linux kernel. Note that for convenience, there is no difference between _ and - in module names.
  12. [12]
    Loading Kernel Modules in a Docker Container | Baeldung on Linux
    Mar 18, 2024 · Now, let's run the modprobe command to load the cordic module on the container: $ sudo docker container exec my-centos modprobe cordic. Copy.
  13. [13]
    modprobe - Add and remove modules from the Linux Kernel
    This manual page originally Copyright 2002, Rusty Russell, IBM Corporation. Maintained by Jon Masters and others. SEE ALSO. modprobe.d(5), insmod(8), rmmod(8), ...<|separator|>
  14. [14]
    Kernel Module Loading at Boot and modprobe Automation - Baeldung
    Aug 31, 2023 · In this tutorial, we explain how modules can get loaded during the boot procedures and how we can automate that process.
  15. [15]
    modprobe.d(5) - Linux manual page - man7.org
    This command instructs modprobe to run your command instead of inserting the module in the kernel as normal. The command can be any shell command: this ...
  16. [16]
    modprobe.d(5) — kmod — Debian testing
    Apr 25, 2025 · This command instructs modprobe to run your command instead of inserting the module in the kernel as normal. The command can be any shell command.Missing: vendor | Show results with:vendor
  17. [17]
    Chapter 2. Managing kernel modules | Red Hat Enterprise Linux | 8
    To unload certain kernel modules from the running kernel, use the modprobe command to find and unload a kernel module at system runtime from the currently ...
  18. [18]
    Chapter 6. Managing the kernel modules - Debian
    You can use any name ending in .conf for the configuration files in /etc/modprobe.d and put multiple options lines in the same file. Sometimes two ...<|control11|><|separator|>
  19. [19]
    13 Modprobe Configuration Reference - Oracle Help Center
    The following are commonly used commands in modprobe configuration files: Creates an alternative name for a module. The alias can include shell wildcards.
  20. [20]
  21. [21]
    modprobe(8) - Linux manual page - man7.org
    modprobe intelligently adds or removes a module from the Linux kernel. Note that for convenience, there is no difference between _ and - in module names.
  22. [22]
  23. [23]
    Advanced Linux Sound Architecture - Driver Configuration guide
    This module supports multiple cards and autoprobe. Module snd-hda-intel¶. Module for Intel HD Audio (ICH6, ICH6M, ESB2, ICH7, ICH8, ICH9, ICH10, PCH, SCH) ...
  24. [24]
    Linux Ethernet Bonding Driver HOWTO
    Apr 27, 2011 · The Linux bonding driver provides a method for aggregating multiple network interfaces into a single logical “bonded” interface.
  25. [25]
  26. [26]
    Working with Kernel Modules - Fedora Docs
    Signing Kernel Module with the Private Key. There are no extra steps required to prepare your kernel module for signing. You build your kernel module normally.Missing: 3.7 | Show results with:3.7
  27. [27]
    Chapter 12 Modules
    Linux allows module stacking, this is where one module requires the services of another module. For example, the VFAT file system module requires the services ...Missing: dependencies | Show results with:dependencies
  28. [28]
    Linux_5.10 - Linux Kernel Newbies
    List of changes and new features merged in the Linux kernel during the 5.10 development cycle.
  29. [29]
    31.5. Blacklisting a Module | Red Hat Enterprise Linux | 6
    Module blacklisting, which is a mechanism used by the modprobe utility to ensure that the kernel cannot automatically load certain modules.
  30. [30]
    KernelModuleBlacklisting - Debian Wiki
    Blocking loading of Linux kernel modules · Create a file '/etc/modprobe.d/<modulename>.conf' containing 'blacklist <modulename>'. · Run 'depmod -ae' as root.
  31. [31]
    Disable Nouveau - VMware Deployment Guide - NVIDIA Docs Hub
    follow the below steps to disable Nouveau ... 1 ... cat <<EOF | sudo tee /etc/modprobe.d/blacklist-nouveau.conf ... 2 ... blacklist nouveau ... 3 ... options nouveau ...
  32. [32]
    Chapter 3. Signing a kernel and modules for Secure Boot
    To use a custom kernel or custom kernel modules on a Secure Boot-enabled system, you must generate a public and private X.509 key pair.
  33. [33]
    How to load, unload and blacklist Linux kernel modules - LinuxConfig
    Sep 22, 2025 · To unload one or more modules we still use modprobe, but we run it with the -r option. If we try to unload a module which is currently in use, ...<|control11|><|separator|>
  34. [34]
    Ubuntu Manpage: modprobe.d
    modprobe.d is a configuration directory for modprobe, where files specify module options, aliases, and can override normal modprobe behavior.Missing: power | Show results with:power
  35. [35]
    modprobe.conf(5) - Linux man page - Die.net
    modprobe.conf configures modprobe, specifying module options, aliases, and overriding behavior. It uses files in /etc/modprobe.d and /etc/modprobe.conf.<|control11|><|separator|>
  36. [36]
    modprobe.conf(5) - Arch manual pages
    This command instructs modprobe to run your command instead of inserting the module in the kernel as normal. The command can be any shell command.
  37. [37]
    Oracle Linux4 update5 -- NTFS mounting - Oracle Forums
    install snd-hda-intel /sbin/modprobe --ignore-install snd-hda-intel && /usr/sbin/alsactl restore >/dev/null 2>&1 || : remove snd-hda-intel { /usr/sbin/alsactl ...
  38. [38]
    Why /bin/true in modprobe.conf - linux - Server Fault
    Jun 16, 2020 · Without -b switch, modprobe will ignore the blacklist. Using install hfs /bin/true is actually the stronger way to do it. It's very counter ...
  39. [39]
    Kernel module signing facility
    The kernel module signing facility cryptographically signs modules during installation and then checks the signature upon loading the module.Missing: 3.7 | Show results with:3.7
  40. [40]
    Signed kernel modules - ArchWiki
    Sep 28, 2025 · The script sign_module.py signs out-of-tree kernel modules. It can be run manually and is invoked by dkms/kernel-sign.sh.Missing: modprobe 3.7
  41. [41]
    Chapter 1. Working with kernel modules | Red Hat Enterprise Linux | 7
    The following procedure describes how to use the modprobe command to find and load a kernel module into the currently running kernel.Missing: 2010s | Show results with:2010s
  42. [42]
    Tainted kernels - The Linux Kernel documentation
    Note the kernel will remain tainted even after you undo what caused the taint (i.e. unload a proprietary kernel module), to indicate the kernel remains not ...
  43. [43]
    Tainted kernels — The Linux Kernel documentation
    Tainting is permanent: even if an offending module is unloaded, the tainted value remains to indicate that the kernel is not trustworthy.
  44. [44]
    Signed kernel module support - Gentoo Wiki
    Jun 1, 2025 · Enabling support is a matter of toggling a few settings in the Linux kernel configuration. Unless you want to use your own keypair, this is all ...Missing: 3.7 2012
  45. [45]
    rhboot/pesign: Linux tools for signed PE-COFF binaries - GitHub
    Signing tools for PE-COFF binaries. Compliant with the PE and Authenticode specifications. (These serve a similar purpose to Microsoft's SignTool.exe, except ...
  46. [46]
    UEFI Secure Boot for Linux Arm64 – where do we stand?
    Sep 17, 2025 · This allows you to extend the Secure Boot chain to load their custom boot loader or an operating system kernel which was not properly signed to ...
  47. [47]
    Signing Kernel Images and Kernel Modules for Use With Secure Boot
    In this task, you use the pesign utility to sign the kernel with a new signature using the signing key in the NSS database. Remove the existing PE signature.
  48. [48]
    5 Kernel Modules - Oracle Help Center
    Kernel modules, which can be dynamically loaded and unloaded on demand, provide device drivers that allow the kernel to access new hardware.
  49. [49]
    insmod(8) - Linux manual page - man7.org
    insmod is a trivial program to insert a module into the kernel. Most users will want to use modprobe(8) instead, which is more clever and can handle module ...
  50. [50]
    Chapter 37. Kernel Modules | Red Hat Enterprise Linux | 4
    The /sbin/insmod command also exists to load kernel modules; however, it does not resolve dependencies. Thus, it is recommended that the /sbin/modprobe command ...
  51. [51]
    rmmod(8) - Linux manual page
    ### Summary of rmmod (from https://man7.org/linux/man-pages/man8/rmmod.8.html)
  52. [52]
    depmod(8) - Linux manual page
    ### Summary of Dependency Cycles in modules.dep Generation and Impact on modprobe
  53. [53]
    kernel/kmod/kmod.git - kmod - module management
    ### Summary on modprobe Dependency Cycles and Improvements
  54. [54]
    modprobe.d(5) — kmod — Debian unstable
    Apr 25, 2025 · The purpose of weak module is to allow a driver to specify that a certain dependency may be needed, so it should be present in the filesystem ( ...Missing: introduction | Show results with:introduction