## Name

modules-load.d — Configure kernel modules to load at boot

## Synopsis

`/usr/lib/modules-load.d/*.conf`

`/etc/modules-load.d/*.conf`

`/run/modules-load.d/*.conf`

## Description

systemd uses files from the above directories to configure kernel modules to load during boot in a static list. Each configuration file is named in the style of `/etc/modules-load.d/<program>.conf`. Note that it is usually a better idea to use the automatic module loading by PCI ID, by DMI ID or similar triggers configured in the kernel modules themselves instead of relying on static configuration like this.

## Configuration Format

The configuration files should simply contain a list of kernel module names to load, separated by newlines. Empty lines and lines whose first non-whitespace character is # or ; are ignored.

Each configuration file is named in the style of `<program>.conf`. Files in `/etc/` overwrite files with the same name in `/usr/lib/`. Files in `/run` overwrite files with the same name in `/etc/` and `/usr/lib/`. Packages should install their configuration files in `/usr/lib/`, files in `/etc/` are reserved for the local administration, which possibly decides to overwrite the configurations installed from packages. All files are sorted by filename in alphabetical order, regardless in which of the directories they reside, to ensure that a specific configuration file takes precedence over another file with an alphabetically later name.

## Example

Example 1. /etc/modules-load.d/virtio-net.conf example:

    # Load virtio-net.ko at boot
    virtio-net

## See Also

systemd(1), modprobe(8)