准备
需要下载好瑞芯微的开发工具RKDevTool,下载链接:https://download.t-firefly.com/product/Board/RK3588/Tool/Window/RKDevTool_Release_v2.84.zip
瑞芯微驱动,下载链接:https://download.t-firefly.com/product/Board/RK3588/Tool/Window/DriverAssitant_v5.1.1.zip
解包
使用瑞芯微的开发工具就可以将固件解包
解包后的文件保存在RKDevTool的Output目录中。
Output目录中有两个文件一个文件夹
- boot.bin:打包时的loader,也就是MiniLoaderAll.bin文件
- firmware.img:打包时afptool生成的固件
- Android目录下为firmware.img的展开内容
进入Android目录,有一个文件一个文件夹
- package-file:分区与分区镜像名的对应关系
- Image:firmware.img展开后的内容,也就是解包后的分区镜像。
进入Image目录,根据不同操作系统,有以下三类文件
- 分区表:parameter.txt
- loader文件:MiniLoaderAll.bin
- 分区镜像:boot.img、misc.img等以img结尾的分区镜像文件
打包
将bin
目录下的AFPTool.exe和RKImageMaker.exe复制到解包后的Output/Android
目录下
在Output/Android/Image
目录下将需要修改的分区文件进行替换,需要注意的是替换的文件名要和package-file而文件中描述的一致
另外,如果rootfs分区不是最后一个分区,需要编辑parameter.txt文件来设置分区的大小,参照:https://wiki.t-firefly.com/Firefly-RK3399/customize_android_firmware.html#da-bao
文件修改好了之后,在Output/Android
目录打开cmd
1、先将分区文件合成为firmware.img
# 参数一:固定参数
# 参数二:分区文件存放路径
# 参数三:要生成的文件名
AFPTool.exe -pack ./ firmware.img
2、然后使用RKImageMaker合成固件
# 参数一:芯片类型
# 参数二:loader文件
# 参数三:刚才合成的firmware.img文件
# 参数四:要生成的固件名
# 参数五:系统类型,一般就选androidos就可以
RKImageMaker.exe -RK330C Image\MiniLoaderAll.bin firmware.img new.img -os_type:androidos