Я использую Petalinux, построенную с помощью Yocto SDK. Я хочу автоматически установить мой модуль ядра и сделать устройства доступными в /dev/*
.KERNEL_MODULE_AUTOLOAD и устройство не найдено в/dev/*
С KERNEL_MODULE_AUTOLOAD+="modulename"
я могу видеть соответствующие записи в /etc/modules-load.d/
, а также записей в /sys/class/misc/**
, но не в /dev/*
. Есть что-то, чего я не хватает?
Является ли ваш модуль ядра фактически созданным узлом устройства автоматически? – Anders
Исправлено Typo. Если я правильно понимаю, я создаю miscdevice в своем модуле. Раньше он работал нормально, если я установил его в/etc/modules /, но с новой структурой Yocto я, похоже, не понимаю. – gavenant
Ну, структура Yocto не имеет ничего общего с созданием узлов устройства. Либо ваш драйвер делает это для вас (при загрузке/зондировании), либо у вас есть какой-то скрипт, который сделал их раньше. Пока ваш модуль загружен при загрузке, у вас есть 'KERNEL_MODULE_AUTOLOAD' правильно. Если модуль загружается, но вы не получаете какие-либо узлы устройства автоматически (и у вас это есть раньше), вам нужно будет изучить, что изменилось в вашей системе. (Версии ядра и, например, mdev/udev и т. Д.). – Anders