1

У меня есть довольно простое правило 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.

1 ответ1

1

Вы пытались использовать полный путь /sbin/insmod и полный путь к helloworld.ko?

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .