【发布时间】:2017-04-21 02:44:21
【问题描述】:
在我的 ARM 系统(基于 Tegra)上,我正在运行主线 linux 内核。它使用设备树系统。
我在 .dts 文件中启用了通用内存总线(SoC 的一部分)的硬件驱动程序,方法是设置其 status="okay"。重新编译 dtb 并启动内核。但是没有设备 (/dev/xx) 出现。
驱动编译进内核,可以看到
cat /lib/modules/$(uname -r)/modules.builtin
命令
cat /sys/firmware/devicetree/base/<path to device>/status
返回“好的”。
我需要做一些“mknod”吗? 还有什么是必要的?
【问题讨论】:
-
适当的驱动程序是内置在内核中,还是作为模块构建并加载?我假设您实际上已经在机器上安装了更新的 DTB - 您可以检查 /sys/firmware/devicetree/base/
/status 进行确认。 -
是的,我可以在此路径下看到我的设备的条目及其所有属性
-
驱动编译进内核(无模块)
-
好的,找到问题了。设备树条目不正确(消息 =“无子节点”)。需要深挖
-
“无子节点”错误已修复,但仍然没有 /dev-entry :-(
标签: arm linux-device-driver device-tree