Merge changes Ibbed6cf9,I31b36b42 into main
* changes: ota_from_target_files: allow cow version override Add build configs for wearable tunables
This commit is contained in:
@@ -34,6 +34,21 @@ PRODUCT_VENDOR_PROPERTIES += ro.virtual_ab.userspace.snapshots.enabled=true
|
|||||||
PRODUCT_VENDOR_PROPERTIES += ro.virtual_ab.io_uring.enabled=true
|
PRODUCT_VENDOR_PROPERTIES += ro.virtual_ab.io_uring.enabled=true
|
||||||
PRODUCT_VENDOR_PROPERTIES += ro.virtual_ab.compression.xor.enabled=true
|
PRODUCT_VENDOR_PROPERTIES += ro.virtual_ab.compression.xor.enabled=true
|
||||||
PRODUCT_VENDOR_PROPERTIES += ro.virtual_ab.batch_writes=true
|
PRODUCT_VENDOR_PROPERTIES += ro.virtual_ab.batch_writes=true
|
||||||
|
# Low memory device configurations. If memory usage and cpu utilization is
|
||||||
|
# a bottleneck during OTA, the below configurations can be added to a
|
||||||
|
# device's .mk file improve performance for low mem devices. Disabling
|
||||||
|
# ro.virtual_ab.compression.xor.enabled and ro.virtual_ab.io_uring.enabled
|
||||||
|
# is also recommended
|
||||||
|
#
|
||||||
|
# PRODUCT_VENDOR_PROPERTIES += ro.virtual_ab.o_direct.enabled=true
|
||||||
|
# PRODUCT_VENDOR_PROPERTIES += ro.virtual_ab.merge_thread_priority=19
|
||||||
|
# PRODUCT_VENDOR_PROPERTIES += ro.virtual_ab.worker_thread_priority=0
|
||||||
|
# PRODUCT_VENDOR_PROPERTIES += ro.virtual_ab.num_worker_threads=3
|
||||||
|
# PRODUCT_VENDOR_PROPERTIES += ro.virtual_ab.num_merge_threads=1
|
||||||
|
# PRODUCT_VENDOR_PROPERTIES += ro.virtual_ab.num_verify_threads=1
|
||||||
|
# PRODUCT_VENDOR_PROPERTIES += ro.virtual_ab.cow_op_merge_size=16
|
||||||
|
# PRODUCT_VENDOR_PROPERTIES += ro.virtual_ab.verify_threshold_size=1073741824
|
||||||
|
# PRODUCT_VENDOR_PROPERTIES += ro.virtual_ab.verify_block_size=1048576
|
||||||
|
|
||||||
# Enabling this property, will improve OTA install time
|
# Enabling this property, will improve OTA install time
|
||||||
# but will use an additional CPU core
|
# but will use an additional CPU core
|
||||||
|
@@ -914,12 +914,13 @@ def GenerateAbOtaPackage(target_file, output_file, source_file=None):
|
|||||||
# and install time performance. All OTA's with
|
# and install time performance. All OTA's with
|
||||||
# both the source build and target build with VIRTUAL_AB_COW_VERSION = 3
|
# both the source build and target build with VIRTUAL_AB_COW_VERSION = 3
|
||||||
# can support the new format. Otherwise, fallback on older versions
|
# can support the new format. Otherwise, fallback on older versions
|
||||||
if not source_info.vabc_cow_version or not target_info.vabc_cow_version:
|
if not OPTIONS.vabc_cow_version:
|
||||||
logger.info("Source or Target doesn't have VABC_COW_VERSION specified, default to version 2")
|
if not source_info.vabc_cow_version or not target_info.vabc_cow_version:
|
||||||
OPTIONS.vabc_cow_version = 2
|
logger.info("Source or Target doesn't have VABC_COW_VERSION specified, default to version 2")
|
||||||
elif source_info.vabc_cow_version != target_info.vabc_cow_version:
|
OPTIONS.vabc_cow_version = 2
|
||||||
logger.info("Source and Target have different cow VABC_COW_VERSION specified, default to minimum version")
|
elif source_info.vabc_cow_version != target_info.vabc_cow_version:
|
||||||
OPTIONS.vabc_cow_version = min(source_info.vabc_cow_version, target_info.vabc_cow_version)
|
logger.info("Source and Target have different cow VABC_COW_VERSION specified, default to minimum version")
|
||||||
|
OPTIONS.vabc_cow_version = min(source_info.vabc_cow_version, target_info.vabc_cow_version)
|
||||||
|
|
||||||
# Virtual AB Compression was introduced in Androd S.
|
# Virtual AB Compression was introduced in Androd S.
|
||||||
# Later, we backported VABC to Android R. But verity support was not
|
# Later, we backported VABC to Android R. But verity support was not
|
||||||
@@ -933,19 +934,20 @@ def GenerateAbOtaPackage(target_file, output_file, source_file=None):
|
|||||||
assert "ab_partitions" in OPTIONS.info_dict, \
|
assert "ab_partitions" in OPTIONS.info_dict, \
|
||||||
"META/ab_partitions.txt is required for ab_update."
|
"META/ab_partitions.txt is required for ab_update."
|
||||||
source_info = None
|
source_info = None
|
||||||
if not target_info.vabc_cow_version:
|
if not OPTIONS.vabc_cow_version:
|
||||||
|
if not target_info.vabc_cow_version:
|
||||||
|
OPTIONS.vabc_cow_version = 2
|
||||||
|
elif target_info.vabc_cow_version >= "3" and target_info.vendor_api_level < 35:
|
||||||
|
logger.warning(
|
||||||
|
"This full OTA is configured to use VABC cow version"
|
||||||
|
" 3 which is supported since"
|
||||||
|
" Android API level 35, but device is "
|
||||||
|
"launched with {} . If this full OTA is"
|
||||||
|
" served to a device running old build, OTA might fail due to "
|
||||||
|
"unsupported vabc cow version. For safety, version 2 is used because "
|
||||||
|
"it's supported since day 1.".format(
|
||||||
|
target_info.vendor_api_level))
|
||||||
OPTIONS.vabc_cow_version = 2
|
OPTIONS.vabc_cow_version = 2
|
||||||
elif target_info.vabc_cow_version >= "3" and target_info.vendor_api_level < 35:
|
|
||||||
logger.warning(
|
|
||||||
"This full OTA is configured to use VABC cow version"
|
|
||||||
" 3 which is supported since"
|
|
||||||
" Android API level 35, but device is "
|
|
||||||
"launched with {} . If this full OTA is"
|
|
||||||
" served to a device running old build, OTA might fail due to "
|
|
||||||
"unsupported vabc cow version. For safety, version 2 is used because "
|
|
||||||
"it's supported since day 1.".format(
|
|
||||||
target_info.vendor_api_level))
|
|
||||||
OPTIONS.vabc_cow_version = 2
|
|
||||||
if OPTIONS.vabc_compression_param is None and vabc_compression_param:
|
if OPTIONS.vabc_compression_param is None and vabc_compression_param:
|
||||||
minimum_api_level_required = VABC_COMPRESSION_PARAM_SUPPORT[
|
minimum_api_level_required = VABC_COMPRESSION_PARAM_SUPPORT[
|
||||||
vabc_compression_param]
|
vabc_compression_param]
|
||||||
|
Reference in New Issue
Block a user