device tree通常由bootloader通过r2寄存器传递给内核。
但是也可以直接将dtb嵌入到镜像中。通过内核选项CONFIG_ARM_APPENDED_DTB开启。将dtb文件直接cat到zImage之后即可。
还有一个内核选项CONFIG_ARM_ATAG_DTB_COMPAT,使用bootloader传递的ATAGS更新DT。
参考
https://cateee.net/lkddb/web-lkddb/ARM_APPENDED_DTB.html
https://events.static.linuxfound.org/sites/events/files/slides/petazzoni-device-tree-dummies.pdf