Откройте Character Device, не создавая Узел устройства

XEN-ядро не является основной проблемой здесь. Необходимо принести Hyper-V-disk-module в initrd.

После этого необходимо удалить все ссылки на xvda (и т.п.) и заменить их sda (и т.п.) в Загрузчике, Личинке и/etc/fstab "старого" DomU.

С ядрами, более новыми, чем 2.6.32, это - мир пирога - так как господствующая тенденция Linux содержит эти модули.

До этого необходимо скомпилировать эти модули для ядра.

Вот хорошая начальная точка в Microsoft Technet о той теме.

3
20.06.2014, 00:22
1 ответ

Если приложение-нарушитель открывает только узлы устройств в дереве / dev , вы можете разместить узел устройства в другом месте, если это работает с вашей собственной программой.

В файловой системе, в которой находится узел устройства, должна быть установлена ​​опция монтирования dev , чтобы иметь особую обработку файлов узла устройства как таковых.

(Отказ от ответственности: я не тестировал это, но делал подобные вещи раньше ...)

Одним из примеров может быть установка небольшой файловой системы tmpfs , например, на / my-dev / и создайте там узел устройства.

mkdir -p /my-dev

mount -t tmpfs -o dev,size=<size> tmpfs /my-dev

mknod /my-dev/spi <type> <maj> <min>

где - это размер tmpfs, - это тип узла устройства, а - основные : второстепенные номера устройств; см. справочные страницы для mount и mknod соответственно.

... А затем используйте fopen ("/ my-dev / spi") в своей программе.

(И, конечно же, убедитесь, что udev или аналогичный не создает узел для устройства.)

1
27.01.2020, 21:31

Теги

Похожие вопросы