[PATCH 00/17] Support android boot image v3/v4

Mattijs Korpershoek mkorpershoek at baylibre.com
Mon Nov 28 10:43:46 CET 2022


On Sat, Nov 26, 2022 at 17:59, Safae Ouajih <souajih at baylibre.com> wrote:

> 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-header
> https://source.android.com/docs/core/architecture/bootloader/implementing-bootconfig
>
> - 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/BootImagev4/

Tested the whole series on Khadas vim3l board with boot header v2.

Tested-by: Mattijs Korpershoek <mkorpershoek at baylibre.com>

>
> Safae Ouajih (17):
>   android: boot: rename andr_img_hdr -> andr_boot_img_hdr_v0_v1_v2
>   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: add documentation for boot image header v3/v4 structure
>   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
>   drivers: fastboot: zImage flashing is not supported for v3,v4
>   android: boot: support boot image header version 3 and 4
>   lib: support libxbc
>   android: boot: support bootconfig
>
>  boot/bootm.c              |  29 ++-
>  boot/image-android.c      | 367 ++++++++++++++++++++++++++++++--------
>  boot/image-board.c        |  15 +-
>  boot/image-fdt.c          |   5 +-
>  cmd/abootimg.c            |  66 ++++---
>  drivers/fastboot/fb_mmc.c |  19 +-
>  include/android_image.h   | 220 ++++++++++++++++++++++-
>  include/image.h           |  37 ++--
>  include/xbc.h             |   1 +
>  lib/Kconfig               |  12 ++
>  lib/Makefile              |   1 +
>  lib/libxbc/Makefile       |   1 +
>  lib/libxbc/libxbc.c       | 112 ++++++++++++
>  lib/libxbc/libxbc.h       |  54 ++++++
>  14 files changed, 806 insertions(+), 133 deletions(-)
>  create mode 100644 include/xbc.h
>  create mode 100644 lib/libxbc/Makefile
>  create mode 100644 lib/libxbc/libxbc.c
>  create mode 100644 lib/libxbc/libxbc.h
>
> --
> 2.25.1


More information about the U-Boot mailing list