【发布时间】:2017-09-05 08:06:44
【问题描述】:
我试图找出内核模块是如何自动插入的。我正在使用 Arch Linux,所以基本上我正在使用 systemd。
经过一番研究,我知道插入内核模块至少有两种方法:
-
systemd有一个名为systemd-modules-load.service的单元,它读取/etc/modules-load.d/*.conf中的内核模块名称(以及/run和/usr/lib中的那些) (systemd documentation)。 udev可以在检测到设备时自动处理内核模块 (Arch Linux wiki page)。
但是,我没有看到它们是如何工作的:
我的系统上的
/etc/modules-load.d/*.conf(或/run或/usr/lib)中没有配置文件。因此它在systemd-modules-load.service中没有任何内容可加载。/usr/lib/udev/rules.d中有一些modprobe命令,但不是我在lsmod中看到的所有内核模块。
比如我在lsmod的输出中有一个xfs内核模块,但是我找不到插入它的触发点。我的文件系统都没有挂载xfs(cat /proc/mounts | grep xfs 没有显示任何内容)。
有没有关于这一切如何工作的介绍或教程?
【问题讨论】:
标签: kernel-module archlinux systemd udev