我有一个非常简单的 udev 规则,当 USB 插入我的 Debian 机器时就会执行该规则:
SUBSYSTEMS=="usb", KERNEL=="sd?", ACTION=="add", RUN+="/usr/local/bin/USB/t.sh \
%k"
我的t.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 机器。