У меня есть довольно простое правило 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
загруженный в ядро.
Я использую машину Debian внутри Virtual Box.