工具准备
- unpackbootimg
- resource-tool
- dtc
- rk 烧录工具
编译 unpackbootimg
源码
https://github.com/huangzhenzeng/android-unpackbootimg
编译
只需要在 linux(需安装 gcc,make,一般是标配)或 windows(需要安装 mingw)的命令行执行 make,即可产生可执行文件 mkbootimg、unpackbootimg
resource-tool 工具
一般编译镜像后,将产生这个工具,目录为:u-boot/tools/resource_tool/resource_tool
dtc 工具
一般编译镜像后,将产生这个工具,目录为:kernel/scripts/dtc/dtc
rk 烧录工具
需到如下地址https://www.t-firefly.com/doc/download/54.html
下载《RKDevTool》
分离镜像
window 下,打开“RKDevTool”,选中“高级”,然后导入固件,选择解压即可,如下图:
最终 output 目录,输出各个子分区,如下图:
解压 boot.img 镜像
boot 格式分析:
1 | 因为boot.img的格式比较简单,它主要分为三大块(有的可能有四块) |
linux 下输入命令:mkdir output
unpackbootimg -I boot.img -O ./output
生成文件如下:
1 | ├── boot.img-base (mkbootimg base参数) |
解压 boot.img-second 资源
执行命令:mkdir out
./resource_tool --verbose --unpack --image=boot.img-second
生成文件如下:
1 | ├── logo.bmp |
dtb 转 dts
执行命令:./dtc -I dtb -O dts out/rk-kernel.dtb -o tmp.dts
生成 tmp.dts 文件,
最终通过 gedit 或文本编辑查看