Extracting a Device Tree

Android implementations can include a Device Tree Blob (DTB) image for use by the bootloader. The location of the DTB image, and the options for specifying DTB image parameters, differ between Android releases.

In Android 9 and lower, for example, the DTB image can exist in its own partition, or be appended to the kernel image.gz to create the kernel + DTB image, which is then passed to mkbootimg to create a boot.img file.

For troubleshooting purposes, it might be required to extract a Device Tree Blob. This can be done in 2 different ways:

CoreELEC booted from external media

  • SSH into CoreELEC and type:
dd if=/dev/dtb | gzip > /storage/backup/dtb.img.gz

The dtb should reside in the CoreELEC backup folder.

NOTE: This also works for dual boot CoreELEC/Android installations.

Android booted from eMMC

  • open a Terminal to acces Android's built-in Linux command line shell and enter:
dd if=/dev/dtb | gzip > /storage/emulated/0/Download/dtb.img.gz

The dtb should reside in the Android download folder.

  • use a USB Flash Drive to transfer the file