Files
avbroot/e2e/e2e.toml
T
Andrew Gunnerson 088db04673 ota: Reserve 16 bytes for OTA metadata property files
Our previous limit was 15 bytes for the <offset>:<size> placeholder,
matching AOSP's ota_utils.py. Since the size of metadata.pb is almost
always 4 digits, this leaves 10 digits for the offset, which isn't
enough for large OTAs. AOSP never actually hits the limit because it
puts metadata and metadata.pb at the beginning of the output zip file.
We put the files at the end of the zip since we do streaming writes.

Fixes: #451

Signed-off-by: Andrew Gunnerson <accounts+github@chiller3.com>
2025-05-31 10:16:45 -04:00

178 lines
5.1 KiB
TOML

# Metadata used when generating OTAs. These values don't affect behavior at all.
[ota_info]
# Make sure generated OTAs aren't flashable on real devices.
device = "avbroot_fake_device"
fingerprint = "avbroot/avbroot_fake_device:14/UQ1A.240101.000/12345678:user/release-keys"
build_number = "UQ1A.240101.000"
incremental_version = "12345678"
android_version = "14"
sdk_version = "34"
security_patch_level = "2024-01-01"
# Google Pixel 7 Pro
# What's unique: init_boot (boot v4) + vendor_boot (vendor v4)
[profile.pixel_v4_gki.vabc]
# CoW v3 is used starting with the Google Pixel 9a.
version = "V3"
algo = { kind = "Lz4" }
[profile.pixel_v4_gki.partitions.boot]
avb.signed = true
data.type = "boot"
data.version = "v4"
data.kernel = true
[profile.pixel_v4_gki.partitions.init_boot]
avb.signed = true
data.type = "boot"
data.version = "v4"
data.ramdisks = [["init", "first_stage"]]
[profile.pixel_v4_gki.partitions.system]
avb.signed = false
data.type = "dm_verity"
data.content = "system_otacerts"
[profile.pixel_v4_gki.partitions.vbmeta]
avb.signed = true
data.type = "vbmeta"
data.deps = ["boot", "init_boot", "vendor_boot", "vbmeta_system"]
[profile.pixel_v4_gki.partitions.vbmeta_system]
avb.signed = true
data.type = "vbmeta"
data.deps = ["system"]
[profile.pixel_v4_gki.partitions.vendor_boot]
avb.signed = false
data.type = "boot"
data.version = "vendor_v4"
data.ramdisks = [["otacerts", "first_stage", "dsu_key_dir"]]
[profile.pixel_v4_gki.hashes_streaming]
original = "55310b8b2fc95ed1ea0df3d4e742afb690f6cafeb8b528cd222e398f9a3b8d1a"
patched = "f666bf02a18f8395827502fa998b925387e204e776c93c01e786f286bdaafdd5"
[profile.pixel_v4_gki.hashes_seekable]
original = "b281face363cd0a0c82cef164e94c762b322a5eff715f00c9cd6a2dc74728acc"
patched = "8c98b5b296a84098beb5ef64a5afb166ab1ba99a0eb79a6dc2f273b505922c22"
# Google Pixel 6a
# What's unique: boot (boot v4, no ramdisk) + vendor_boot (vendor v4, 2 ramdisks)
[profile.pixel_v4_non_gki.vabc]
version = "V2"
algo = { kind = "Lz4" }
[profile.pixel_v4_non_gki.partitions.boot]
avb.signed = true
data.type = "boot"
data.version = "v4"
data.kernel = true
[profile.pixel_v4_non_gki.partitions.system]
avb.signed = false
data.type = "dm_verity"
data.content = "system_otacerts"
[profile.pixel_v4_non_gki.partitions.vbmeta]
avb.signed = true
data.type = "vbmeta"
data.deps = ["boot", "vendor_boot", "vbmeta_system"]
[profile.pixel_v4_non_gki.partitions.vbmeta_system]
avb.signed = true
data.type = "vbmeta"
data.deps = ["system"]
[profile.pixel_v4_non_gki.partitions.vendor_boot]
avb.signed = false
data.type = "boot"
data.version = "vendor_v4"
data.ramdisks = [["init", "otacerts", "first_stage", "dsu_key_dir"], ["dlkm"]]
[profile.pixel_v4_non_gki.hashes_streaming]
original = "c3762b138056b053632a10bd8da8dc40aa0b639200d0dba8d7184a88d54212d1"
patched = "fd9921db535c9a8bfaa218b5aabb465b0f0f8c81e45df6d9a5fb66d859f04028"
[profile.pixel_v4_non_gki.hashes_seekable]
original = "522e6de6eb90712dfa371302dd9358fa3ed67ea1683220c767f668f31362b0b0"
patched = "e722443735bd658a9c482a7a40a57712de25517e5298dd5beeb9d5cce9be0b30"
# Google Pixel 4a 5G
# What's unique: boot (boot v3) + vendor_boot (vendor v3)
[profile.pixel_v3.vabc]
version = "V2"
algo = { kind = "Gz" }
[profile.pixel_v3.partitions.boot]
avb.signed = true
data.type = "boot"
data.version = "v3"
data.kernel = true
data.ramdisks = [["init"]]
[profile.pixel_v3.partitions.system]
avb.signed = false
data.type = "dm_verity"
data.content = "system_otacerts"
[profile.pixel_v3.partitions.vbmeta]
avb.signed = true
data.type = "vbmeta"
data.deps = ["boot", "vendor_boot", "vbmeta_system"]
[profile.pixel_v3.partitions.vbmeta_system]
avb.signed = true
data.type = "vbmeta"
data.deps = ["system"]
[profile.pixel_v3.partitions.vendor_boot]
avb.signed = false
data.type = "boot"
data.version = "vendor_v3"
data.ramdisks = [["otacerts", "first_stage", "dsu_key_dir"]]
[profile.pixel_v3.hashes_streaming]
original = "154e20d00c73b15ffa7d350262d8124a0476d1643742c57a748029609c2a6a2a"
patched = "1aff6ceb3b07507b4d3d39d495d975b65498344f1a8d24434593ec284095c475"
[profile.pixel_v3.hashes_seekable]
original = "fb37620bec9e5e104f86ed398f7e08f6c2187173665eb336e4c7ae58e8b50b0e"
patched = "c85e4b9491b53c9e4cbdfb40ef06d5377fbe2b3587d5372b1e20159e65da31df"
# Google Pixel 4a
# What's unique: boot (boot v2)
[profile.pixel_v2.partitions.boot]
avb.signed = false
data.type = "boot"
data.version = "v2"
data.kernel = true
data.ramdisks = [["init", "otacerts", "first_stage", "dsu_key_dir"]]
[profile.pixel_v2.partitions.system]
avb.signed = false
data.type = "dm_verity"
data.content = "system_otacerts"
[profile.pixel_v2.partitions.vbmeta]
avb.signed = true
data.type = "vbmeta"
data.deps = ["boot", "vbmeta_system"]
[profile.pixel_v2.partitions.vbmeta_system]
avb.signed = true
data.type = "vbmeta"
data.deps = ["system"]
[profile.pixel_v2.hashes_streaming]
original = "3715823384e592f76e76f7177a11aec80b9fcb574d049d44efa2d7064c1f51aa"
patched = "b87d9d979beaae57bde2ad21cca612c7330549cfb62661d87a62d30c3ca6e0ba"
[profile.pixel_v2.hashes_seekable]
original = "5bd47981d15e5795d27f63eb083b5b0dc9c84542a4388cbfcb7f850e26c69f9f"
patched = "67d36e758366386038fb8440aceb689c317d59a565648020faa633734a7cda2e"