udev 事件中无法加载模块

udev 事件中无法加载模块

我有一个非常简单的udev规则,当 USB 插入我的 Debian 机器时就会执行:

SUBSYSTEMS=="usb", KERNEL=="sd?", ACTION=="add", RUN+="/usr/local/bin/USB/t.sh \
%k"

Myt.sh也非常简单,它做两件事:

  • 将 helloworld 打印udev.out到桌面
  • 使用简单的方法将模块加载foo.ko到内核insmod foo.ko

或者具体来说,t.sh是:

#!/bin/bash

echo 'Hello World!' >>"/home/salman/Desktop/udev.out"

insmod helloworld.ko

exit

当我插入 USB 时,udev.out桌面上正确打印,但以下行insmod helloworld.ko无法加载内核中的模块。

我检查过了lsmod | grep helloworld,但它没有显示helloworld已加载到内核。

我在 Virtual Box 中运行一台 Debian 机器。

答案1

您是否尝试过使用完整路径/sbin/insmod和完整路径helloworld.ko

相关内容