platform_system_core/fs_mgr/libvbmeta
Kaiwen Szu 6dd098cb1e Construct the super_vbmeta image
This commit constructs the super_vbmeta image to eliminate the
need of adding /vbmeta_system and/or /vbmeta_vendor when AVB
chain partition is used with Android Dynamic Partition.

See BOARD_AVB_VBMETA_SYSTEM under the link:
https://android.googlesource.com/platform/external/avb/#build-system-integration

The structure of super_vbmeta :

|     VBMeta Table    | (fixed-length 2KiB)
| Backup VBMeta Table | (fixed-length 2KiB)
|     VBMeta Images   | (fixed-length 64KiB each)

The structure of VBMeta Table :

| Super VBMeta Header | (fixed-length 128B)
|  VBMeta Descriptors | (variable-length)

The VBMeta Table records the slot number of each
vbmeta image within the /super_vbmeta partition.

Bug: 137054296
Test: m libvbmeta_test
Test: ./out/host/linux-x86/nativetest/libvbmeta_test/libvbmeta_test
Change-Id: I01aeadd850750ae87d9125484c1b1f570bb84756
2019-09-19 12:05:09 +08:00
..
include/libvbmeta Construct the super_vbmeta image 2019-09-19 12:05:09 +08:00
Android.bp Construct the super_vbmeta image 2019-09-19 12:05:09 +08:00
builder.cpp Construct the super_vbmeta image 2019-09-19 12:05:09 +08:00
builder.h Construct the super_vbmeta image 2019-09-19 12:05:09 +08:00
builder_test.cpp Construct the super_vbmeta image 2019-09-19 12:05:09 +08:00
reader.cpp Construct the super_vbmeta image 2019-09-19 12:05:09 +08:00
reader.h Construct the super_vbmeta image 2019-09-19 12:05:09 +08:00
super_vbmeta_format.h Construct the super_vbmeta image 2019-09-19 12:05:09 +08:00
super_vbmeta_format_c.h Construct the super_vbmeta image 2019-09-19 12:05:09 +08:00
super_vbmeta_test.cpp Construct the super_vbmeta image 2019-09-19 12:05:09 +08:00
utility.cpp Construct the super_vbmeta image 2019-09-19 12:05:09 +08:00
utility.h Construct the super_vbmeta image 2019-09-19 12:05:09 +08:00
writer.cpp Construct the super_vbmeta image 2019-09-19 12:05:09 +08:00
writer.h Construct the super_vbmeta image 2019-09-19 12:05:09 +08:00