2017-02-01 10 views
0

Я использую Petalinux, построенную с помощью Yocto SDK. Я хочу автоматически установить мой модуль ядра и сделать устройства доступными в /dev/*.KERNEL_MODULE_AUTOLOAD и устройство не найдено в/dev/*

С KERNEL_MODULE_AUTOLOAD+="modulename" я могу видеть соответствующие записи в /etc/modules-load.d/, а также записей в /sys/class/misc/**, но не в /dev/*. Есть что-то, чего я не хватает?

+0

Является ли ваш модуль ядра фактически созданным узлом устройства автоматически? – Anders

+0

Исправлено Typo. Если я правильно понимаю, я создаю miscdevice в своем модуле. Раньше он работал нормально, если я установил его в/etc/modules /, но с новой структурой Yocto я, похоже, не понимаю. – gavenant

+1

Ну, структура Yocto не имеет ничего общего с созданием узлов устройства. Либо ваш драйвер делает это для вас (при загрузке/зондировании), либо у вас есть какой-то скрипт, который сделал их раньше. Пока ваш модуль загружен при загрузке, у вас есть 'KERNEL_MODULE_AUTOLOAD' правильно. Если модуль загружается, но вы не получаете какие-либо узлы устройства автоматически (и у вас это есть раньше), вам нужно будет изучить, что изменилось в вашей системе. (Версии ядра и, например, mdev/udev и т. Д.). – Anders

ответ

1

Ну, структура Yocto не имеет ничего общего с созданием узлов устройства. Либо ваш драйвер делает это для вас (при загрузке/зондировании), либо у вас есть какой-то скрипт, который сделал их раньше. Пока ваш модуль загружен при загрузке, вы правильно используете KERNEL_MODULE_AUTOLOAD. Если модуль загружается, но вы не получаете какие-либо узлы устройства автоматически (и у вас это есть раньше), вам нужно будет изучить, что изменилось в вашей системе. (Версии ядра и т. Д. Mdev/udev и т. Д.)