如何让D1 uboot支持uImage镜像 + dtb启动系统?
-
问题1
我们现在想用单独使用工具链编译的uboot去单独加载uImage 和设备树文件来启动开发板系统,
但是参考发现你们的boot.img似乎没有用到设备树,所以我不明白设备树用的是那里的 我要单独更新设备树应该怎么操作 ?
问题2
我们在尝试使用过程中uboot出现/dram not found问题 通过查看tina sdk发现dram配置信息似乎在 sys_config.fex 文件内,我要如何将dram文件增加到自编译的uboot内?-
uboot 加载uImage dtb失败log
-
uboot读取dram参数节点错误信息
-
tina sdk内 类似dram配置文件
-
关于设备树以及tina-sdk内不太清楚的问题
-
-
韦老师可以参考一下这个帖子:
xfel运行D1的boot0
https://whycan.com/t_6638.html#p64488全志sdk工具把sys_config.fex 转成二进制存到了
boot0*.fex uboot*.fex 的开头位置。 -
@whycan 感谢回复 boot0阶段没有做深入的研究 只是拿来用,现在主要问题是默认的uboot并不支持使用bootm来单独加载设备树和uImage启动系统。
-
全志默认的做法是
-
sys_config.fex中包含dram参数,是必要的配置。此文件在打包阶段会解析并写到boot0头部,启动时,brom加载boot0到sram,boot0负责初始化dram,并加载uboot到dram运行。
-
设备树跟 uboot,opensbi等打包在一起(由boot_package.cfg配置),启动时,boot0会将uboot,opensbi,dtb加载在dram的不同位置,启动到uboot之后,uboot直接用ram中的dtb。
-
board.dts,是在编译阶段拷贝到内核中(执行cdts可跳过去)进行编译,生成board.dtb. 在打包阶段( scripts/pack_img.sh)拷贝到out/xxx/image目录下,进一步根据boot_package.cfg打包生成boot_package.fex。如果修改board.dts,需要重新编译kernel。
-
uboot-board.dts , 此文件是uboot的dts,目前uboot可以支持自带dts,即编译的时候直接内嵌一份dts,不跟kernel共用dts。如果修改uboot-board.dts,需要重新编译uboot.
-
-
我尝试编译打包后,out/d1-nezha_min/image/sunxi.fex 并不是帖子截图的那样对不上,是有56k大小的。
-
Copyright © 2024 深圳全志在线有限公司 粤ICP备2021084185号 粤公网安备44030502007680号