根据我的理解,在没有总线支持发现/枚举的系统(主要是嵌入式系统)中,dtb 文件用于描述硬件并允许内核在将其加载到内存后使用它。
那么,假设我们只想更新这样一个系统的内核,我们是否还需要更新 dtb?既然只是描述了硬件,而硬件没有改变,那不就可以简单的复用了吗?
我在我的树莓派中安装更新的内核时遇到了这个问题,官方构建文档而且我能找到的所有其他教程都明确提到了编译和复制 dtb 文件,所以我想知道这一步是否真的有必要,因为硬件不会改变。
答案1
主要是,内核和设备树应该彼此独立,所以是的:通常您可以使用新编译的内核和旧的 dtb,反之亦然。
当然,如果设备树依赖于某些版本的设备驱动程序或者新内核需要不同的设备树属性,则这种情况就不再成立。
现在考虑到构建新的 dtbdtc
是一个毫秒的问题,并且教程的作者不知道某些补丁是否确实更改了任何 dts 或 dtsi 文件,因此建议将 dtb 与内核一起构建和部署。