Buildroot: создать таблицу устройств с неизвестным основным номером - PullRequest
0 голосов
/ 24 октября 2018

У меня есть один драйвер, который получает основной номер из ядра Linux (основной номер назначается динамически).

Чтобы создать узел устройства для моего драйвера, я выполняю следующие шаги вручную

  • insmod my_driver

  • cat /proc/devices - Это информация о том, какой основной номер назначен

  • mknod /dev/myDevName -c Assigned_Major_Number 0

В конце концов, я должен использовать Buildroot для создания моей файловой системы, которая должна включать мой драйвер.В Buildroot вы можете использовать файл таблицы устройств для создания узла устройства (вместо запуска mknod ..., когда система linux запущена).

Отсутствует часть, как упомянуть основной номер в файле таблицы устройств как Iего еще нет (он будет назначен ядром linux при работающей системе)?!

Спасибо за помощь

1 Ответ

0 голосов
/ 04 ноября 2018

Пусть записи / dev создаются динамически, а автоматически для вас.Статическая таблица слишком громоздка, когда у вас есть динамические числа.

Существует несколько методов управления динамическим / dev.От самого сложного и многофункционального к простому:

  • используйте udev и systemd (как это делают многие дистрибутивы для настольных компьютеров и серверов)
  • используйте udev (если ваша система инициализации не systemd)
  • использовать mdev из Busybox (например, udev, но более простой и очень легкий)
  • смонтировать devtmpfs в / dev (не требуется демон, ядро ​​сделает это за вас)

Buildroot может быть настроен по вашему желанию.Просто введите make menuconfig -> System configuration -> /dev management.Подробности см. В разделе руководства / dev management .

...