I red the introduction of them and found that, they both deal with module loading during boot time.

So, what's the difference of these two different configuation ways?

1 Answer 1


In distributions where systemd is not available, SysV init scripts load modules listed in /etc/modules or /etc/modules.conf (from the kmod job).

In distributions where systemd is available, systemd-modules-load.service loads kernel modules from static lists in these files:

  • /etc/modules-load.d/*.conf
  • /run/modules-load.d/*.conf
  • /usr/lib/modules-load.d/*.conf
  • In Ubuntu doc, as said, Ubuntu uses /etc/modules to config loadable modules. And it didn't mention the /etc/modules.conf file. Is the doc out-dated or that's the way Ubuntu uses?
    – nn0p
    Mar 12, 2015 at 10:24
  • Different distributions use different way to implement this. In Ubuntu this is /etc/modules.
    – taliezin
    Mar 12, 2015 at 10:42
  • @nn0p so in basic there is no difference. Just in the way how it is handled.
    – taliezin
    Mar 12, 2015 at 11:40
  • At least nowadays, a SysV-based Debian 12 system honours /etc/modules-load.d/*.conf, too. Mar 4, 2023 at 16:33
  • If I recall correctly, /etc/modules.conf is a very old name for what eventually became /etc/modprobe.conf, and then /etc/modprobe.d/*.conf. That was way back, in the era of 1.2 or 2.0 kernel series I think.
    – telcoM
    Mar 14, 2023 at 19:42

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .