【问题标题】:How are kernel modules automatically inserted by systemd?systemd如何自动插入内核模块?
【发布时间】:2017-09-05 08:06:44
【问题描述】:

我试图找出内核模块是如何自动插入的。我正在使用 Arch Linux,所以基本上我正在使用 systemd

经过一番研究,我知道插入内核模块至少有两种方法:

  1. systemd 有一个名为systemd-modules-load.service 的单元,它读取/etc/modules-load.d/*.conf 中的内核模块名称(以及/run/usr/lib 中的那些) (systemd documentation)。

  2. udev 可以在检测到设备时自动处理内核模块 (Arch Linux wiki page)。

但是,我没有看到它们是如何工作的:

  1. 我的系统上的/etc/modules-load.d/*.conf(或/run/usr/lib)中没有配置文件。因此它在systemd-modules-load.service 中没有任何内容可加载。

  2. /usr/lib/udev/rules.d 中有一些modprobe 命令,但不是我在lsmod 中看到的所有内核模块。

比如我在lsmod的输出中有一个xfs内核模块,但是我找不到插入它的触发点。我的文件系统都没有挂载xfscat /proc/mounts | grep xfs 没有显示任何内容)。

有没有关于这一切如何工作的介绍或教程?

【问题讨论】:

    标签: kernel-module archlinux systemd udev


    【解决方案1】:

    我找到了一个关于这个主题的非常有用的介绍:https://wiki.archlinux.org/index.php/Modalias

    简而言之,秘密是udev中的MODALIAS/lib/modules/$(uname -r)/modules.alias之间的映射。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-10-15
      • 1970-01-01
      • 2011-11-13
      • 2013-03-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多