Linux设备驱动程序未使用udev自动加载

时间:2014-10-21 04:52:34

标签: linux-kernel linux-device-driver udev

我正在寻找一种在启动时自动加载我的linux设备驱动程序的方法。为此,我创建了一个udev规则文件:

KERNEL=="k1", SUBSYSTEM=="subx", SYMLINK+="sym_subx", ATTRS{vendor}=="0x14ab", ATTRS{device}=="0xe001", MODE="0660", GROUP="xyz"

我首先手动安装了驱动程序,然后重新启动了udev。在此之后,我第一次卸载然后安装了驱动程序。我可以看到驱动程序正确安装,并且还创建了符号链接。

现在,当我重新启动机器时,我希望在启动时自动加载驱动程序,但事实并非如此。这里可能缺少什么?在一些.conf文件(modprobe.conf或其他任何文件)中是否需要输入任何条目?我应该把我的module.ko文件放在哪里?

我怀疑一些轻微的东西丢失了。任何帮助将受到高度赞赏。

此致 萨班

1 个答案:

答案 0 :(得分:2)

我终于能够自己做了。自动加载驱动程序的步骤如下:

  1. 把module.ko放在/ lib / modules / $(uname -r)/ kernel / drivers /中 - 你可能需要第一次创建“module”目录
  2. 撰写Udev规则
  3. %sudo depmod -a 这将更新驱动程序的依赖关系
  4. 检查/ lib / modules / $(uname -r)/modules.dep文件并搜索modules.ko。它应列出其他模块的依赖关系(如果有的话)
  5. %sudo / sbin / reboot或sudo udevadm trigger
  6. 它适用于我的Linux SLES11