udev无法加载模块?

时间:2019-09-25 05:18:18

标签: linux linux-device-driver udev

我有一个基于debian的基于盒子的自定义发行版。它使用来自较早版本的Debian(基于Wheezy的IIRC)的udev,该版本在udev初始化脚本中启动了create_static_nodes。自定义发行版的内核基于4.19-686,因此它是最新的。

我正在尝试将udev更新为基于Devaun-jessie的较新版本,因为该初始化系统不依赖systemd。我将新文件从/etc/udev/lib/udevlibudev复制到/ lib(还为旧的libudev.so.0创建了到新版本的链接,以供依赖它的实用程序使用。 ),udevadm(到/ sbin),udevd-systemd(到/ sbin作为udevd)以及/etc/init.d/udev脚本(作为/etc/rc.d/udev)。 init是通过启动/etc/rc.d/udev start的脚本完成的。

问题是udev没有加载模块。初始化脚本运行moddep -a以确保最新,对一些可选项目执行一些手动modprobe。这些手册项仅显示在/ dev中,而不显示在基于module的驱动程序中。

作为测试,我手动modprobe来启动/dev/sr0的一些驱动程序,并且可以工作。只是没有触发负载。除了更新udev项外,我没有做任何其他更改(我什至尝试留下一些规则,因为基于Devaun的udev没有)。 Devaun-jessie在同一VMWare播放器中运行,因此知道它可以工作。如前所述,还可以使用旧的udev项引导我的发行版,如上所述,如果手动加载模块,则一切正常。

关于如何找出为什么新的udev无法自动加载模块的任何想法?

TIA !!

1 个答案:

答案 0 :(得分:0)

答案是udevd使用的kmod共享库不支持压缩模块(CONFIG选项)。对于kmod本身,显示--version -XY的{​​{1}}表示不支持,-ZLIB +XY表示已启用支持。