mirror of
https://github.com/chenxiaolong/avbroot.git
synced 2026-07-03 14:05:11 +02:00
59ca759262
Older devices, like the Pixel 4a 5G (bramble) use gzip instead of lz4. This commit also reworks the CoW size estimate calculation to add the same constant headroom that AOSP's delta_generator adds. Previously, avbroot was already adding an additional 1% to account for differences in compression ratios across compression library implementations. This papered over the issue for large partitions, but small partitions could still have a CoW size estimate that's too small. Adding the constant headroom prevents ENOSPC when flashing those partitions. Fixes: #332 Signed-off-by: Andrew Gunnerson <accounts+github@chiller3.com>
161 lines
4.2 KiB
TOML
161 lines
4.2 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_algo = "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]
|
|
original = "c00f891f941f3dddb28966f7b07f3acea773bee104dace82b37c2d1341f09422"
|
|
patched = "ce9d8ee97828d233809742a5d3f23aa27b042675b1935ca9e3df0592c55788fd"
|
|
|
|
# Google Pixel 6a
|
|
# What's unique: boot (boot v4, no ramdisk) + vendor_boot (vendor v4, 2 ramdisks)
|
|
|
|
[profile.pixel_v4_non_gki]
|
|
vabc_algo = "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]
|
|
original = "4d692bc777b568b0626d3c08d2e6f83f1b472db5ad903486daaec6a78d0cc26e"
|
|
patched = "e27673e4f30933710c11d51f0e73849068cbe9bc9f54e6076bdd93f9a5c8ea0a"
|
|
|
|
# Google Pixel 4a 5G
|
|
# What's unique: boot (boot v3) + vendor_boot (vendor v3)
|
|
|
|
[profile.pixel_v3]
|
|
vabc_algo = "Lz4"
|
|
|
|
[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]
|
|
original = "f432dc7931520feb238474aa707dd5299747562ffe6129f3f763b5f11ac473ab"
|
|
patched = "3850a2e73bd783a1ec4a70c59f37d2374e017c20df7ab4b591182b14d187c18e"
|
|
|
|
# Google Pixel 4a
|
|
# What's unique: boot (boot v2)
|
|
|
|
[profile.pixel_v2]
|
|
vabc_algo = "Gzip"
|
|
|
|
[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]
|
|
original = "1b45235b58054009cc496f6c3ee11d3dc16ed5c388c861761e26a6fce83103a0"
|
|
patched = "193b2dc70dd465d686f35c7b7f74d2cc1b06a55e48cf5c2e4df0f667e03032fc"
|