ARM架构下linux设备树加载的方法

引入设备树后bootloader加载DTB方法:

1. 标准方法

将linux kernel放到内存地址为<kernel img addr>的内存中。

将DTB放到地址为<dtb addr>的内存中。

在u-boot下通过下面的命令启动内核: bootm <kernel img addr> – <dtb addr>

2.兼容方法

配置内核CONFIG_ARM_APPENDED_DTB选项,将DTB放到紧跟内核后面的地址。

具体方法如下:

1)将DTB放到内核后面

cat arch/arm/boot/zImage arch/arm/boot/dts/myboard.dtb > my-zImage

mkimage … -d my-zImage my-uImage

2)将打包好的文件my-uImage放到内存:<kernel img addr>

3)在u-boot下使用传统的命令启动内核:bootm <kernel img addr>