
Hello everyone,
* This is based on Roman Stratiienko's work to support boot image header version 3 and 4.
* This supports the new boot image headers v3, v4 and bootconfig feature. https://source.android.com/docs/core/architecture/bootloader/boot-image-head... https://source.android.com/docs/core/architecture/bootloader/implementing-bo...
- Tested on Amlogic Khadas vim3l, a reference board for Android Open Source Project https://www.khadas.com/vim3l
And on AM625 Texas Instruments board with 5.10 linux kernel
Main changes : - New partition : vendor boot, with a specific vendor ramdisk - DTB is stored in the vendor boot partition - The generic ramdisk is placed after the vendor ramdisk - Bootconfig feature support
Here is a link to see the related android boot flow changes on KHADAS vim3l as an example: https://gitlab.baylibre.com/baylibre/amlogic/atv/u-boot/-/commits/souajih/Bo...
Changes in v3: - Ddd documentation for v3,v4 boot image header - Add mkbootimg tool to Dockerfile - Add full comments for functions/structs in include/image.h and include/android_image.h - Add map_sysmem() to make the boot work on Sandbox - Rename andr_vendor_img_hdr -> andr_vnd_boot_img_hdr
Changes in v2: - Rework parts of the code to fix the abootimg test: test_abootimg - Update test_abootimg to support boot image header v4 - Remove LIBXBC library, import and adapt the functions to support bootconfig feature - Rename the used structures : andr_boot_img_hdr_v0_v1_v2 -> andr_boot_img_hdr_v0 andr_boot_img_hdr_v3_v4 -> andr_boot_img_hdr_v3 andr_vendor_boot_img_hdr_v3_v4 -> andr_vendor_img_hdr
Safae Ouajih (19): android: boot: rename andr_img_hdr -> andr_boot_img_hdr_v0 android: boot: support vendor boot image in abootimg android: boot: replace android_image_check_header android: boot: add boot image header v3 and v4 structures android: boot: kcomp: support andr_image_data android: boot: move to andr_image_data structure android: boot: content print is not supported for v3,v4 header version android: boot: boot image header v3,v4 do not support recovery DTBO android: boot: add vendor boot image to prepare for v3,v4 support android: boot: update android_image_get_data to support v3,v4 android: boot: ramdisk: support vendor ramdisk android: boot: support extra command line android: boot: update android_image_get_dtb_img_addr to support v3,v4 drivers: fastboot: zImage flashing is not supported for v3,v4 android: boot: support boot image header version 3 and 4 android: boot: support bootconfig doc: android: add documentation for v3,v4 boot image header test/py: android: extend abootimg test Dockerfile: add mkbootimg tool
boot/bootm.c | 37 +- boot/image-android.c | 461 ++++++++++++++++---- boot/image-board.c | 19 +- boot/image-fdt.c | 5 +- cmd/abootimg.c | 75 +++- doc/android/boot-image.rst | 13 +- drivers/fastboot/fb_mmc.c | 19 +- include/android_image.h | 228 +++++++++- include/image.h | 173 +++++++- test/py/tests/test_android/test_abootimg.py | 136 +++++- tools/docker/Dockerfile | 4 + 11 files changed, 1009 insertions(+), 161 deletions(-)
-- 2.34.1