Возможно ли получить информацию для дерева устройств с помощью / sys работающего ядра?

Обычно для систем рук, деревья устройств поставляют аппаратную информацию в ядро ​​(Linux). Эти деревья устройств существуют как файлы dts (источник дерева устройства), которые скомпилированы и загружены в ядро. Проблема в том, что у меня нет доступа к такому файлу dts , даже к файлу dtb .

У меня есть доступ к /sys и /proc на машине, и я хотел спросить, позволит ли это «угадать правильные значения», которые будут использоваться в dts?

Кроме того, потенциальный ответ может дополнительно подчеркнуть аспект, если ответ на этот вопрос также зависит от того, был ли вначале использован интерфейс дерева устройств (т. dtb Был создан и предоставлен ядру dtb ) вместо некоторого взлома «мы просто отвлекаемся от ваниль и исправить ядро, чтобы решить проблему с информацией об устройстве для нашего ядра только «-решение?

2 Solutions collect form web for “Возможно ли получить информацию для дерева устройств с помощью / sys работающего ядра?”

/proc/device-tree или /sys/firmware/devicetree/base

Я думаю, что оба являются псевдонимами, /sys/firmware/devicetree/base вероятно, лучшим выбором после укрощения /proc .

Затем вы можете получить доступ к свойствам dts из файлов:

 hexdump /sys/firmware/devicetree/base/clk48mhz/clock-frequency 

Формат вывода для целых чисел является двоичным, поэтому требуется hexdump .

dtc -I fs

Получить полное дерево устройств из файловой системы:

 sudo apt-get install device-tree-compiler dtc -I fs -O dts /sys/firmware/devicetree/base 

выводит dts на stdout.

Из: https://unix.stackexchange.com/a/289630/32558

Я не уверен, правильно ли я вас понимаю.

Если вы находитесь в системе, загруженной с использованием dtb, ваше дерево устройств должно быть доступно внутри debugfs.

Вы также можете попробовать инструменты dtc от Pantelis Antoniou, они включают fdtdump и fdtget, которые печатают dts из blob.

Если у вас нет дерева устройств вообще и не загружалась загрузка из dtb, вам придется самому пройти машинный код и добавить все атрибуты и узлы устройства к вашим dts. Для такой загрузки нет «синтетического» дерева устройств. Отправной точкой будет аналогичная машина или родительская, а затем работающая система через систему.

  • Ли Linux все еще использует rootfs?
  • Можно ли запускать любой дистрибутив из ОЗУ из .iso, сохраненного в файловой системе NTFS?
  • Имеются ли модули / драйверы linux в пространстве ядра или пространстве пользователя
  • программирование на C ++ в операционной системе Linux реального времени
  • Ядро Linux 3.2 syscalls
  • Проблема с использованием `make gconfig` в ubuntu linux
  • Как установить php5-curl на Ubuntu 12.04 LTS (GNU / Linux 3.2.0-24-generic x86_64)
  • Неправильный eUID в `/ proc / PID / status`, когда используется SETUID
  • Взаимодействие BlueZ без HCI?
  • Кросс-компиляция драйвера устройства tun / tap для armv7
  • Как получить фактическое имя программы с помощью PID этой запущенной программы?
  • Linux и Unix - лучшая ОС в мире.