mirror of
https://github.com/chenxiaolong/avbroot.git
synced 2026-07-03 14:05:11 +02:00
088db04673
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>
178 lines
5.1 KiB
TOML
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"
|