You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
**Sample Workflow for Creation of FIT image for QLI based Boards**
429
+
430
+
UEFI firmware looks for the DTB image flashed in dtb_a partition via dtb.bin. If dtb.bin has "qclinux_fit.img", UEFI firmware proceeds with FIT based DT selection. If dtb.bin has "combined-dtb.dtb", it proceeds with legacy DT selection mechanism based on msm-id, board-id which are part of DT files itself.
431
+
432
+
For the FIT based DT selection, "qclinux_fit.img" contains qcom-fitimage.its along with all dtb/dtbo appended to it. The size and offset of each of the appended dtb/dtbo are part of generated FIT image.
433
+
434
+
For the Legacy DT selection, "combined-dtb.dtb" contains all dtb packed.
435
+
Script based creation of FIT image can be achieved using kmake-image/make_fitimage.sh at main · qualcomm-linux/kmake-image.
436
+
437
+
For the manual creation of FIT image, steps are given below.
# Copy the dtb/dtbo files from the kernel tree to the fit_image directory. For steps on cloning and building the Qualcomm Linux Kernel Tree, pls refer https://github.com/qualcomm-linux/kmake-image/blob/main/README.md.
447
+
# Checkout and build Qualcomm Linux Kernel : main branch, if you need dtb/dtbo from upstream kernel (https://github.com/qualcomm-linux/kernel/tree/main)
448
+
# Checkout and build Qualcomm Linux Kernel : qcom-next branch, if you need dtb/dtbo from qcom-next kernel (https://github.com/qualcomm-linux/kernel/tree/qcom-next).
449
+
mkdir -p fit_image/arch/arm64/boot/dts/qcom/
450
+
# Copy the compiled *dtb* files from the kernel's kobj directory into your fit_image directory
# Generate qclinux_fit.img from qcom-fitimage.its (or qcom-next-fitimage.its)
458
+
# Name of .img file has to be qclinux_fit.img since this name is hardcoded in UEFI code.
459
+
# Naming convention used in UEFI code:
460
+
#define FIT_BINARY_FILE L"\\qclinux_fit.img"
461
+
#define COMBINED_DTB_FILE L"\\combined-dtb.dtb"
462
+
#define SECONDARY_DTB_FILE L"\\secondary-dtb.dtb"
463
+
# "-E" flag places binary data outside the FIT structure. However, since /incbin/ is used in the .its file, all binaries are appended into the same image. The FIT structure contains the offset and size for each appended binary.
464
+
# "-B 8" flag enforces 8‑byte alignment for the image since 8-byte alignment is normally recommended as per standards.
0 commit comments