本文主要讲的是如何用命令生成recovery.img
sdk本身可以自己生成recovery.img,在sdk的目录下,直接运行build.sh recovery,就可以生成了。
本文一则是想研究一下生成的过程,二则主要的就是要能够自己掌控,能够灵活编译出自己想要的recovery.img
注意:其实我也就是把build.sh 中的recovery的步骤做了摘录出来。
给出答案:
1.在sdk的目录下建立一个recvoery-make的目录
2.目录中存放 recovery-arm64.cpio.gz 文件
3.制作build_recovery.sh#!/bin/bash
../kernel/scripts/mkbootimg --kernel ../kernel/arch/arm64/boot/Image --ramdisk recovery-arm64.cpio.gz --second ../kernel/resource.img -o recovery.img
4. 只要内核被正确编译过,就能生成对应的recovery.img文件
需要准备的文件:
1. arch/arm64/boot/Image kernel编译好的内核文件
2. arm64.cpio.gz firefly的sdk中有提供,如果没有,可以找我私信或者下图的qq群下载
3. resource.img kernel编译好的dtb文件,如果没有,可以参考文章
4. mkbootimg sdk中的命令。如果没有,参考文章
直接执行脚本就可以啦。
前提条件,内核已经编译成功
看到recovery.img的生成命令之后,就可以灵活调整需要合并的内核,dtb等文件。
对于不同的rk3399的板子,那就是相当舒服了。
有什么问题,请留言了,我也是小白,请多多指教。