diff options
| author | Tom Rini <[email protected]> | 2023-04-05 10:40:05 -0400 |
|---|---|---|
| committer | Tom Rini <[email protected]> | 2023-04-05 10:40:05 -0400 |
| commit | 25eeda170c5e533ca0e3837c8b2d7404cdd749d1 (patch) | |
| tree | 3ed815ab6105a6655fe25c91dace40c47336f8c6 /doc | |
| parent | 698c2bd364ce4122a0d0db82b5a8d842186b2fa4 (diff) | |
| parent | f4449397551a82f0c1d9714d648f1efb90d56962 (diff) | |
Merge branch '2023-04-04-android-image-v3-v4-support'
To quote the author:
* 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/
Diffstat (limited to 'doc')
| -rw-r--r-- | doc/android/boot-image.rst | 13 |
1 files changed, 12 insertions, 1 deletions
diff --git a/doc/android/boot-image.rst b/doc/android/boot-image.rst index 71db02521b0..c719b4d711d 100644 --- a/doc/android/boot-image.rst +++ b/doc/android/boot-image.rst @@ -27,11 +27,21 @@ next image headers: * v2: used in devices launched with Android 10; adds ``dtb`` field, which references payload containing DTB blobs (either concatenated one after the other, or in Android DTBO image format) +* v3: used in devices launched with Android 11; adds ``vendor_boot`` partition + and removes the second-stage bootloader and recovery image support. The new + ``vendor_boot`` partition holds the device tree blob (DTB) and a vendor ramdisk. + The generic ramdisk in ``boot`` partition is loaded immediately following + the vendor ramdisk. +* v4: used in devices launched with Android 12; provides a boot signature in boot + image header, supports multiple vendor ramdisk fragments in ``vendor_boot`` + partition. This version also adds a bootconfig section at the end of the vendor + boot image, this section contains boot configuration parameters known at build time + (see [9]_ for details). v2, v1 and v0 formats are backward compatible. The Android Boot Image format is represented by -:c:type:`struct andr_img_hdr <andr_img_hdr>` in U-Boot, and can be seen in +:c:type:`struct andr_image_data <andr_image_data>` in U-Boot, and can be seen in ``include/android_image.h``. U-Boot supports booting Android Boot Image and also has associated command @@ -153,3 +163,4 @@ References .. [6] :doc:`avb2` .. [7] https://source.android.com/devices/bootloader .. [8] https://connect.linaro.org/resources/san19/san19-217/ +.. [9] https://source.android.com/docs/core/architecture/bootloader/implementing-bootconfig |
