Android firmware image components explanation


#1

Consider unpacking an android firmware image made for Khadas Vim using for example the C code in this post or by ‘Amlogic customization tool’.

When I use the compiled C code with an android 7.1 image, I get these files: (These are also present in ‘tmp/level1’ folder in customization tool v2.0.8 installation directory and It is not important to use which of images provided by khadas)

_aml_dtb.PARTITION
aml_sdc_burn.ini
aml_sdc_burn.UBOOT
boot.PARTITION
bootloader.PARTITION
DDR.USB
logo.PARTITION
manifest.xml
mesonl.dtb
platform.conf
recovery.PARTITION
system.PARTITION
UBOOT.USB

Excluding some minor config files here, I know each of these images are a partition in my device’s eMMC. But there is some questions about these files:

1- I know bootloader.PARTITION is the same as u-boot.bin in out folder of my android sources directory after compilation. But what are UBOOT.USB and aml_sdc_burn.UBOOT files? I guess one is used when burning image via USB tool and one for burning via SD card. But I do not have any idea what these files contain and what is the relation regarding U-boot.bin?

2- What is DDR.USB file?


#2

You can look at the file aml_upgrade_package.conf

#This file define how pack aml_upgrade_package image

[LIST_NORMAL]
#partition images, don't need verfiy
file="u-boot.bin.usb.bl2"               main_type= "USB"            sub_type="DDR"
file="u-boot.bin.usb.tpl"               main_type= "USB"            sub_type="UBOOT"
file="u-boot.bin.sd.bin"                main_type="UBOOT"           sub_type="aml_sdc_burn"
file="platform.conf"                    main_type= "conf"           sub_type="platform"
file="aml_sdc_burn.ini"                 main_type="ini"             sub_type="aml_sdc_burn"
file="dtb.img"                          main_type="dtb"             sub_type="meson1"
file="manifest.xml"                     main_type="xml"             sub_type="manifest"

[LIST_VERIFY]
#partition images needed verify

#if you want download userdata image, uncomment below line
#file="userdata.img"     main_type="PARTITION"      sub_type="data"

file="logo.img"         main_type="PARTITION"      sub_type="logo"
file="boot.img"         main_type="PARTITION"      sub_type="boot"
file="system.img"       main_type="PARTITION"      sub_type="system"
file="recovery.img"     main_type="PARTITION"      sub_type="recovery"
file="u-boot.bin"       main_type="PARTITION"      sub_type="bootloader"
file="dtb.img"          main_type="PARTITION"      sub_type="_aml_dtb"



#3

I had seen this file but please acknowledge that it does not give us much information about those files (The conf file more or less could be viewed just as a separation of files name and extension!)

I am just so curious why we might have more than one file for bootloader. (which is the U-boot partition burned into eMMC : u-boot.bin in your case). I guess those two files (i.e. u-boot.bin.sd.bin and u-boot.bin.usb.tpl in your case) used during burn process (either via USB or sdcard) but I am not sure.

I have no idea about DDR.USB too!
Thank you @terry


#4

Yes, you are right. The DDR.USB is for usb burn tool and the aml_sdc_burn.UBOOT is for sdcard burn. :grinning: