如何将单独编译的opensbi u-boot kernel rootfs 烧录制作成可以启动的sdcard.img镜像?
-
各位大佬晚上好 我目前通过使用全志提供的sdk内工具链可以单独编译 opensbi uboot kernel busybox最小系统,除了kernel 和busybox部分可以通过分区挂载替换的方式进行更新刷写,但是opensbi uboot这部分如何在不借助全志工具的情况下单独更新呢?
之前看到社区内liangdi 大佬做的debian系统 启动后查看分区信息时可以看到如下。
通过分区工具查看
后来发现这三个分区是通过下面这个工具单独生成的,并非全志sdk构建出来的那个版本。
后面分析sdk内的 scripts/pack_img.sh 脚本以及单独执行pack打包命令验证,发现最开始的三个分区,对应的文件分别是boot-resource.fex env.fex ,后面将其使用wind32diskimage工具直接烧录至SD卡 并未能看到分区信息。
之后我找到boot-resource.fex 来分析制作过程并查看文件 ,发现 boot-resource.fex 文件大小确只有 80k 仅仅opensbi部分编译出来都将近80k 那么u-boot部分会保存在哪里呢?
希望有了解的大佬指点一下,想搞明白具体的启动流程和分区信息等。 -
@allwinnertech 在 如何将单独编译的opensbi u-boot kernel rootfs 烧录制作成可以启动的sdcard.img镜像? 中说:
本以及单独执行pack打包命令验证,发现最开始的三个分区,对应的文件分别
TF卡中没有boot0和boot-package的分区信息,uboot阶段不能分区烧写这两个二级制文件。boot-package是按照一定的格式打包了uboot、dtb、opensbi三个文件的二进制文件。通过phoenixcard烧写tina_d1-nezha_min_uart0.img时将boot-package烧写到了TF卡指定的offset区域,phoenixcard同boot0约定将boot-package烧写在TF卡offset 32800扇区处,每个扇区512Byte。可通过dd命令单独烧写boot-package文件烧写到指定位置(offset:32800扇区)。
-
@damon 在 如何将单独编译的opensbi u-boot kernel rootfs 烧录制作成可以启动的sdcard.img镜像? 中说:请问可以单独讲讲 boot-package 的存放方式么?
-
Copyright © 2024 深圳全志在线有限公司 粤ICP备2021084185号 粤公网安备44030502007680号