Armbian

获取android系统的dtb文件

2020-09-20  本文已影响0人  Armlinux

1.获取boot.img

以晶晨芯片TY1608机顶盒为例,可以从网上找到刷机包用解包工具解包得到boot.PARTITION 即为boot.img

也可通过TTL输入命令:

dd if=/dev/block/boot of=/sdcard/boot.img,回车,可得boot.img

dd if=/dev/block/system of=/sdcard/system.img,回车,可得system.img

注:eMMC 分区应用实例(https://blog.csdn.net/u014645605/article/details/52212622)

在一个 Android 手机系统中,各个分区的呈现形式如下:

mmcblk0 为 eMMC 的块设备;

mmcblk0boot0 和 mmcblk0boot1 对应两个 Boot Area Partitions;

mmcblk0rpmb 则为 RPMB Partition

2.解包boot.img

用boot解包工具解包 得到的文件中second.gz解压得到dt.img 即为dtb.img文件

此时dtb.img为多个dtb需要提取出来,同样用dtb_tool和linux系统可以提取出单个

查看ttl输出可以知道 系统适配dtb 6 soc: gxlx2  plat: p291  vari: 1g

Amlogic multi-dtb tool

      GZIP format, decompress...

      Multi dtb detected

      unified board, board id = 4

      Multi dtb tool version: v2 .

      Support 8 dtbs.

        aml_dt soc: gxlx2 platform: p291 variant: 1g

        dtb 0 soc: gxl  plat: p211  vari: 1g

        dtb 1 soc: gxl  plat: p215  vari: 1g

        dtb 2 soc: gxlx  plat: p261  vari: 1g

        dtb 3 soc: gxlx  plat: p261  vari: 2g

        dtb 4 soc: gxlx  plat: p265  vari: 1g

        dtb 5 soc: gxlx  plat: p265  vari: 2g

        dtb 6 soc: gxlx2  plat: p291  vari: 1g

        dtb 7 soc: gxlx2  plat: p295  vari: 1g

      Find match dtb: 6

start dts,buffer=0000000033ee4610,dt_addr=0000000033ee4610

      Amlogic multi-dtb tool

      Single dtb detected

另有转自:https://tieba.baidu.com/p/6642625141的教程

工具:盒子、电脑、TTL需要的东西,U盘/内存卡,还有一定的linux操作知识

第一步:TTL连接盒子,复制系统备份文件到U盘/内存卡,再复制到电脑上。

第二部:创建linux虚拟机,比如ubuntu。

打开虚拟机的浏览器,搜索github,

进去,然后搜索split_bootimg,第一个就是了。下载文件

在下载里面可以找到

按照上面的步骤,下载extract-dtb,将这两个文件解压。将boot.img文件拖动到sp那个文件夹。在在终端打开,

输入 split_bootimg.pl boot.img

不出意外的话啊,可以得到三个文件。解压第三个文件可以得到dt.img

复制dt.img文件到ex那个文件夹

输入 ./extract-dtb.py dt.img -o /tmp

就可以在tmp目录下再到dtb文件了。

看看你的TTL输出的序号是几,对应序号+1那个就是你盒子的dtb文件。

我的盒子的序号是  Find match dtb: 6,那么dtb文件就是07

上一篇下一篇

猜你喜欢

热点阅读