- r - 以节省内存的方式增长 data.frame
- ruby-on-rails - ruby/ruby on rails 内存泄漏检测
- android - 无法解析导入android.support.v7.app
- UNIX 域套接字与共享内存(映射文件)
总结
我目前正在使用一些自定义板的自定义驱动程序编译 Linux 内核(内核、模块和 DTB)。偶尔我会编译内核并意识到 DTB 文件中的兼容性字符串不是自定义驱动程序正在寻找的内容。现在我唯一可以补救的方法是修改 DTS 或内核驱动程序,使字符串匹配,然后再次重新编译内核。有什么方法可以只编辑 DTB 文件来更新兼容性字符串?
失败的尝试
我已经能够使用以下命令将 DTB 文件反编译回 DTS 文件:
dtc -I dtb -o <filename>.dts -<filename>.dtb
但是,如果我修改 DTS 文件并使用以下命令重新编译:
dtc -I dts -o <filename>.dtb -<filename>.dts
内核不会加载重新编译的DTB文件
最佳答案
只是想用 2 年以上的主题经验来更新它。
Linux 存储库中的 DTS 文件是 DTS 和 C 预处理器指令(#include、#define 等)的混合体。因此,当编译原始 DTB 时,预处理器链接到引用的文件以创建纯 DTS 文件。 dtc
将单个 DTS 文件转换为 DTB 文件。
所以如果你想修改一个内核DTS文件并编译它,那么你有两个选择:
make dtbs
它会自动处理所有这些cpp -nostdinc -I <include dir> -undef -x assembler-with-cpp ...
),然后使用 dtc
编译输出. 关于c - 如何修改内核DTB文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46469924/
我正在尝试为 beaglebone black 编译 dts 文件。我从这个位置克隆了 git 存储库 git://git.ti.com/ti-linux-kernel/ti-linux-kernel
我创建了名称为 -encoding=UTF-8 的数据库(未点击) 没有任何方法可以删除数据库。 \l name | owner | Encoding | Colla
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。 关闭 12 个月
应该有一种标准的、独立于电路板和架构的方式来做到这一点,就像 initfamfs 一样,不是吗? 如果重要的话,我正在使用 powerpc 和 linux-3.10。如果以后有更好的设施,我很想听听他
我正在为设备开发设备驱动程序。除了编写设备驱动程序之外,我还想知道什么以及何时需要它 - 设备树 blob (dtb) 或设备树覆盖 (dtbo)。 是否可以动态插入dtb(使用dtc编译器编译后)并
我是 Yocto 项目的新手,我正在尝试基于 i.MX6QP/Q/DL SABRE Automotive 为我的定制板构建一个简单的核心图像最小图像。现在我只使用 meta-freescale 层。
引导 Linux 内核时,可以在 RAM 中加载 initramfs 存档和 DTB 文件,并将这些物理地址指定给内核。例如,使用 U-Boot,您可以执行以下操作: bootz 0x80008000
我的设备是 OnePlus3。 现在我需要自己编译内核并安装它。 I flow this to compile kernel 日志: SYSMAP System.map DTC arch/a
我是一名优秀的程序员,十分优秀!