Dtbtool
The dtbtool
is needed to combine multiple dtb
(device tree blob) files into one dt.img
file, that can then be attached to the end of the boot.img
for Android devices (postmarketos-mkinitfs
does that).
Do I need it?
You only need this tool if pmbootstrap bootimg_analyze
on a known working boot.img file for your device outputs:
deviceinfo_bootimg_qcdt="true"
Using an alternative version
There exist lots of versions of this dtbtool
. Most of our devices works with the (Python) version from Skales, which is properly versioned and maintained. However, it is incompatible with some (older?) kernels, where the dt.img
file was properly generated with code based on the original C version. So, at the time of writing four different dtbTools have been packaged and are available:
dtbTool
, Skales version mentioned beforedtbTool-exynos
, required for exynos devicesdtbTool-sprd
- Spreadtrum versionpxa1088-dtbTool
andpxa1908-dtbTool
, packaged intopxa-mkbootimg
and used by devices with Marvell PXA SoCs
If you would like to test if Skales' version produces the same output as the LineageOS version (which is what we had packaged before), download the files from here and place them in aports/main/dtbtool-lineage
. Build it with pmbootstrap build dtbtool-lineage
and depend on dtbtool-lineage
instead of dtbtool
in your kernel package, then change the dtbTool
line in your kernel APKBUILD to dtbTool-lineage
.