Rockchip --- resource.img 解压与打包

所需工具

resource_tool

源码位于 /u-boot/tools/resource_tool 目录下,编译 uboot 后即可生成对应的二进制文件。

dtc

源码位于 /kernel/scripts/dtc 目录下,编译 kernel 后即可生成对应二进制文件。

一、解压

#解压 resource.img
#sudo resource_tool --verbose --unpack --image=resource.img

lodge@lodge-ThinkPad-E560:~/test$ ls
resource.img
lodge@lodge-ThinkPad-E560:~/test$ sudo ../rk_3399/u-boot/tools/resource_tool/resource_tool --verbose --unpack --image=resource.img
Dump header:
partition version:0.0
header size:1
index tbl:
	offset:1	entry size:1	entry num:2
Dump Index table:
entry(0):
	path:rk-kernel.dtb
	offset:3	size:80387
D/dump_file(187): try to dump entry:rk-kernel.dtb
D/mkdirs(175): mkdir:out
entry(1):
	path:logo.bmp
	offset:161	size:127818
D/dump_file(187): try to dump entry:logo.bmp
D/mkdirs(175): mkdir:out
Unack resource.img to out successed!
lodge@lodge-ThinkPad-E560:~/test$ ls
out  resource.img
lodge@lodge-ThinkPad-E560:~/test$ 

#生成的 out 目录需要 root 权限才能访问;
lodge@lodge-ThinkPad-E560:~/test$ su root
root@lodge-ThinkPad-E560:/home/lodge/test# cd out/

root@lodge-ThinkPad-E560:/home/lodge/test/out# ls
logo.bmp  rk-kernel.dtb
#logo.bmo 是开机 logo,rk-kernel.dtb 是 dts 的二进制文件;

#解压 dtb 文件
#dtc -I dtb -O dts -o xxx.dts xxx.dtb

root@lodge-ThinkPad-E560:/home/lodge/test/out# /home/lodge/rk_3399/kernel/scripts/dtc/dtc -I dtb -O dts -o rk3399.dts rk-kernel.dtb 
root@lodge-ThinkPad-E560:/home/lodge/test/out# ls
logo.bmp  rk3399.dts  rk-kernel.dtb
root@lodge-ThinkPad-E560:/home/lodge/test/out# 

二、打包

#resource_tool --verbose --pack out/logo.bmp out/rk-kernel.dtb resource.img

root@lodge-ThinkPad-E560:/home/lodge/test/out# ls
logo.bmp  rk3399.dts  rk-kernel.dtb
root@lodge-ThinkPad-E560:/home/lodge/test/out# /home/lodge/rk_3399/u-boot/tools/resource_tool/resource_tool --verbose --pack ./logo.bmp ./rk-kernel.dtb resource.img
D/main(107): try to pack 3 files.
D/write_header(370): try to write header...
D/write_index_tbl(386): try to write index table...
D/get_file_size(322): try to get size(./rk-kernel.dtb)...
D/get_file_size(328): path:./rk-kernel.dtb, size:80387
D/write_file(333): try to write file(./rk-kernel.dtb) to offset:3...
D/get_file_size(322): try to get size(./rk-kernel.dtb)...
D/get_file_size(328): path:./rk-kernel.dtb, size:80387
D/write_index_tbl(404): try to write index entry(./rk-kernel.dtb)...
D/write_index_tbl(422): mod fdt path:./rk-kernel.dtb -> rk-kernel.dtb...
D/get_file_size(322): try to get size(./logo.bmp)...
D/get_file_size(328): path:./logo.bmp, size:127818
D/write_file(333): try to write file(./logo.bmp) to offset:161...
D/get_file_size(322): try to get size(./logo.bmp)...
D/get_file_size(328): path:./logo.bmp, size:127818
D/write_index_tbl(404): try to write index entry(./logo.bmp)...
Pack to resource.img successed!
root@lodge-ThinkPad-E560:/home/lodge/test/out# ls
logo.bmp  resource.img  rk3399.dts  rk-kernel.dtb
root@lodge-ThinkPad-E560:/home/lodge/test/out# 

 

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值