0%

AB调试笔记

AB调试笔记

基于androidP base.

相关文档

官方文档

AB官方文档

在启用了 A/B 的设备上,可以在后台对应用进行编译,以更新到新的系统映像。如需在系统映像中选择性地加入编译脚本和二进制文件,请参阅在后台编译应用。

preopt相关

AB 系统更新概括

AB配置https://source.android.com/devices/tech/ota/ab_implement.html)

第三方文档

Android A/B System OTA分析(一)概览

Android A/B System OTA分析(二)系统image的生成

Android A/B System OTA分析(三)主系统和bootloader的通信

Android A/B System OTA分析(四)系统的启动和升级

启用IBootControl服务(hidl相关配置)相关文档

hidl配置简介https://blog.csdn.net/guyongqiangx/article/details/72604355)

之前的项目文档

A/B系统升级功能点

A/B 系统升级(双分区系统升级)

Android One A/B OTA Updater

配置相关

设置编译变量

支持 A/B 更新的引导加载程序必须满足以下编译变量条件:

必须针对 A/B 更新目标定义的变量

  • AB_OTA_UPDATER := true
  • AB_OTA_PARTITIONS :=
    boot
    system
    vendor
  • 以及通过 update_engine 更新的其他分区(无线装置、引导加载程序等)。
  • BOARD_BUILD_SYSTEM_ROOT_IMAGE := true
  • TARGET_NO_RECOVERY := true
  • BOARD_USES_RECOVERY_AS_BOOT := true
  • PRODUCT_PACKAGES +=
    update_engine
    update_verifier
  • 要查看示例,请参阅 /device/google/marlin/+/android-7.1.0_r1/device-common.mk。 您可以选择执行编译中所述的安装后(但在重新启动前)dex2oat 步骤.

无法针对 A/B 目标定义的变量:

  • BOARD_RECOVERYIMAGE_PARTITION_SIZE
  • BOARD_CACHEIMAGE_PARTITION_SIZE
  • BOARD_CACHEIMAGE_FILE_SYSTEM_TYPE

可选 针对调试版本定义的变量

PRODUCT_PACKAGES_DEBUG += update_engine_client

(节选) 非GMS版本需要客户端

  • GmsCore 起到什么作用?
    在 Google 的 A/B 实现中,平台 API 和 update_engine 负责提供机制,而 GmsCore 则负责提供政策。也就是说,平台知道如何应用 A/B 更新,并且所有相应代码都位于 AOSP 中(如上所述),而 GmsCore 则负责确定应用哪些内容以及何时应用。
    如果不使用 GmsCore,则可以使用相同的平台 API 编写自己的替代项。用于控制 update_engine 的平台. Java API 是 android.os.UpdateEngine:frameworks/base/core/java/android/os/UpdateEngine.java。调用程序可以提供 UpdateEngineCallback,以便接收有关状态更新的通知:frameworks/base/+/master/core/java/android/os/UpdateEngineCallback.java。请参阅核心类的参考文件,了解如何使用相应接口。

空间对比

abl_b 2048
aop_b 512
bluetooth_b 1024
boot_b 131072
cmnlib64_b 1024
cmnlib_b 1024
devcfg_b 256
dsp_b 65536
dtbo_b 32768
hyp_b 8192
ifaa_b 65536
imagefv_b 2048
keymaster_b 1024
modem_b 327680
multiimgoem_b 32
qupfw_b 128
system_b 3670016
tz_b 4096
uefisecapp_b 2048
vbmeta_b 128
vendor_b 2097152
xbl_b 7168
xbl_config_b 512
total 6270.53125

升级包相关

升级包结构

1
2
3
4
5
6
7
8
9
10
11
12
13
├── care_map.txt
├── compatibility.zip
├── META-INF
│ ├── CERT.RSA
│ ├── CERT.SF
│ ├── com
│ │ └── android
│ │ ├── metadata
│ │ └── otacert
│ └── MANIFEST.MF
├── payload.bin
└── payload_properties.txt

主要文件全在payload.bin中, 没有升级脚本

metadata文件:

1
2
3
4
5
6
7
8
9
10
ota-property-files=payload_metadata.bin:9649:149799,payload.bin:9649:1153246262,payload_properties.txt:1153255969:156,care_map.txt:752:239,compatibility.zip:1044:8558,metadata:69:635
ota-required-cache=0
ota-streaming-property-files=payload.bin:9649:1153246262,payload_properties.txt:1153255969:156,care_map.txt:752:239,compatibility.zip:1044:8558,metadata:69:635
ota-type=AB
post-build=xiaomi/jasmine/jasmine_sprout:9/PKQ1.180904.001/9.7.23:user/release-keys
post-build-incremental=9.7.23
post-sdk-level=28
post-security-patch-level=2019-08-05
post-timestamp=1563835614
pre-device=jasmine_sprout
  • 生成完整OTA
    1
    2
    ./build/tools/releasetools/ota_from_target_files \
    dist_output/tardis-target_files.zip ota_update.zip
    -生成增量 OTA
    1
    2
    3
    ./build/tools/releasetools/ota_from_target_files \
    -i PREVIOUS-tardis-target_files.zip \
    dist_output/tardis-target_files.zip incremental_ota_update.zip

开机服务启动代码分析

update_verifier

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
vendor/etc/init/hw/init.target.rc
on fs
mount_all /vendor/etc/fstab.qcom

do_mount_all
mount_fstab_return_code = mount_fstab(fstabfile, mount_mode);
/* queue_fs_event will queue event based on mount_fstab return code
* and return processed return code*/
auto queue_fs_result = queue_fs_event(*mount_fstab_return_code);

else if (code == FS_MGR_MNTALL_DEV_MIGHT_BE_ENCRYPTED) {
property_set("ro.crypto.state", "encrypted");
property_set("ro.crypto.type", "block");
ActionManager::GetInstance().QueueEventTrigger("defaultcrypto");
return Success();
}

on defaultcrypto
exec - root -- /system/bin/vdc --wait cryptfs mountdefaultencrypted
# vold will set vold.decrypt to trigger_restart_framework (default
# encryption) or trigger_restart_min_framework (other encryption)

trigger_restart_min_framework

on property:vold.decrypt=trigger_post_fs_data
trigger post-fs-data
trigger zygote-start

on zygote-start && property:ro.crypto.state=encrypted && property:ro.crypto.type=file
# A/B update verifier that marks a successful boot.
exec_start update_verifier_nonencrypted
start netd
start zygote
start zygote_secondary

service update_verifier_nonencrypted /system/bin/update_verifier nonencrypted

AB 升级过程调试

先制作ota升级包 make otapackage -j4
制作完成的升级包, 解压出payload.bin和payload_properties.txt
将升级包push到手机中, 执行命令:

1
2
3
4
5
6
7
8
9
update_engine_client \
--payload=file://stroage/emulated/0/payload.bin \
--update \
--headers="\
FILE_HASH=kIOSRpbVFbtwlQcrTILsXvoY9kibUtgD44jsw2Xt/sU= \
FILE_SIZE=1387785336 \
METADATA_HASH=K+wAnG6HAjz8ogpJ6pYjyIUtS52evVp59Bwsiw5taHI= \
METADATA_SIZE=104537 \
"

logcat抓取update_engine的log, 发现报错:

1
2
3
4
5
07-24 09:56:00.325  1045  1045 I update_engine: [0724/095600.325928:INFO:delta_performer.cc(1549)] Verifying payload using public key: /etc/update_engine/update-payload-key.pub.pem
07-24 09:56:00.326 1045 1045 E update_engine: [0724/095600.325993:ERROR:delta_performer.cc(1563)] VerifyPayload failure: payload_hash_calculator_.raw_hash() == update_check_response_hash
07-24 09:56:00.326 1045 1045 E update_engine: [0724/095600.326097:ERROR:download_action.cc(397)] Download of file://stroage/emulated/0/draco-ota-eng.mi.zip failed due to payload verification error.
07-24 09:56:00.326 1045 1045 I update_engine: [0724/095600.326166:INFO:action_processor.cc(116)] ActionProcessor: finished DownloadAction with code ErrorCode::kPayloadHashMismatchError
07-24 09:56:00.326 1045 1045 I update_engine: [0724/095600.326233:INFO:action_processor.cc(121)] ActionProcessor: Aborting processing due to failure.

加log调试update_engine

1
2
3
4
adb root;adb disable-verity;adb reboot;adb root;adb remount;
adb push system/bin/update_engine /system/bin/
adb shell;
stop update_engine; start update_engine;

发现该处log比较奇怪:

1
07-23 16:59:54.693  5879  5879 I update_engine: [0723/165954.693766:INFO:install_plan.cc(83)] InstallPlan: new_update, version: , source_slot: A, target_slot: B, url: file://stroage/emulated/0/payload.bin, payload: (size: 0, metadata_size: 0, metadata signature: , hash: , payload type: unknown), hash_checks_mandatory: true, powerwash_required: false, switch_slot_on_reboot: true, run_post_install: true

dump的地方在update_attempter_android.cc文件中install_plan_.Dump();

最后调试下来发现是参数格式不对, 正确的应该这样写:

1
2
3
4
5
6
7
8
9
update_engine_client \
--payload=http://192.168.31.83:8000/payload.bin \
--update \
--headers="\
FILE_HASH=HCN+qKtmcVpsRotGQCsi91Om+MqSg3NHQYJwn2yULVg=
FILE_SIZE=2693182661
METADATA_HASH=CUDPVlE0kWBn6+Ryaxta8lwvi03G4G9XK1vhRGPcm6U=
METADATA_SIZE=165572
"

注意换行符的写入方式

在上面的尝试后, 发现本地地址不能解析
需要在本地电脑上架设小型服务器,

1
2
3
#在升级包路径下执行
python -mSimpleHTTPServer
python -m http.server #python3

传入的参数为:

1
--payload=http://192.168.31.83:8000/payload.bin
1
2
3
4
5
6
7
8
9
update_engine_client \
--payload=http://127.0.0.1/storage/emulated/0/payload.bin \
--update \
--headers="\
FILE_HASH=kIOSRpbVFbtwlQcrTILsXvoY9kibUtgD44jsw2Xt/sU=
FILE_SIZE=1387785336
METADATA_HASH=K+wAnG6HAjz8ogpJ6pYjyIUtS52evVp59Bwsiw5taHI=
METADATA_SIZE=104537
"

最后发现本地地址也是可以解析的, 只是路径名要写对:

1
--payload=file:///storage/emulated/0/payload.bin

注意file:后面三个’/‘, 前两个是file的scheme, 后一个代表的是手机的根路径

1
2
3
4
5
6
7
8
9
update_engine_client \
--payload=file:///data/media/0/payload.bin \
--update \
--headers="\
FILE_HASH=sMDMFWlA/r/RvD2xmbhT10ujGbd3ZDgbIoFsguZgFk0=
FILE_SIZE=2706624429
METADATA_HASH=5pBczs+nemH35uaJ6dyKEM14jLXG6yHLRHW2SA7E548=
METADATA_SIZE=165921
"
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
update_engine_client \
--payload=file:///data/media/0/miui_VENUS_20.8.19_d6f849fa6a_11.0.zip \
--update \
--offset=1146 \
--size=2758439770 \
--headers="\
FILE_HASH=rr3A+HtaJvZR9t6fy+Jb1+H/IkbeOWKHifx27a9ZQFU=
FILE_SIZE=2758439770
METADATA_HASH=eEzs5b5edkpltbmQdROP/k4t1UxfC/9XwRVIXZWvnmU=
METADATA_SIZE=165216
"



update_engine_client \
--payload=file:///sdcard/miui_VENUS_20.8.19_d6f849fa6a_11.0.zip \
--offset=1187 \
--update \
--headers="\
FILE_HASH=rr3A+HtaJvZR9t6fy+Jb1+H/IkbeOWKHifx27a9ZQFU=
FILE_SIZE=2758439770
METADATA_HASH=eEzs5b5edkpltbmQdROP/k4t1UxfC/9XwRVIXZWvnmU=
METADATA_SIZE=165216
"

update_engine_client \
--payload=file:///data/ota_package/payload.bin \
--update \
--headers="\
FILE_HASH=yU0BoWvLqOvJk19Qpmf4bHSUwaT0Ly3aNTlAlPTpNOo=
FILE_SIZE=2692532199
METADATA_HASH=XNNFmxx7ltGXUNshJa/sW7ulxs7aEiOMZxHwgZIcIo4=
METADATA_SIZE=165572
"

update_engine_client \
--payload=file:///mnt/androidwritable/0/emulated/0/Download/payload.bin \
--update \
--headers="\
FILE_HASH=yU0BoWvLqOvJk19Qpmf4bHSUwaT0Ly3aNTlAlPTpNOo=
FILE_SIZE=2692532199
METADATA_HASH=XNNFmxx7ltGXUNshJa/sW7ulxs7aEiOMZxHwgZIcIo4=
METADATA_SIZE=165572
"

update_engine_client \
--payload=file:///storage/emulated/0/payload.bin \
--update \
--headers="\
FILE_HASH=yU0BoWvLqOvJk19Qpmf4bHSUwaT0Ly3aNTlAlPTpNOo=
FILE_SIZE=2692532199
METADATA_HASH=XNNFmxx7ltGXUNshJa/sW7ulxs7aEiOMZxHwgZIcIo4=
METADATA_SIZE=165572
"

update_engine_client \
--payload=file:///data/ota_package/miui-ota-venus-20.9.1.root-20.9.2.root-a6a89c0203-11.0.zip \
--update \
--offset=1414 \
--headers="\
FILE_HASH=k6xH0maRm8TA3oiSUW3XaaVK7O1OXmVHuKl36ktTGYQ=
FILE_SIZE=76627669
METADATA_HASH=PsdtZ4XoOm6uBdfC9yS6PAPJ1LqPAu0dH/FMtoZcXGo=
METADATA_SIZE=449549
"
update_engine_client \
--payload=file:///data/ota_package/payload.bin \
--update \
--headers="\
FILE_HASH=6Rp2NEldT3Hsvo3amsrFM3cVypJW+3Zz9mSjLRpoQ68=
FILE_SIZE=76627710
METADATA_HASH=/Ilv5kgPOpsDwdtG8TUBCt08LFndNHHy/UXQMmsp3Hk=
METADATA_SIZE=450810
"

update_engine_client \
--payload=file:///data/ota_package/payload.bin \
--update \
--headers="\
FILE_HASH=fhPRX5CaUAmedhRy1E8Ee9lAib+pb9uMd1cb+fzx638=
FILE_SIZE=181915047
METADATA_HASH=tUuwjykp1KDc2C1ME+YOZn9tOnHhDzP2ukNFqKVf/tQ=
METADATA_SIZE=607150
"
openssl pkcs8 -in build/make/target/product/security/testkey.pk8 -inform DER -nocrypt > test/private_key
sha256sum header.bin | xxd -r -p | tee sha256.file
dd if=sha256.file of=sha256_32.bin bs=1 count=32
openssl pkeyutl -sign -inkey private_key -pkeyopt digest:sha256 -in sha256_32.bin -out header_sign.bin

ota_from_target_files.py cmd: -i /tmp/tmp.miui.target_files_package.ota.l4f/new-incremental-target-files.zip /tmp/tmp.miui.target_files_package.ota.l4f/new-target-files.zip /home/work/venus-r-dev-temp/20.9.9/root/ota_diff/ota-venus-20.9.6.root-20.9.9.root.zip
build/tools/releasetools/ota_from_target_files -i /tmp/tmp.miui.target_files_package.ota.l4f/new-incremental-target-files.zip /tmp/tmp.miui.target_files_package.ota.l4f/new-target-files.zip /home/work/venus-r-dev-temp/20.9.9/root/ota_diff/ota-venus-20.9.6.root-20.9.9.root.zip


build/tools/releasetools/ota_from_target_files -i /tmp/tmp.miui.target_files_package.ota.l4f/new-target-files.zip /home/work/venus-r-dev-temp/20.9.9/root/ota_diff/ota-venus-20.9.6.root-20.9.9.root.zip


CMD: build/tools/releasetools/ota_from_target_files --block --payload_signer /home/builder/ota-tools/build/payload_signer.sh -i /tmp/tmp.miui.target_files_package.ota.Ds0/new-incremental-target-files.zip /tmp/tmp.miui.target_files_package.ota.Ds0/new-target-files.zip /home/work/venus-r-dev-temp/20.9.9/normal/ota_diff/blockota-venus-20.9.6-20.9.9.zip

算hash值的方法

1
sha256sum -t  signed_venus-target_files-20.9.1.root-11.0/RADIO/abl.elf | xxd -r -p | base64

添加firmware分区

先看下target_files依赖的RADIO文件:

1
2
3
4
TARGET_RADIO_FILES := xbl.elf xbl_config.elf imagefv.elf tz.mbn \
devcfg.mbn storsec.mbn km4.mbn cmnlib.mbn \
cmnlib64.mbn uefi_sec.mbn aop.mbn NON-HLOS.bin BTFM.bin dspso.bin \
qupv3fw.elf multi_image.mbn hyp.mbn hypvm.mbn

看下非AB升级的升级脚本:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
package_extract_file("firmware-update/cmnlib64.mbn", "/dev/block/bootdevice/by-name/cmnlib64");
package_extract_file("firmware-update/NON-HLOS.bin", "/dev/block/bootdevice/by-name/modem");
package_extract_file("firmware-update/cmnlib.mbn", "/dev/block/bootdevice/by-name/cmnlib");
package_extract_file("firmware-update/BTFM.bin", "/dev/block/bootdevice/by-name/bluetooth");
package_extract_file("firmware-update/km4.mbn", "/dev/block/bootdevice/by-name/keymaster");
package_extract_file("firmware-update/hypvm.mbn", "/dev/block/bootdevice/by-name/hypbak");
package_extract_file("firmware-update/tz.mbn", "/dev/block/bootdevice/by-name/tz");
package_extract_file("firmware-update/aop.mbn", "/dev/block/bootdevice/by-name/aop");
package_extract_file("firmware-update/xbl_config.elf", "/dev/block/bootdevice/by-name/xbl_config");
package_extract_file("firmware-update/storsec.mbn", "/dev/block/bootdevice/by-name/storsec");
package_extract_file("firmware-update/uefi_sec.mbn", "/dev/block/bootdevice/by-name/uefisecapp");
package_extract_file("firmware-update/imagefv.elf", "/dev/block/bootdevice/by-name/imagefv");
package_extract_file("firmware-update/qupv3fw.elf", "/dev/block/bootdevice/by-name/qupfw");
package_extract_file("firmware-update/abl.elf", "/dev/block/bootdevice/by-name/abl");
package_extract_file("firmware-update/dspso.bin", "/dev/block/bootdevice/by-name/dsp");
package_extract_file("firmware-update/devcfg.mbn", "/dev/block/bootdevice/by-name/devcfg");
package_extract_file("firmware-update/xbl.elf", "/dev/block/bootdevice/by-name/xbl");
package_extract_file("firmware-update/hyp.mbn", "/dev/block/bootdevice/by-name/hyp");
package_extract_file("firmware-update/vbmeta.img", "/dev/block/bootdevice/by-name/vbmeta");
#package_extract_file("firmware-update/logo.img", "/dev/block/bootdevice/by-name/logo");
package_extract_file("firmware-update/ifaa.img", "/dev/block/bootdevice/by-name/ifaa");
package_extract_file("firmware-update/dtbo.img", "/dev/block/bootdevice/by-name/dtbo");

上面的分区和有b分区的比下来, 除了logo, 其他的都要升级, 注意跟多出来的b分区的对比, 少了一个分区是multiimgoem, 对应的镜像multi_image.mbn

原生打包的方式

先看下AB_OTA_PARTITIONS的作用范围
META/ab_partitions.txt
现有逻辑是查device/board下定义的AB_OTA_PARTITIONS, 将扫到的分区写到target-files的这个文件中
/system/update_engine/scripts/brillo_update_payload的generate生成对应的payload.bin
该文件为shell脚本, 编译时会被拷贝到/out/host/linux-x86/bin下面
原生方式只识别后缀名为.img的镜像文件, 在add_img_to_target_files制作target-files时, 会将RADIO目录下的后缀为.img的镜像文件拷贝到IMAGES下.
brillo_update_payload脚本根据IMAGES下的镜像文件和ab_partitions.txt文件中的升级分区生成对应的升级包

firmware的相关修改

将firmware加到升级序列时, 有下面几个问题要解决

a. firmware的大部分镜像都不是img后缀结尾的

b. 需要按board按需添加对应的firmware, 最好不要写死

c. firmware的镜像放在RADIO而非IMAGES下, 这点有正式签名的考虑.(正式包会在Makefile执行完成后, 对做出的target-files下的IMAGES目录下的文件进行删除, 重新生成并签上正式签名), 因此不宜将firmware的镜像仿照原生逻辑直接拷贝到IMAGES

d. firmware的镜像大部分跟其对应的分区名称名字不是对应的.

综上几点, 考虑的修改方式为:

  1. 复用Board下的filesmap文件, 该文件定义了firmware镜像跟分区名称的对应规则, 该文件已经被打包到target-files下的RADIO目录下
  2. ab_partitions的firmware的添加规则和原生的区分, 原生的是在宏AB_OTA_PARTITIONS下添加的, firmware的加入时机直接在add_img_to_target_files中对AB的操作时触发. 因RADIO目录下的文件已经是按board需要添加的, 可以直接扫描RADIO目录的文件, 且与filesmap文件中对应的即为所要升级的分区. (主要排除掉没有b slot的分区), 追加到META/ab_partitions.txt文件中.
  3. 由于上面的d项, 分区名跟镜像名不对应, 这里复用filesmap文件, 添加分区名跟镜像名的映射map, 写入到META/ab_partitions_map.txt文件中
  4. brillo_update_payload脚本中修改, 将只从IMAGES中和分区名和镜像名严格匹配的规则修改, 变更为除去IMAGES中已知的分区, 其他按照META/ab_partitions_map.txt的对应规则从RADIO目录取镜像文件.

相关修改:

http://gerritlvs.pt.miui.com/#/c/656495/

http://gerritlvs.pt.miui.com/#/c/656506/

升级完成与切换slot

查看主系统中是否已经升级完了对应的slot

1
`#升级plan``07-26 13``:``17``:``36.537  1120  1120 I update_engine``:` `[``0726/131736``.537426:``INFO``:``install_plan.cc(83)``]` `InstallPlan``:` `new_update``,` `version``:` `,` `source_slot``:` `A``,` `target_slot``:` `B``,` `url``:` `file``:``///storage/emulated/0/payload.bin``,` `payload``:` `(size``:` `2004454082``,` `metadata_size``:` `174654``,` `metadata signature``:` `,` `hash``:` `7FE331728BDC1F3ADB6CD99DB86E9B9C49613464A0B4CEDB996B2035AF58BC82``,` `payload type``:` `unknown)``,` `hash_checks_mandatory``:` `false``,` `powerwash_required``:` `false``,` `switch_slot_on_reboot``:` `true``,` `run_post_install``:` `true``#升级顺序及hash值``07-26 13``:``17``:``36.808  1120  1120 I update_engine``:` `[``0726/131736``.808861:``INFO``:``delta_performer.cc(400)``]` `PartitionInfo new boot sha256``:` `BaT0kJm5qUoDs+ZFvbl7PsbYrJdVLEJ4AO9yRubxVxA= size``:` `134217728``07-26 13``:``17``:``36.809  1120  1120 I update_engine``:` `[``0726/131736``.809403:``INFO``:``delta_performer.cc(400)``]` `PartitionInfo new system sha256``:` `8iUdw5zmngS2Z19bJdjhyoinOuPf+jktNpsybrg+/As= size``:` `3758096384``07-26 13``:``17``:``36.809  1120  1120 I update_engine``:` `[``0726/131736``.809555:``INFO``:``delta_performer.cc(400)``]` `PartitionInfo new vendor sha256``:` `yoK6GkBeRI140U9nC5PeOcoTIKvX9PytKJveI9W0NZI= size``:` `2134900736``07-26 13``:``17``:``36.809  1120  1120 I update_engine``:` `[``0726/131736``.809695:``INFO``:``delta_performer.cc(400)``]` `PartitionInfo new cmnlib sha256``:` `L8grDzXzgCj2jmkywxgvC6WOESQbzcQWzC2XKDuAXCk= size``:` `393216``07-26 13``:``17``:``36.809  1120  1120 I update_engine``:` `[``0726/131736``.809828:``INFO``:``delta_performer.cc(400)``]` `PartitionInfo new cmnlib64 sha256``:` `2kJkRo4mMiPlSXilsbdN8jrDnWHVpy0n+C72qnjxUXI= size``:` `512000``07-26 13``:``17``:``36.809  1120  1120 I update_engine``:` `[``0726/131736``.809953:``INFO``:``delta_performer.cc(400)``]` `PartitionInfo new xbl sha256``:` `0knDpqu+RIZDIFVQ+UfvIHdXd8itYU7kBZQjyFv3MSk= size``:` `3313664``07-26 13``:``17``:``36.810  1120  1120 I update_engine``:` `[``0726/131736``.810078:``INFO``:``delta_performer.cc(400)``]` `PartitionInfo new tz sha256``:` `qJjCTAzUUP4QDtP5JpEIgyiucu2csyDMMqm3Sw82IJ4= size``:` `3149824``07-26 13``:``17``:``36.810  1120  1120 I update_engine``:` `[``0726/131736``.810200:``INFO``:``delta_performer.cc(400)``]` `PartitionInfo new ifaa sha256``:` `jndrE4DvyUkcFkSlgGcdzT31y61NFbs0bK62w7RxZmc= size``:` `67108864``07-26 13``:``17``:``36.810  1120  1120 I update_engine``:` `[``0726/131736``.810332:``INFO``:``delta_performer.cc(400)``]` `PartitionInfo new xbl_config sha256``:` `EuJt+caPn+p1pYml7BiLHwWS5qOHdsE9XWdDMTgYDn8= size``:` `126976``07-26 13``:``17``:``36.810  1120  1120 I update_engine``:` `[``0726/131736``.810463:``INFO``:``delta_performer.cc(400)``]` `PartitionInfo new abl sha256``:` `AEWy9qn6ckS6oPuchaZTf3LLBKvu4rlVhCqjYuovjvo= size``:` `159744``07-26 13``:``17``:``36.810  1120  1120 I update_engine``:` `[``0726/131736``.810605:``INFO``:``delta_performer.cc(400)``]` `PartitionInfo new keymaster sha256``:` `2EbjQReoWN2RJxiMTYDY0DyBhTSCj9EDMQY8nBNkrhM= size``:` `253952``07-26 13``:``17``:``36.810  1120  1120 I update_engine``:` `[``0726/131736``.810735:``INFO``:``delta_performer.cc(400)``]` `PartitionInfo new bluetooth sha256``:` `QUIy2P5N0423Q9vfFStQ4gX7+93NNeNAP8/C1GMFRxs= size``:` `847872``07-26 13``:``17``:``36.810  1120  1120 I update_engine``:` `[``0726/131736``.810863:``INFO``:``delta_performer.cc(400)``]` `PartitionInfo new imagefv sha256``:` `s8nZ2bO3JQ1FhpHm5xl6JM0gaXD+R+bJXx/ao5n465c= size``:` `24576``07-26 13``:``17``:``36.811  1120  1120 I update_engine``:` `[``0726/131736``.810994:``INFO``:``delta_performer.cc(400)``]` `PartitionInfo new vbmeta sha256``:` `DS53zciAjgUcUu9bazzGzl8WSrXsTlyDh0qQdQrSzzg= size``:` `4096``07-26 13``:``17``:``36.811  1120  1120 I update_engine``:` `[``0726/131736``.811124:``INFO``:``delta_performer.cc(400)``]` `PartitionInfo new qupfw sha256``:` `5b7DvDYxu52A7CkzLEn17FAUi9VjC4+hP1x1EHgVwn4= size``:` `73728``07-26 13``:``17``:``36.811  1120  1120 I update_engine``:` `[``0726/131736``.811248:``INFO``:``delta_performer.cc(400)``]` `PartitionInfo new dtbo sha256``:` `x8LJxRjY6eyLtnFpCUjx0nm7KrPk5EWmbO1RoiGgdKA= size``:` `33554432``07-26 13``:``17``:``36.811  1120  1120 I update_engine``:` `[``0726/131736``.811380:``INFO``:``delta_performer.cc(400)``]` `PartitionInfo new hyp sha256``:` `K+Lhh6fNlCzcZGO2sSQk4oX899HivC4ZYbQ00wCHJuk= size``:` `487424``07-26 13``:``17``:``36.811  1120  1120 I update_engine``:` `[``0726/131736``.811501:``INFO``:``delta_performer.cc(400)``]` `PartitionInfo new aop sha256``:` `pbPjmwNuZ63U/yB3x6fWwHMFaWTaO7GRsvvmgtYeZY8= size``:` `204800``07-26 13``:``17``:``36.811  1120  1120 I update_engine``:` `[``0726/131736``.811628:``INFO``:``delta_performer.cc(400)``]` `PartitionInfo new modem sha256``:` `U8mQP9s3QEIuQC6XjTtCK2FSv37BrFmz/8yanfrSag0= size``:` `254750720``07-26 13``:``17``:``36.811  1120  1120 I update_engine``:` `[``0726/131736``.811752:``INFO``:``delta_performer.cc(400)``]` `PartitionInfo new dsp sha256``:` `/6W7ecrFfr/L/iQIyc31iyatytPv/Zh3ihPgkKCRogg= size``:` `67108864``07-26 13``:``17``:``36.811  1120  1120 I update_engine``:` `[``0726/131736``.811871:``INFO``:``delta_performer.cc(400)``]` `PartitionInfo new devcfg sha256``:` `op2nGXrz70xk67DA0MGvGxuPrWGEDS/zQHo8wzSSG3E= size``:` `57344``#写入分区``...``07-26 13``:``26``:``23.407  1120  1120 I update_engine``:` `[``0726/132623``.406974:``INFO``:``delta_performer.cc(386)``]` `Applying 32 operations to partition ``"ifaa"``07-26 13``:``26``:``25.604  1120  1120 I update_engine``:` `[``0726/132625``.604203:``INFO``:``delta_performer.cc(374)``]` `Opening /dev/block/bootdevice/by-name/xbl_config_b partition without O_DSYNC``07-26 13``:``26``:``25.609  1120  1120 I update_engine``:` `[``0726/132625``.609049:``INFO``:``delta_performer.cc(126)``]` `Caching writes.``07-26 13``:``26``:``25.609  1120  1120 I update_engine``:` `[``0726/132625``.609407:``INFO``:``delta_performer.cc(386)``]` `Applying 1 operations to partition ``"xbl_config"``07-26 13``:``26``:``25.638  1120  1120 I update_engine``:` `[``0726/132625``.638252:``INFO``:``delta_performer.cc(374)``]` `Opening /dev/block/bootdevice/by-name/abl_b partition without O_DSYNC``#分区写完后校验``07-26 13``:``27``:``40.528  1120  1120 I update_engine``:` `[``0726/132740``.528046:``INFO``:``filesystem_verifier_action.cc(108)``]` `Hashing partition 7 (ifaa) ``on` `device /dev/block/bootdevice/by-name/ifaa_b``07-26 13``:``27``:``40.870  1120  1120 I update_engine``:` `[``0726/132740``.870530:``INFO``:``filesystem_verifier_action.cc(199)``]` `Hash of ifaa``:` `jndrE4DvyUkcFkSlgGcdzT31y61NFbs0bK62w7RxZmc=``07-26 13``:``27``:``41.053  1120  1120 I update_engine``:` `[``0726/132741``.053396:``INFO``:``filesystem_verifier_action.cc(108)``]` `Hashing partition 8 (xbl_config) ``on` `device /dev/block/bootdevice/by-name/xbl_config_b``07-26 13``:``27``:``41.059  1120  1120 I update_engine``:` `[``0726/132741``.059842:``INFO``:``filesystem_verifier_action.cc(199)``]` `Hash of xbl_config``:` `EuJt+caPn+p1pYml7BiLHwWS5qOHdsE9XWdDMTgYDn8=``#升级完成``07-26 13``:``27``:``43.865  1120  1120 I update_engine``:` `[``0726/132743``.865773:``INFO``:``update_attempter_android.cc(439)``]` `Processing Done.``07-26 13``:``27``:``43.867  1120  1120 I update_engine``:` `[``0726/132743``.867692:``INFO``:``update_attempter_android.cc(447)``]` `Update successfully applied``,` `waiting to reboot.`

重启手机查看是否切换了slot

1
`fastboot getvar current-slot`

fastboot 手动切换slot

1
`fastboot set_active a|b`

在主系统下查看是否已经切换了slot:

可以通过mount查看挂载的是否是对应slot的分区, 也可以重新执行update_engine_client查看source slot.

其他的fastboot相关命令和变量:

  • has-slot:<partition-base-name-without-suffix>:如果指定分区支持插槽,则返回“yes”,否则返回“no”。
  • current-slot:返回接下来将从中启动的插槽后缀。
  • slot-count:返回一个表示可用插槽数量的整数。目前支持两个插槽,因此该值为 2
  • slot-successful:<slot-suffix>:如果指定插槽已标记为成功启动,则返回“yes”,否则返回“no”。
  • slot-unbootable:<slot-suffix>:如果指定插槽被标记为不可启动,则返回“yes”,否则返回“no”。
  • slot-retry-count:启动指定插槽的剩余重试次数。

recovery升级X_slot

recovery借助update_engine_sideload进行AB系统的升级, 过程与主系统中的大体类似, 跳过hidl服务直连hal的静态库.

适配时需要将bootctl的hal的静态库接入update_engine_sideload.

1
2
3
4
5
6
7
8
9
10
# Enable update engine sideloading by including the static version of the
# boot_control HAL and its dependencies.
PRODUCT_STATIC_BOOT_CONTROL_HAL := \
bootctrl.msmnile \
librecovery_updater_msm \
libz \
libcutils

PRODUCT_PACKAGES += \
update_engine_sideload

qcom的bootctrl.msmnile库并没有静态版本, 将其改造成静态版本, 同时注意platform的binary不能访问vendor的静态库, 需要去掉vendor属性

1
2
3
4
5
[  137.119886] [0118/071802.275869:INFO:update_attempter_android.cc(163)] headers dump: FILE_HASH:XY0N+WNwMUsufo4R2WhiVEZZysKndtGOs2U2eHI4vWY=
[ 137.119974] [0118/071802.275959:INFO:update_attempter_android.cc(163)] headers dump: FILE_SIZE:2172949036
[ 137.120064] [0118/071802.276047:INFO:update_attempter_android.cc(163)] headers dump: METADATA_HASH:tT9n0yD1oGTFh6CHfgFJ+SFDpGVDdM3MxU2Kj6J4xHk=
[ 137.120153] [0118/071802.276137:INFO:update_attempter_android.cc(163)] headers dump: METADATA_SIZE:201361
[ 137.314970] [0118/071802.470947:INFO:multi_range_http_fetcher.cc(74)] starting transfer of range 10118+2172949036

sideload模式可以通过adb进行调试执行

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
update_engine_sideload  --payload=file:///tmp/<>.zip  --offset=10118 --headers="\
FILE_HASH=XY0N+WNwMUsufo4R2WhiVEZZysKndtGOs2U2eHI4vWY=
FILE_SIZE=2172949036
METADATA_HASH=tT9n0yD1oGTFh6CHfgFJ+SFDpGVDdM3MxU2Kj6J4xHk=
METADATA_SIZE=201361
"

update_engine_sideload --payload=file:///tmp/update.zip --offset=1418 --headers="\
FILE_HASH=fhPRX5CaUAmedhRy1E8Ee9lAib+pb9uMd1cb+fzx638=
FILE_SIZE=181915047
METADATA_HASH=tUuwjykp1KDc2C1ME+YOZn9tOnHhDzP2ukNFqKVf/tQ=
METADATA_SIZE=607150
"

update_engine_sideload --payload=file:///tmp/miui_DRACO_1.1.1_3b6efde15f_9.0.zip --offset=10137 --headers="\^JFILE_HASH=2RuZP+op3uy6movkIOlNaNoo8Fev+++ndUN56eo4WtY=^JFILE_SIZE=2180626971^JMETADATA_HASH=nW8R4zd7YIn/U3ybQ4U8e104hOlJ/8LBWBAlLaV4teY=^JMETADATA_SIZE=201406^J"

相关log, 注意后面的size

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
[0119/030730.113743:INFO:delta_performer.cc(1405)] Detected a 'full' payload.
[0119/030730.174037:INFO:delta_performer.cc(400)] PartitionInfo new boot sha256: EpKxremioCiMOtX/ll7vdGHgyPA6hkS+aEATJ1bTmvs= size: 134217728
[0119/030730.174087:INFO:delta_performer.cc(400)] PartitionInfo new system sha256: a3cVb5cmEwvwXp9qRV7S/FHD88SUx5SdPdBL9vdtfdA= size: 4831838208
[0119/030730.174108:INFO:delta_performer.cc(400)] PartitionInfo new vendor sha256: Hz4lmS/Ubd04ZcY3N2Z6Tn1hKcmYPjdeeHbyRCw3n6U= size: 2134900736
[0119/030730.174124:INFO:delta_performer.cc(400)] PartitionInfo new cmnlib sha256: jobjLrtwvwr4lomr6gMHgT07CnYt+m2n9rimaAX8gmA= size: 393216
[0119/030730.174142:INFO:delta_performer.cc(400)] PartitionInfo new hyp sha256: GBrSZwkKGzyPmjMln6hNqCs0MMdOnVNq+0xvPg9wEIo= size: 491520
[0119/030730.174164:INFO:delta_performer.cc(400)] PartitionInfo new xbl sha256: Srhj/31G6kvceupG54iy2ATnvTrHaGDTNrXoQ9QoBQM= size: 3313664
[0119/030730.174185:INFO:delta_performer.cc(400)] PartitionInfo new tz sha256: 6j6yJ6VEJP/eDEfVAfBTJsPeihIw8stgYx3IZYNUTjU= size: 3166208
[0119/030730.174207:INFO:delta_performer.cc(400)] PartitionInfo new uefisecapp sha256: SsTDYAIGR57uuERCJVW4pYo7qliFTfFC0bjkeCdhuaA= size: 126976
[0119/030730.174228:INFO:delta_performer.cc(400)] PartitionInfo new xbl_config sha256: PXsK2uY4CZHl9HTw4MNn2V2JKjf+tL5lF3Rsrxq/DlQ= size: 126976
[0119/030730.174248:INFO:delta_performer.cc(400)] PartitionInfo new abl sha256: pTmXXhjn578lQoU4Ms2gevuE1u9lf6fkfKkeb2wErOc= size: 159744
[0119/030730.174269:INFO:delta_performer.cc(400)] PartitionInfo new dsp sha256: kGaIexuCECjzYboVNAQWYgSk5+2ZDAreFTT+9Lae68I= size: 67108864
[0119/030730.174290:INFO:delta_performer.cc(400)] PartitionInfo new bluetooth sha256: +o/xD1GaNQ+dXp3dI7cHLl/ecNQveGozZ5/+3mkysI0= size: 847872
[0119/030730.174311:INFO:delta_performer.cc(400)] PartitionInfo new imagefv sha256: YtGPa6a7hx2vAUrQBMIID6821Cagh5hM7mfWvouDZjE= size: 24576
[0119/030730.174332:INFO:delta_performer.cc(400)] PartitionInfo new vbmeta sha256: 8SxbQYbjPUCebXdmSJg7iJhcJbdkDKRbIozhlEfIly8= size: 4096
[0119/030730.174353:INFO:delta_performer.cc(400)] PartitionInfo new qupfw sha256: QwIM5J4OBdFm+EJmlrp+443q7M7HHzGsyWp7/6a7rks= size: 73728
[0119/030730.174374:INFO:delta_performer.cc(400)] PartitionInfo new keymaster sha256: QxPBL7CmuMS851FLt2IyJ1viO+NlEfrcLiVCveNrUZM= size: 258048
[0119/030730.174394:INFO:delta_performer.cc(400)] PartitionInfo new dtbo sha256: J4XfTy8iKmEDrT2g3p/IFowpezxKk5O1eaT2SIt9siY= size: 33554432
[0119/030730.174415:INFO:delta_performer.cc(400)] PartitionInfo new aop sha256: a/+FDfEjG5fT7d43Lt2kzG+Ij3hWIo9u5anzMHTctRU= size: 204800
[0119/030730.174436:INFO:delta_performer.cc(400)] PartitionInfo new modem sha256: es49VhO5api6iwZjDt/DWLBqXA9DnJvRccmvEL5FK/Y= size: 250458112
[0119/030730.174458:INFO:delta_performer.cc(400)] PartitionInfo new devcfg sha256: CNmqJR7BqkQgcJNdrtCYKCQrJVEgehBfe/eCQGm7/n8= size: 57344
[0119/030730.174480:INFO:delta_performer.cc(400)] PartitionInfo new cmnlib64 sha256: CTW5va0C8mcZN2pg46xloHvD5tq1x61mHAMGoB7siqM= size: 512000
[0119/030730.174508:INFO:delta_performer.cc(374)] Opening /dev/block/bootdevice/by-name/boot_b partition without O_DSYNC
[0119/030730.175562:INFO:delta_performer.cc(126)] Caching writes.
[0119/030730.175616:INFO:delta_performer.cc(386)] Applying 64 operations to partition "boot"
[0119/030730.175639:INFO:delta_performer.cc(601)] Starting to apply update payload operations
[0119/030732.554195:INFO:delta_performer.cc(374)] Opening /dev/block/bootdevice/by-name/system_b partition without O_DSYNC
[0119/030732.555151:INFO:delta_performer.cc(126)] Caching writes.
[0119/030732.555206:INFO:delta_performer.cc(386)] Applying 2304 operations to partition "system"
[0119/030753.617572:INFO:delta_performer.cc(210)] Completed 356/3571 operations (9%), 260767744/2172949036 bytes downloaded (12%), overall progress 10%
[0119/030809.120118:INFO:delta_performer.cc(210)] Completed 589/3571 operations (16%), 521519104/2172949036 bytes downloaded (24%), overall progress 20%
[0119/030829.133342:INFO:delta_performer.cc(210)] Completed 858/3571 operations (24%), 814350336/2172949036 bytes downloaded (37%), overall progress 30%
[0119/030847.818425:INFO:delta_performer.cc(210)] Completed 1132/3571 operations (31%), 1086488576/2172949036 bytes downloaded (50%), overall progress 40%
[0119/030907.012157:INFO:delta_performer.cc(210)] Completed 1429/3571 operations (40%), 1329676288/2172949036 bytes downloaded (61%), overall progress 50%
[0119/030914.390509:INFO:delta_performer.cc(210)] Completed 2072/3571 operations (58%), 1351565312/2172949036 bytes downloaded (62%), overall progress 60%
[0119/030928.264078:INFO:delta_performer.cc(374)] Opening /dev/block/bootdevice/by-name/vendor_b partition without O_DSYNC
[0119/030928.265006:INFO:delta_performer.cc(126)] Caching writes.
[0119/030928.265065:INFO:delta_performer.cc(386)] Applying 1018 operations to partition "vendor"
[0119/030939.404319:INFO:delta_performer.cc(210)] Completed 2548/3571 operations (71%), 1521074176/2172949036 bytes downloaded (70%), overall progress 70%
[0119/030959.073585:INFO:delta_performer.cc(210)] Completed 2786/3571 operations (78%), 1796096000/2172949036 bytes downloaded (82%), overall progress 80%
[0119/031021.805564:INFO:delta_performer.cc(210)] Completed 3072/3571 operations (86%), 2056355840/2172949036 bytes downloaded (94%), overall progress 90%
[0119/031031.406053:INFO:delta_performer.cc(374)] Opening /dev/block/bootdevice/by-name/cmnlib_b partition without O_DSYNC
[0119/031031.406953:INFO:delta_performer.cc(126)] Caching writes.
[0119/031031.407007:INFO:delta_performer.cc(386)] Applying 1 operations to partition "cmnlib"
[0119/031031.431870:INFO:delta_performer.cc(374)] Opening /dev/block/bootdevice/by-name/hyp_b partition without O_DSYNC
[0119/031031.432726:INFO:delta_performer.cc(126)] Caching writes.
[0119/031031.432780:INFO:delta_performer.cc(386)] Applying 1 operations to partition "hyp"
[0119/031031.457051:INFO:delta_performer.cc(374)] Opening /dev/block/bootdevice/by-name/xbl_b partition without O_DSYNC
[0119/031031.457909:INFO:delta_performer.cc(126)] Caching writes.
[0119/031031.457962:INFO:delta_performer.cc(386)] Applying 2 operations to partition "xbl"
[0119/031031.619811:INFO:delta_performer.cc(374)] Opening /dev/block/bootdevice/by-name/tz_b partition without O_DSYNC
[0119/031031.620741:INFO:delta_performer.cc(126)] Caching writes.
[0119/031031.620795:INFO:delta_performer.cc(386)] Applying 2 operations to partition "tz"
[0119/031031.728560:INFO:delta_performer.cc(374)] Opening /dev/block/bootdevice/by-name/uefisecapp_b partition without O_DSYNC
[0119/031031.729560:INFO:delta_performer.cc(126)] Caching writes.
[0119/031031.729619:INFO:delta_performer.cc(386)] Applying 1 operations to partition "uefisecapp"
[0119/031031.743096:INFO:delta_performer.cc(374)] Opening /dev/block/bootdevice/by-name/xbl_config_b partition without O_DSYNC
[0119/031031.743941:INFO:delta_performer.cc(126)] Caching writes.
[0119/031031.743991:INFO:delta_performer.cc(386)] Applying 1 operations to partition "xbl_config"
[0119/031031.755388:INFO:delta_performer.cc(374)] Opening /dev/block/bootdevice/by-name/abl_b partition without O_DSYNC
[0119/031031.756234:INFO:delta_performer.cc(126)] Caching writes.
[0119/031031.756286:INFO:delta_performer.cc(386)] Applying 1 operations to partition "abl"
[0119/031031.772838:INFO:delta_performer.cc(374)] Opening /dev/block/bootdevice/by-name/dsp_b partition without O_DSYNC
[0119/031031.773704:INFO:delta_performer.cc(126)] Caching writes.
[0119/031031.773756:INFO:delta_performer.cc(386)] Applying 32 operations to partition "dsp"
[0119/031033.057947:INFO:delta_performer.cc(374)] Opening /dev/block/bootdevice/by-name/bluetooth_b partition without O_DSYNC
[0119/031033.058886:INFO:delta_performer.cc(126)] Caching writes.
[0119/031033.058940:INFO:delta_performer.cc(386)] Applying 1 operations to partition "bluetooth"
[0119/031033.087545:INFO:delta_performer.cc(374)] Opening /dev/block/bootdevice/by-name/imagefv_b partition without O_DSYNC
[0119/031033.088426:INFO:delta_performer.cc(126)] Caching writes.
[0119/031033.088481:INFO:delta_performer.cc(386)] Applying 1 operations to partition "imagefv"
[0119/031033.100948:INFO:delta_performer.cc(374)] Opening /dev/block/bootdevice/by-name/vbmeta_b partition without O_DSYNC
[0119/031033.101786:INFO:delta_performer.cc(126)] Caching writes.
[0119/031033.101837:INFO:delta_performer.cc(386)] Applying 1 operations to partition "vbmeta"
[0119/031033.104208:INFO:delta_performer.cc(374)] Opening /dev/block/bootdevice/by-name/qupfw_b partition without O_DSYNC
[0119/031033.105069:INFO:delta_performer.cc(126)] Caching writes.
[0119/031033.105116:INFO:delta_performer.cc(386)] Applying 1 operations to partition "qupfw"
[0119/031033.110129:INFO:delta_performer.cc(374)] Opening /dev/block/bootdevice/by-name/keymaster_b partition without O_DSYNC
[0119/031033.111036:INFO:delta_performer.cc(126)] Caching writes.
[0119/031033.111089:INFO:delta_performer.cc(386)] Applying 1 operations to partition "keymaster"
[0119/031033.125200:INFO:delta_performer.cc(374)] Opening /dev/block/bootdevice/by-name/dtbo_b partition without O_DSYNC
[0119/031033.126050:INFO:delta_performer.cc(126)] Caching writes.
[0119/031033.126100:INFO:delta_performer.cc(386)] Applying 16 operations to partition "dtbo"
[0119/031033.477645:INFO:delta_performer.cc(374)] Opening /dev/block/bootdevice/by-name/aop_b partition without O_DSYNC
[0119/031033.478592:INFO:delta_performer.cc(126)] Caching writes.
[0119/031033.478647:INFO:delta_performer.cc(386)] Applying 1 operations to partition "aop"
[0119/031033.491181:INFO:delta_performer.cc(374)] Opening /dev/block/bootdevice/by-name/modem_b partition without O_DSYNC
[0119/031033.492024:INFO:delta_performer.cc(126)] Caching writes.
[0119/031033.492075:INFO:delta_performer.cc(386)] Applying 120 operations to partition "modem"
[0119/031041.771315:INFO:delta_performer.cc(374)] Opening /dev/block/bootdevice/by-name/devcfg_b partition without O_DSYNC
[0119/031041.772240:INFO:delta_performer.cc(126)] Caching writes.
[0119/031041.772293:INFO:delta_performer.cc(386)] Applying 1 operations to partition "devcfg"
[0119/031041.777995:INFO:delta_performer.cc(374)] Opening /dev/block/bootdevice/by-name/cmnlib64_b partition without O_DSYNC
[0119/031041.778853:INFO:delta_performer.cc(126)] Caching writes.
[0119/031041.778905:INFO:delta_performer.cc(386)] Applying 1 operations to partition "cmnlib64"
[0119/031041.799262:INFO:delta_performer.cc(210)] Completed 3571/3571 operations (100%), 2172949036/2172949036 bytes downloaded (100%), overall progress 100%
[0119/031041.799333:INFO:delta_performer.cc(1370)] Extracted signature data of size 264 at 2172747147
[0119/031041.799367:INFO:multi_range_http_fetcher.cc(112)] terminating transfer
[0119/031041.799397:INFO:multi_range_http_fetcher.cc(173)] Received transfer terminated.
[0119/031041.799416:INFO:multi_range_http_fetcher.cc(124)] TransferEnded w/ code 200
[0119/031041.799438:INFO:multi_range_http_fetcher.cc(137)] bytes_received_this_range_2172949036 range.length 2172949036
[0119/031041.799456:INFO:multi_range_http_fetcher.cc(159)] Done w/ all transfers
[0119/031041.805089:INFO:download_action.cc(374)] VerifyPayload
[0119/031041.805152:INFO:delta_performer.cc(1549)] Verifying payload using public key: /etc/update_engine/update-payload-key.pub.pem
[0119/031041.805172:INFO:delta_performer.cc(1563)] payload_hash_calculator_.raw_hash() == update_check_response_hash
[0119/031041.805196:INFO:delta_performer.cc(1593)] Payload hash matches value in payload.
[0119/031041.805236:INFO:download_action.cc(397)] Collections of histograms for UpdateEngine.DownloadAction.
Histogram: UpdateEngine.DownloadAction.InstallOperation::REPLACE.Duration recorded 3571 samples, mean = 46.2
0 ------------------------------------------------------------------------O (1381 = 38.7%)
10 ---O (50 = 1.4%) {38.7%}
18 ---------O (164 = 4.6%) {40.1%}
32 -----------------------------------O (667 = 18.7%) {44.7%}
57 ------------------------------------------------O (923 = 25.8%) {63.3%}
101 --------------------O (386 = 10.8%) {89.2%}
179 ...


[0119/031041.805296:INFO:action_processor.cc(116)] ActionProcessor: finished DownloadAction with code ErrorCode::kSuccess
[0119/031041.805312:INFO:action_processor.cc(143)] ActionProcessor: starting FilesystemVerifierAction
[0119/031041.805334:INFO:filesystem_verifier_action.cc(108)] Hashing partition 0 (boot) on device /dev/block/bootdevice/by-name/boot_b
[0119/031042.385142:INFO:filesystem_verifier_action.cc(199)] Hash of boot: EpKxremioCiMOtX/ll7vdGHgyPA6hkS+aEATJ1bTmvs=
[0119/031042.483456:INFO:filesystem_verifier_action.cc(108)] Hashing partition 1 (system) on device /dev/block/bootdevice/by-name/system_b
[0119/031103.269791:INFO:filesystem_verifier_action.cc(199)] Hash of system: a3cVb5cmEwvwXp9qRV7S/FHD88SUx5SdPdBL9vdtfdA=
[0119/031106.812035:INFO:filesystem_verifier_action.cc(108)] Hashing partition 2 (vendor) on device /dev/block/bootdevice/by-name/vendor_b
[0119/031116.011647:INFO:filesystem_verifier_action.cc(199)] Hash of vendor: Hz4lmS/Ubd04ZcY3N2Z6Tn1hKcmYPjdeeHbyRCw3n6U=
[0119/031117.573949:INFO:filesystem_verifier_action.cc(108)] Hashing partition 3 (cmnlib) on device /dev/block/bootdevice/by-name/cmnlib_b
[0119/031117.581216:INFO:filesystem_verifier_action.cc(199)] Hash of cmnlib: jobjLrtwvwr4lomr6gMHgT07CnYt+m2n9rimaAX8gmA=
[0119/031117.582299:INFO:filesystem_verifier_action.cc(108)] Hashing partition 4 (hyp) on device /dev/block/bootdevice/by-name/hyp_b
[0119/031117.586890:INFO:filesystem_verifier_action.cc(199)] Hash of hyp: GBrSZwkKGzyPmjMln6hNqCs0MMdOnVNq+0xvPg9wEIo=
[0119/031117.589001:INFO:filesystem_verifier_action.cc(108)] Hashing partition 5 (xbl) on device /dev/block/bootdevice/by-name/xbl_b
[0119/031117.605620:INFO:filesystem_verifier_action.cc(199)] Hash of xbl: Srhj/31G6kvceupG54iy2ATnvTrHaGDTNrXoQ9QoBQM=
[0119/031117.608525:INFO:filesystem_verifier_action.cc(108)] Hashing partition 6 (tz) on device /dev/block/bootdevice/by-name/tz_b
[0119/031117.624519:INFO:filesystem_verifier_action.cc(199)] Hash of tz: 6j6yJ6VEJP/eDEfVAfBTJsPeihIw8stgYx3IZYNUTjU=
[0119/031117.627394:INFO:filesystem_verifier_action.cc(108)] Hashing partition 7 (uefisecapp) on device /dev/block/bootdevice/by-name/uefisecapp_b
[0119/031117.630008:INFO:filesystem_verifier_action.cc(199)] Hash of uefisecapp: SsTDYAIGR57uuERCJVW4pYo7qliFTfFC0bjkeCdhuaA=
[0119/031117.630216:INFO:filesystem_verifier_action.cc(108)] Hashing partition 8 (xbl_config) on device /dev/block/bootdevice/by-name/xbl_config_b
[0119/031117.632794:INFO:filesystem_verifier_action.cc(199)] Hash of xbl_config: PXsK2uY4CZHl9HTw4MNn2V2JKjf+tL5lF3Rsrxq/DlQ=
[0119/031117.632997:INFO:filesystem_verifier_action.cc(108)] Hashing partition 9 (abl) on device /dev/block/bootdevice/by-name/abl_b
[0119/031117.635997:INFO:filesystem_verifier_action.cc(199)] Hash of abl: pTmXXhjn578lQoU4Ms2gevuE1u9lf6fkfKkeb2wErOc=
[0119/031117.638910:INFO:filesystem_verifier_action.cc(108)] Hashing partition 10 (dsp) on device /dev/block/bootdevice/by-name/dsp_b
[0119/031117.929656:INFO:filesystem_verifier_action.cc(199)] Hash of dsp: kGaIexuCECjzYboVNAQWYgSk5+2ZDAreFTT+9Lae68I=
[0119/031117.978875:INFO:filesystem_verifier_action.cc(108)] Hashing partition 11 (bluetooth) on device /dev/block/bootdevice/by-name/bluetooth_b
[0119/031117.986127:INFO:filesystem_verifier_action.cc(199)] Hash of bluetooth: +o/xD1GaNQ+dXp3dI7cHLl/ecNQveGozZ5/+3mkysI0=
[0119/031117.986856:INFO:filesystem_verifier_action.cc(108)] Hashing partition 12 (imagefv) on device /dev/block/bootdevice/by-name/imagefv_b
[0119/031117.988422:INFO:filesystem_verifier_action.cc(199)] Hash of imagefv: YtGPa6a7hx2vAUrQBMIID6821Cagh5hM7mfWvouDZjE=
[0119/031117.988506:INFO:filesystem_verifier_action.cc(108)] Hashing partition 13 (vbmeta) on device /dev/block/bootdevice/by-name/vbmeta_b
[0119/031117.989126:INFO:filesystem_verifier_action.cc(199)] Hash of vbmeta: 8SxbQYbjPUCebXdmSJg7iJhcJbdkDKRbIozhlEfIly8=
[0119/031117.989176:INFO:filesystem_verifier_action.cc(108)] Hashing partition 14 (qupfw) on device /dev/block/bootdevice/by-name/qupfw_b
[0119/031117.990481:INFO:filesystem_verifier_action.cc(199)] Hash of qupfw: QwIM5J4OBdFm+EJmlrp+443q7M7HHzGsyWp7/6a7rks=
[0119/031117.990598:INFO:filesystem_verifier_action.cc(108)] Hashing partition 15 (keymaster) on device /dev/block/bootdevice/by-name/keymaster_b
[0119/031117.993895:INFO:filesystem_verifier_action.cc(199)] Hash of keymaster: QxPBL7CmuMS851FLt2IyJ1viO+NlEfrcLiVCveNrUZM=
[0119/031117.996472:INFO:filesystem_verifier_action.cc(108)] Hashing partition 16 (dtbo) on device /dev/block/bootdevice/by-name/dtbo_b
[0119/031118.143676:INFO:filesystem_verifier_action.cc(199)] Hash of dtbo: J4XfTy8iKmEDrT2g3p/IFowpezxKk5O1eaT2SIt9siY=
[0119/031118.168441:INFO:filesystem_verifier_action.cc(108)] Hashing partition 17 (aop) on device /dev/block/bootdevice/by-name/aop_b
[0119/031118.171454:INFO:filesystem_verifier_action.cc(199)] Hash of aop: a/+FDfEjG5fT7d43Lt2kzG+Ij3hWIo9u5anzMHTctRU=
[0119/031118.172903:INFO:filesystem_verifier_action.cc(108)] Hashing partition 18 (modem) on device /dev/block/bootdevice/by-name/modem_b
[0119/031119.258618:INFO:filesystem_verifier_action.cc(199)] Hash of modem: es49VhO5api6iwZjDt/DWLBqXA9DnJvRccmvEL5FK/Y=
[0119/031119.446663:INFO:filesystem_verifier_action.cc(108)] Hashing partition 19 (devcfg) on device /dev/block/bootdevice/by-name/devcfg_b
[0119/031119.449470:INFO:filesystem_verifier_action.cc(199)] Hash of devcfg: CNmqJR7BqkQgcJNdrtCYKCQrJVEgehBfe/eCQGm7/n8=
[0119/031119.449603:INFO:filesystem_verifier_action.cc(108)] Hashing partition 20 (cmnlib64) on device /dev/block/bootdevice/by-name/cmnlib64_b
[0119/031119.455933:INFO:filesystem_verifier_action.cc(199)] Hash of cmnlib64: CTW5va0C8mcZN2pg46xloHvD5tq1x61mHAMGoB7siqM=
[0119/031119.456733:INFO:action_processor.cc(116)] ActionProcessor: finished FilesystemVerifierAction with code ErrorCode::kSuccess
[0119/031119.456762:INFO:action_processor.cc(143)] ActionProcessor: starting PostinstallRunnerAction
gpt_utils_set_xbl_boot_partition: setting /dev/block/bootdevice/by-name/xbl_b lun as boot lun
get_scsi_node_from_bootdevice:scsi generic node is :/dev/sg5:
[0119/031119.489816:INFO:postinstall_runner_action.cc(363)] All post-install commands succeeded
[0119/031119.489859:INFO:action_processor.cc(116)] ActionProcessor: finished last action PostinstallRunnerAction with code ErrorCode::kSuccess
[0119/031119.489883:INFO:update_attempter_android.cc(439)] Processing Done.
[0119/031119.489968:INFO:update_attempter_android.cc(447)] Update successfully applied, waiting to reboot.
[0119/031119.490153:ERROR:prefs.cc(85)] storage_->DeleteKey(key) failed.
[0119/031119.490176:INFO:metrics_utils.cc(353)] Updated Marker = 1/1/1970 0:23:57 GMT
1
2
3
4
5
6
7
8
9
10
11
12
13
diff --git a/private/domain.te b/private/domain.te
index 3c1edc1..26bfd2c 100644
--- a/private/domain.te
+++ b/private/domain.te
@@ -312,6 +312,7 @@ define(`dac_override_allowed', `{
vold
vold_prepare_subdirs
zygote
+ update_engine
}')
neverallow ~dac_override_allowed self:global_capability_class_set dac_override;
# Since the kernel checks dac_read_search before dac_override, domains that

差量升级ota log

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
08-18 19:24:51.361  1471  1471 I update_engine: [INFO:update_attempter_android.cc(280)] Using this install plan:
08-18 19:24:51.365 1471 1471 I update_engine: [INFO:install_plan.cc(91)] InstallPlan: new_update, version: , source_slot: A, target_slot: B, url: file:///data/ota_package/inc_test.zip, payload: (size: 280875113, metadata_size: 668528, metadata signature: , hash: 60B62E3DD97FB3D966AE7D44B25D7150197D23C3CF28453FC39C8D3FBD94E7DA, payload type: unknown), hash_checks_mandatory: true, powerwash_required: false, switch_slot_on_reboot: true, run_post_install: true, is_rollback: false, write_verity: true
08-18 19:24:51.369 1471 1471 I update_engine: [INFO:metrics_utils.cc(363)] Number of Reboots during current update attempt = 0
08-18 19:24:51.371 1471 1471 I update_engine: [INFO:metrics_utils.cc(371)] Payload Attempt Number = 1
08-18 19:24:51.374 1471 1471 I update_engine: [INFO:metrics_utils.cc(388)] Update Monotonic Timestamp Start = 1/1/1970 0:04:02 GMT
08-18 19:24:51.376 1471 1471 I update_engine: [INFO:metrics_utils.cc(397)] Update Boot Timestamp Start = 1/1/1970 0:04:02 GMT
08-18 19:24:51.378 1471 1471 I update_engine: [INFO:update_attempter_android.cc(648)] Scheduling an action processor start.
08-18 19:24:51.383 1471 1471 I update_engine: [INFO:action_processor.cc(51)] ActionProcessor: starting UpdateBootFlagsAction
08-18 19:24:51.385 1471 1471 I update_engine: [INFO:update_boot_flags_action.cc(45)] Marking booted slot as good.
08-18 19:24:51.412 1471 1471 I update_engine: [INFO:action_processor.cc(116)] ActionProcessor: finished UpdateBootFlagsAction with code ErrorCode::kSuccess
08-18 19:24:51.414 1471 1471 I update_engine: [INFO:action_processor.cc(143)] ActionProcessor: starting CleanupPreviousUpdateAction
08-18 19:24:51.416 1471 1471 I update_engine: [INFO:cleanup_previous_update_action.cc(82)] Starting/resuming CleanupPreviousUpdateAction
08-18 19:24:51.417 1471 1471 I update_engine: [INFO:cleanup_previous_update_action.cc(137)] Boot completed, waiting on markBootSuccessful()
08-18 19:24:51.420 1471 1471 I update_engine: EnsureMetadataMounted does nothing in Android mode.
08-18 19:24:51.422 1471 1471 I update_engine: Read merge statistics file failed: No such file or directory
08-18 19:24:51.424 1471 1471 I update_engine: [INFO:cleanup_previous_update_action.cc(206)] Waiting for any previous merge request to complete. This can take up to several minutes.
08-18 19:24:51.426 1471 1471 E update_engine: [ERROR:cleanup_previous_update_action.cc(240)] Previous update has not been completed, not cleaning up
08-18 19:24:51.428 1471 1471 I update_engine: [INFO:cleanup_previous_update_action.cc(397)] Not reporting merge stats because state is Initiated
08-18 19:24:51.429 1471 1471 I update_engine: [INFO:action_processor.cc(116)] ActionProcessor: finished CleanupPreviousUpdateAction with code ErrorCode::kSuccess
08-18 19:24:51.431 1471 1471 I update_engine: [INFO:action_processor.cc(143)] ActionProcessor: starting InstallPlanAction
08-18 19:24:51.433 1471 1471 I update_engine: [INFO:action_processor.cc(116)] ActionProcessor: finished InstallPlanAction with code ErrorCode::kSuccess
08-18 19:24:51.435 1471 1471 I update_engine: [INFO:action_processor.cc(143)] ActionProcessor: starting DownloadAction
08-18 19:24:51.437 1471 1471 I update_engine: [INFO:install_plan.cc(91)] InstallPlan: new_update, version: , source_slot: A, target_slot: B, url: file:///data/ota_package/inc_test.zip, payload: (size: 280875113, metadata_size: 668528, metadata signature: , hash: 60B62E3DD97FB3D966AE7D44B25D7150197D23C3CF28453FC39C8D3FBD94E7DA, payload type: unknown), hash_checks_mandatory: true, powerwash_required: false, switch_slot_on_reboot: true, run_post_install: true, is_rollback: false, write_verity: true
08-18 19:24:51.438 1471 1471 I update_engine: [INFO:download_action.cc(199)] Marking new slot as unbootable
08-18 19:24:51.460 1471 1471 I update_engine: [INFO:multi_range_http_fetcher.cc(45)] starting first transfer
08-18 19:24:51.463 1471 1471 I update_engine: [INFO:multi_range_http_fetcher.cc(74)] starting transfer of range 1427+280875113
08-18 19:24:51.468 1471 1471 I update_engine: [INFO:delta_performer.cc(209)] Completed 0/? operations, 16384/280875113 bytes downloaded (0%), overall progress 0%
08-18 19:24:51.500 1471 1471 I update_engine: [INFO:delta_performer.cc(520)] Manifest size in payload matches expected value from Omaha
08-18 19:24:51.502 1471 1471 I update_engine: [INFO:delta_performer.cc(1693)] Verifying using certificates: /system/etc/security/otacerts.zip
08-18 19:24:51.508 1471 1471 I update_engine: [INFO:payload_verifier.cc(102)] signature blob size = 267
08-18 19:24:51.510 1471 1471 I update_engine: [INFO:payload_verifier.cc(118)] Truncating the signature to its unpadded size: 256.
08-18 19:24:51.512 1471 1471 I update_engine: [INFO:payload_verifier.cc(129)] Verified correct signature 1 out of 1 signatures.
08-18 19:24:51.514 1471 1471 I update_engine: [INFO:payload_metadata.cc(224)] Metadata hash signature matches value in Omaha response.
08-18 19:24:51.551 1471 1471 I update_engine: [INFO:delta_performer.cc(1728)] Detected a 'delta' payload.
08-18 19:24:51.575 1471 1471 I update_engine: [INFO:prefs.cc(122)] dynamic-partition-metadata-updated not present in /data/misc/update_engine/prefs
08-18 19:24:51.580 1471 1471 I update_engine: [INFO:delta_performer.cc(985)] Preparing partitions for new update. last hash = , new hash = YLYuPdl/s9lmrn1Esl1xUBl9I8PPKEU/w5yNP72U59o=cwT0tXBzdXay7seGtMnnLLggDWo8d2VvGTwG3+iAGQA=
08-18 19:24:51.586 1471 1471 I update_engine: [libfs_mgr]dt_fstab: Skip disabled entry for partition vendor
08-18 19:24:51.590 1471 1471 I update_engine: Skip mounting partition: /system_ext
08-18 19:24:51.607 1471 1471 I update_engine: type=1400 audit(0.0:1346): avc: denied { search } for name="/" dev="sde6" ino=1 scontext=u:r:update_engine:s0 tcontext=u:object_r:bt_firmware_file:s0 tclass=dir permissive=1
08-18 19:24:51.611 1471 1471 I update_engine: EnsureMetadataMounted does nothing in Android mode.
08-18 19:24:51.615 1471 1471 I update_engine: [INFO:dynamic_partition_control_android.cc(676)] Erasing AVB footer of system_other partition before update.
08-18 19:24:51.619 1471 1471 E update_engine: [libfs_mgr]ReadFstabFromFile(): cannot open file: '/system/etc/fstab.postinstall': No such file or directory
08-18 19:24:51.621 1471 1471 W update_engine: [WARNING:dynamic_partition_control_android.cc(550)] Cannot read fstab from /system/etc/fstab.postinstall: No such file or directory (2)
08-18 19:24:51.623 1471 1471 I update_engine: [INFO:dynamic_partition_control_android.cc(577)] AVB is not enabled on system_other. Skip erasing.
08-18 19:24:51.625 1471 1471 I update_engine: Update has been initiated, now canceling
08-18 19:24:51.627 1471 1471 I update_engine: Removing all update state.
08-18 19:24:51.629 1471 1471 W update_engine: Cannot read /metadata/ota/snapshot-boot: No such file or directory
08-18 19:24:51.630 1471 1471 W update_engine: Failed to get flashing status
08-18 19:24:51.632 1471 1471 W update_engine: Cannot read /metadata/ota/snapshot-boot: No such file or directory
08-18 19:24:52.644 1471 1471 I update_engine: Successfully unmapped snapshot system_b
08-18 19:24:52.654 1471 1471 I update_engine: Successfully unmapped snapshot vendor_b
08-18 19:24:52.766 1471 1471 I update_engine: Successfully unmapped snapshot product_b
08-18 19:24:52.776 1471 1471 I update_engine: Successfully unmapped snapshot odm_b
08-18 19:24:52.837 1471 1471 I update_engine: [libfs_mgr]dt_fstab: Skip disabled entry for partition vendor
08-18 19:24:52.858 1471 1471 I update_engine: Skip mounting partition: /system_ext
08-18 19:24:52.883 1471 1471 I update_engine: [liblp]Partition odm_b will resize from 1286144 bytes to 1089536 bytes
08-18 19:24:52.885 1471 1471 I update_engine: [liblp]Partition system_b will resize from 3553296384 bytes to 3517079552 bytes
08-18 19:24:52.886 1471 1471 I update_engine: [liblp]Partition product_b will resize from 310919168 bytes to 328949760 bytes
08-18 19:24:52.888 1471 1471 I update_engine: [liblp]Partition vendor_b will resize from 1469992960 bytes to 1523589120 bytes
08-18 19:24:52.889 1471 1471 I update_engine: Remaining free space for COW: 3753377792 bytes
08-18 19:24:52.934 1471 1471 I update_engine: For partition system_b, device size = 3517079552, snapshot size = 3517079552, cow partition size = 3530821632, cow file size = 0
08-18 19:24:52.941 1471 1471 I update_engine: [liblp]Partition system_b-cow will resize from 0 bytes to 3530821632 bytes
08-18 19:24:52.943 1471 1471 I update_engine: Successfully created snapshot partition for system_b
08-18 19:24:52.945 1471 1471 I update_engine: Remaining free space for COW: 222298112 bytes
08-18 19:24:52.951 1471 1471 I update_engine: For partition product_b, device size = 328949760, snapshot size = 328949760, cow partition size = 222298112, cow file size = 107937792
08-18 19:24:52.954 1471 1471 I update_engine: [liblp]Partition product_b-cow will resize from 0 bytes to 222298112 bytes
08-18 19:24:52.956 1471 1471 I update_engine: Successfully created snapshot partition for product_b
08-18 19:24:52.958 1471 1471 I update_engine: Remaining free space for COW: 0 bytes
08-18 19:24:52.976 1471 1471 I update_engine: For partition vendor_b, device size = 1523589120, snapshot size = 1523589120, cow partition size = 0, cow file size = 1529540608
08-18 19:24:52.982 1471 1471 I update_engine: Successfully created snapshot partition for vendor_b
08-18 19:24:52.986 1471 1471 I update_engine: Remaining free space for COW: 0 bytes
08-18 19:24:52.988 1471 1471 I update_engine: For partition odm_b, device size = 1089536, snapshot size = 1089536, cow partition size = 0, cow file size = 1044480
08-18 19:24:52.990 1471 1471 I update_engine: Successfully created snapshot partition for odm_b
08-18 19:24:52.992 1471 1471 I update_engine: Allocating CoW images.
08-18 19:24:53.006 1471 1471 I update_engine: Successfully created snapshot for odm_b
08-18 19:24:53.104 1471 1471 I update_engine: Successfully created snapshot for product_b
08-18 19:24:53.126 1471 1471 I update_engine: Successfully created snapshot for system_b
08-18 19:24:53.621 1471 1471 I update_engine: Successfully created snapshot for vendor_b
08-18 19:24:53.625 1471 1471 I update_engine: Successfully unmapped snapshot system_b
08-18 19:24:53.661 1471 1471 I update_engine: Mapped COW device for system_b at /dev/block/dm-9
08-18 19:24:53.666 1471 1471 I update_engine: Zero-filling COW device: /dev/block/dm-9
08-18 19:24:53.708 1471 1471 I update_engine: Successfully unmapped snapshot product_b
08-18 19:24:53.740 1471 1471 I update_engine: Mapped product_b-cow-img to /dev/block/dm-9
08-18 19:24:53.769 1471 1471 I update_engine: Mapped COW device for product_b at /dev/block/dm-10
08-18 19:24:53.775 1471 1471 I update_engine: Zero-filling COW device: /dev/block/dm-10
08-18 19:24:53.835 1471 1471 I update_engine: Successfully unmapped snapshot vendor_b
08-18 19:24:53.862 1471 1471 I update_engine: Mapped vendor_b-cow-img to /dev/block/dm-9
08-18 19:24:53.865 1471 1471 I update_engine: Mapped COW image for vendor_b at vendor_b-cow-img
08-18 19:24:53.868 1471 1471 I update_engine: Zero-filling COW device: /dev/block/dm-9
08-18 19:24:53.900 1471 1471 I update_engine: Successfully unmapped snapshot odm_b
08-18 19:24:53.930 1471 1471 I update_engine: Mapped odm_b-cow-img to /dev/block/dm-9
08-18 19:24:53.933 1471 1471 I update_engine: Mapped COW image for odm_b at odm_b-cow-img
08-18 19:24:53.935 1471 1471 I update_engine: Zero-filling COW device: /dev/block/dm-9
08-18 19:24:53.968 1471 1471 I update_engine: [liblp]Updated logical partition table at slot 1 on device super
08-18 19:24:53.970 1471 1471 I update_engine: Successfully created all snapshots for target slot _b
08-18 19:24:53.973 1471 1471 I update_engine: [INFO:delta_performer.cc(1002)] PreparePartitionsForUpdate done.
08-18 19:24:53.999 1471 1471 I update_engine: [libfs_mgr]dt_fstab: Skip disabled entry for partition vendor
08-18 19:24:54.002 1471 1471 I update_engine: Skip mounting partition: /system_ext
08-18 19:24:54.004 1471 1471 I update_engine: [INFO:dynamic_partition_control_android.cc(319)] Loaded metadata from slot A in /dev/block/bootdevice/by-name/super
08-18 19:24:54.006 1471 1471 I update_engine: [INFO:dynamic_partition_control_android.cc(938)] abl_a is not in super partition metadata.
08-18 19:24:54.008 1471 1471 I update_engine: [INFO:dynamic_partition_control_android.cc(319)] Loaded metadata from slot A in /dev/block/bootdevice/by-name/super
08-18 19:24:54.011 1471 1471 I update_engine: [libfs_mgr]dt_fstab: Skip disabled entry for partition vendor
08-18 19:24:54.013 1471 1471 I update_engine: Skip mounting partition: /system_ext
08-18 19:24:54.016 1471 1471 I update_engine: [INFO:dynamic_partition_control_android.cc(319)] Loaded metadata from slot B in /dev/block/bootdevice/by-name/super
08-18 19:24:54.018 1471 1471 I update_engine: [INFO:dynamic_partition_control_android.cc(938)] abl_b is not in super partition metadata.
08-18 19:24:54.020 1471 1471 I update_engine: [INFO:dynamic_partition_control_android.cc(319)] Loaded metadata from slot A in /dev/block/bootdevice/by-name/super
08-18 19:24:54.022 1471 1471 I update_engine: [libfs_mgr]dt_fstab: Skip disabled entry for partition vendor
08-18 19:24:54.025 1471 1471 I update_engine: Skip mounting partition: /system_ext
08-18 19:24:54.027 1471 1471 I update_engine: [INFO:dynamic_partition_control_android.cc(319)] Loaded metadata from slot A in /dev/block/bootdevice/by-name/super
08-18 19:24:54.029 1471 1471 I update_engine: [INFO:dynamic_partition_control_android.cc(938)] aop_a is not in super partition metadata.
08-18 19:24:54.031 1471 1471 I update_engine: [INFO:dynamic_partition_control_android.cc(319)] Loaded metadata from slot A in /dev/block/bootdevice/by-name/super
08-18 19:24:54.033 1471 1471 I update_engine: [libfs_mgr]dt_fstab: Skip disabled entry for partition vendor
08-18 19:24:54.035 1471 1471 I update_engine: Skip mounting partition: /system_ext
08-18 19:24:54.038 1471 1471 I update_engine: [INFO:dynamic_partition_control_android.cc(319)] Loaded metadata from slot B in /dev/block/bootdevice/by-name/super
08-18 19:24:54.039 1471 1471 I update_engine: [INFO:dynamic_partition_control_android.cc(938)] aop_b is not in super partition metadata.
08-18 19:24:54.041 1471 1471 I update_engine: [INFO:dynamic_partition_control_android.cc(319)] Loaded metadata from slot A in /dev/block/bootdevice/by-name/super
08-18 19:24:54.043 1471 1471 I update_engine: [libfs_mgr]dt_fstab: Skip disabled entry for partition vendor
08-18 19:24:54.045 1471 1471 I update_engine: Skip mounting partition: /system_ext
08-18 19:24:54.048 1471 1471 I update_engine: [INFO:dynamic_partition_control_android.cc(319)] Loaded metadata from slot A in /dev/block/bootdevice/by-name/super
08-18 19:24:54.049 1471 1471 I update_engine: [INFO:dynamic_partition_control_android.cc(938)] bluetooth_a is not in super partition metadata.
08-18 19:24:54.051 1471 1471 I update_engine: [INFO:dynamic_partition_control_android.cc(319)] Loaded metadata from slot A in /dev/block/bootdevice/by-name/super
08-18 19:24:54.053 1471 1471 I update_engine: [libfs_mgr]dt_fstab: Skip disabled entry for partition vendor
08-18 19:24:54.056 1471 1471 I update_engine: Skip mounting partition: /system_ext
08-18 19:24:54.059 1471 1471 I update_engine: [INFO:dynamic_partition_control_android.cc(319)] Loaded metadata from slot B in /dev/block/bootdevice/by-name/super
08-18 19:24:54.060 1471 1471 I update_engine: [INFO:dynamic_partition_control_android.cc(938)] bluetooth_b is not in super partition metadata.
08-18 19:24:54.062 1471 1471 I update_engine: [INFO:dynamic_partition_control_android.cc(319)] Loaded metadata from slot A in /dev/block/bootdevice/by-name/super
08-18 19:24:54.064 1471 1471 I update_engine: [libfs_mgr]dt_fstab: Skip disabled entry for partition vendor
08-18 19:24:54.067 1471 1471 I update_engine: Skip mounting partition: /system_ext
08-18 19:24:54.069 1471 1471 I update_engine: [INFO:dynamic_partition_control_android.cc(319)] Loaded metadata from slot A in /dev/block/bootdevice/by-name/super
08-18 19:24:54.071 1471 1471 I update_engine: [INFO:dynamic_partition_control_android.cc(938)] boot_a is not in super partition metadata.
08-18 19:24:54.072 1471 1471 I update_engine: [INFO:dynamic_partition_control_android.cc(319)] Loaded metadata from slot A in /dev/block/bootdevice/by-name/super
08-18 19:24:54.075 1471 1471 I update_engine: [libfs_mgr]dt_fstab: Skip disabled entry for partition vendor
08-18 19:24:54.077 1471 1471 I update_engine: Skip mounting partition: /system_ext
08-18 19:24:54.079 1471 1471 I update_engine: [INFO:dynamic_partition_control_android.cc(319)] Loaded metadata from slot B in /dev/block/bootdevice/by-name/super
08-18 19:24:54.081 1471 1471 I update_engine: [INFO:dynamic_partition_control_android.cc(938)] boot_b is not in super partition metadata.
08-18 19:24:54.083 1471 1471 I update_engine: [INFO:dynamic_partition_control_android.cc(319)] Loaded metadata from slot A in /dev/block/bootdevice/by-name/super
08-18 19:24:54.085 1471 1471 I update_engine: [libfs_mgr]dt_fstab: Skip disabled entry for partition vendor
08-18 19:24:54.088 1471 1471 I update_engine: Skip mounting partition: /system_ext
08-18 19:24:54.090 1471 1471 I update_engine: [INFO:dynamic_partition_control_android.cc(319)] Loaded metadata from slot A in /dev/block/bootdevice/by-name/super
08-18 19:24:54.091 1471 1471 I update_engine: [INFO:dynamic_partition_control_android.cc(938)] cpucp_a is not in super partition metadata.
08-18 19:24:54.094 1471 1471 I update_engine: [INFO:dynamic_partition_control_android.cc(319)] Loaded metadata from slot A in /dev/block/bootdevice/by-name/super
08-18 19:24:54.096 1471 1471 I update_engine: [libfs_mgr]dt_fstab: Skip disabled entry for partition vendor
08-18 19:24:54.098 1471 1471 I update_engine: Skip mounting partition: /system_ext
08-18 19:24:54.100 1471 1471 I update_engine: [INFO:dynamic_partition_control_android.cc(319)] Loaded metadata from slot B in /dev/block/bootdevice/by-name/super
08-18 19:24:54.102 1471 1471 I update_engine: [INFO:dynamic_partition_control_android.cc(938)] cpucp_b is not in super partition metadata.
08-18 19:24:54.104 1471 1471 I update_engine: [INFO:dynamic_partition_control_android.cc(319)] Loaded metadata from slot A in /dev/block/bootdevice/by-name/super
08-18 19:24:54.107 1471 1471 I update_engine: [libfs_mgr]dt_fstab: Skip disabled entry for partition vendor
08-18 19:24:54.109 1471 1471 I update_engine: Skip mounting partition: /system_ext
08-18 19:24:54.111 1471 1471 I update_engine: [INFO:dynamic_partition_control_android.cc(319)] Loaded metadata from slot A in /dev/block/bootdevice/by-name/super
08-18 19:24:54.113 1471 1471 I update_engine: [INFO:dynamic_partition_control_android.cc(938)] devcfg_a is not in super partition metadata.
08-18 19:24:54.115 1471 1471 I update_engine: [INFO:dynamic_partition_control_android.cc(319)] Loaded metadata from slot A in /dev/block/bootdevice/by-name/super
08-18 19:24:54.117 1471 1471 I update_engine: [libfs_mgr]dt_fstab: Skip disabled entry for partition vendor
08-18 19:24:54.119 1471 1471 I update_engine: Skip mounting partition: /system_ext
08-18 19:24:54.121 1471 1471 I update_engine: [INFO:dynamic_partition_control_android.cc(319)] Loaded metadata from slot B in /dev/block/bootdevice/by-name/super
08-18 19:24:54.122 1471 1471 I update_engine: [INFO:dynamic_partition_control_android.cc(938)] devcfg_b is not in super partition metadata.
08-18 19:24:54.125 1471 1471 I update_engine: [INFO:dynamic_partition_control_android.cc(319)] Loaded metadata from slot A in /dev/block/bootdevice/by-name/super
08-18 19:24:54.127 1471 1471 I update_engine: [libfs_mgr]dt_fstab: Skip disabled entry for partition vendor
08-18 19:24:54.129 1471 1471 I update_engine: Skip mounting partition: /system_ext
08-18 19:24:54.131 1471 1471 I update_engine: [INFO:dynamic_partition_control_android.cc(319)] Loaded metadata from slot A in /dev/block/bootdevice/by-name/super
08-18 19:24:54.133 1471 1471 I update_engine: [INFO:dynamic_partition_control_android.cc(938)] dsp_a is not in super partition metadata.
08-18 19:24:54.135 1471 1471 I update_engine: [INFO:dynamic_partition_control_android.cc(319)] Loaded metadata from slot A in /dev/block/bootdevice/by-name/super
08-18 19:24:54.137 1471 1471 I update_engine: [libfs_mgr]dt_fstab: Skip disabled entry for partition vendor
08-18 19:24:54.139 1471 1471 I update_engine: Skip mounting partition: /system_ext
08-18 19:24:54.142 1471 1471 I update_engine: [INFO:dynamic_partition_control_android.cc(319)] Loaded metadata from slot B in /dev/block/bootdevice/by-name/super
08-18 19:24:54.144 1471 1471 I update_engine: [INFO:dynamic_partition_control_android.cc(938)] dsp_b is not in super partition metadata.
08-18 19:24:54.146 1471 1471 I update_engine: [INFO:dynamic_partition_control_android.cc(319)] Loaded metadata from slot A in /dev/block/bootdevice/by-name/super
08-18 19:24:54.148 1471 1471 I update_engine: [libfs_mgr]dt_fstab: Skip disabled entry for partition vendor
08-18 19:24:54.150 1471 1471 I update_engine: Skip mounting partition: /system_ext
08-18 19:24:54.152 1471 1471 I update_engine: [INFO:dynamic_partition_control_android.cc(319)] Loaded metadata from slot A in /dev/block/bootdevice/by-name/super
08-18 19:24:54.154 1471 1471 I update_engine: [INFO:dynamic_partition_control_android.cc(938)] dtbo_a is not in super partition metadata.
08-18 19:24:54.156 1471 1471 I update_engine: [INFO:dynamic_partition_control_android.cc(319)] Loaded metadata from slot A in /dev/block/bootdevice/by-name/super
08-18 19:24:54.158 1471 1471 I update_engine: [libfs_mgr]dt_fstab: Skip disabled entry for partition vendor
08-18 19:24:54.161 1471 1471 I update_engine: Skip mounting partition: /system_ext
08-18 19:24:54.163 1471 1471 I update_engine: [INFO:dynamic_partition_control_android.cc(319)] Loaded metadata from slot B in /dev/block/bootdevice/by-name/super
08-18 19:24:54.164 1471 1471 I update_engine: [INFO:dynamic_partition_control_android.cc(938)] dtbo_b is not in super partition metadata.
08-18 19:24:54.166 1471 1471 I update_engine: [INFO:dynamic_partition_control_android.cc(319)] Loaded metadata from slot A in /dev/block/bootdevice/by-name/super
08-18 19:24:54.169 1471 1471 I update_engine: [libfs_mgr]dt_fstab: Skip disabled entry for partition vendor
08-18 19:24:54.171 1471 1471 I update_engine: Skip mounting partition: /system_ext
08-18 19:24:54.174 1471 1471 I update_engine: [INFO:dynamic_partition_control_android.cc(319)] Loaded metadata from slot A in /dev/block/bootdevice/by-name/super
08-18 19:24:54.175 1471 1471 I update_engine: [INFO:dynamic_partition_control_android.cc(938)] featenabler_a is not in super partition metadata.
08-18 19:24:54.177 1471 1471 I update_engine: [INFO:dynamic_partition_control_android.cc(319)] Loaded metadata from slot A in /dev/block/bootdevice/by-name/super
08-18 19:24:54.179 1471 1471 I update_engine: [libfs_mgr]dt_fstab: Skip disabled entry for partition vendor
08-18 19:24:54.182 1471 1471 I update_engine: Skip mounting partition: /system_ext
08-18 19:24:54.184 1471 1471 I update_engine: [INFO:dynamic_partition_control_android.cc(319)] Loaded metadata from slot B in /dev/block/bootdevice/by-name/super
08-18 19:24:54.185 1471 1471 I update_engine: [INFO:dynamic_partition_control_android.cc(938)] featenabler_b is not in super partition metadata.
08-18 19:24:54.188 1471 1471 I update_engine: [INFO:dynamic_partition_control_android.cc(319)] Loaded metadata from slot A in /dev/block/bootdevice/by-name/super
08-18 19:24:54.190 1471 1471 I update_engine: [libfs_mgr]dt_fstab: Skip disabled entry for partition vendor
08-18 19:24:54.193 1471 1471 I update_engine: Skip mounting partition: /system_ext
08-18 19:24:54.195 1471 1471 I update_engine: [INFO:dynamic_partition_control_android.cc(319)] Loaded metadata from slot A in /dev/block/bootdevice/by-name/super
08-18 19:24:54.197 1471 1471 I update_engine: [INFO:dynamic_partition_control_android.cc(938)] hyp_a is not in super partition metadata.
08-18 19:24:54.200 1471 1471 I update_engine: [INFO:dynamic_partition_control_android.cc(319)] Loaded metadata from slot A in /dev/block/bootdevice/by-name/super
08-18 19:24:54.202 1471 1471 I update_engine: [libfs_mgr]dt_fstab: Skip disabled entry for partition vendor
08-18 19:24:54.205 1471 1471 I update_engine: Skip mounting partition: /system_ext
08-18 19:24:54.208 1471 1471 I update_engine: [INFO:dynamic_partition_control_android.cc(319)] Loaded metadata from slot B in /dev/block/bootdevice/by-name/super
08-18 19:24:54.210 1471 1471 I update_engine: [INFO:dynamic_partition_control_android.cc(938)] hyp_b is not in super partition metadata.
08-18 19:24:54.212 1471 1471 I update_engine: [INFO:dynamic_partition_control_android.cc(319)] Loaded metadata from slot A in /dev/block/bootdevice/by-name/super
08-18 19:24:54.214 1471 1471 I update_engine: [libfs_mgr]dt_fstab: Skip disabled entry for partition vendor
08-18 19:24:54.217 1471 1471 I update_engine: Skip mounting partition: /system_ext
08-18 19:24:54.220 1471 1471 I update_engine: [INFO:dynamic_partition_control_android.cc(319)] Loaded metadata from slot A in /dev/block/bootdevice/by-name/super
08-18 19:24:54.221 1471 1471 I update_engine: [INFO:dynamic_partition_control_android.cc(938)] imagefv_a is not in super partition metadata.
08-18 19:24:54.224 1471 1471 I update_engine: [INFO:dynamic_partition_control_android.cc(319)] Loaded metadata from slot A in /dev/block/bootdevice/by-name/super
08-18 19:24:54.226 1471 1471 I update_engine: [libfs_mgr]dt_fstab: Skip disabled entry for partition vendor
08-18 19:24:54.229 1471 1471 I update_engine: Skip mounting partition: /system_ext
08-18 19:24:54.231 1471 1471 I update_engine: [INFO:dynamic_partition_control_android.cc(319)] Loaded metadata from slot B in /dev/block/bootdevice/by-name/super
08-18 19:24:54.233 1471 1471 I update_engine: [INFO:dynamic_partition_control_android.cc(938)] imagefv_b is not in super partition metadata.
08-18 19:24:54.235 1471 1471 I update_engine: [INFO:dynamic_partition_control_android.cc(319)] Loaded metadata from slot A in /dev/block/bootdevice/by-name/super
08-18 19:24:54.238 1471 1471 I update_engine: [libfs_mgr]dt_fstab: Skip disabled entry for partition vendor
08-18 19:24:54.241 1471 1471 I update_engine: Skip mounting partition: /system_ext
08-18 19:24:54.243 1471 1471 I update_engine: [INFO:dynamic_partition_control_android.cc(319)] Loaded metadata from slot A in /dev/block/bootdevice/by-name/super
08-18 19:24:54.244 1471 1471 I update_engine: [INFO:dynamic_partition_control_android.cc(938)] keymaster_a is not in super partition metadata.
08-18 19:24:54.246 1471 1471 I update_engine: [INFO:dynamic_partition_control_android.cc(319)] Loaded metadata from slot A in /dev/block/bootdevice/by-name/super
08-18 19:24:54.249 1471 1471 I update_engine: [libfs_mgr]dt_fstab: Skip disabled entry for partition vendor
08-18 19:24:54.251 1471 1471 I update_engine: Skip mounting partition: /system_ext
08-18 19:24:54.253 1471 1471 I update_engine: [INFO:dynamic_partition_control_android.cc(319)] Loaded metadata from slot B in /dev/block/bootdevice/by-name/super
08-18 19:24:54.255 1471 1471 I update_engine: [INFO:dynamic_partition_control_android.cc(938)] keymaster_b is not in super partition metadata.
08-18 19:24:54.257 1471 1471 I update_engine: [INFO:dynamic_partition_control_android.cc(319)] Loaded metadata from slot A in /dev/block/bootdevice/by-name/super
08-18 19:24:54.259 1471 1471 I update_engine: [libfs_mgr]dt_fstab: Skip disabled entry for partition vendor
08-18 19:24:54.262 1471 1471 I update_engine: Skip mounting partition: /system_ext
08-18 19:24:54.264 1471 1471 I update_engine: [INFO:dynamic_partition_control_android.cc(319)] Loaded metadata from slot A in /dev/block/bootdevice/by-name/super
08-18 19:24:54.265 1471 1471 I update_engine: [INFO:dynamic_partition_control_android.cc(938)] modem_a is not in super partition metadata.
08-18 19:24:54.267 1471 1471 I update_engine: [INFO:dynamic_partition_control_android.cc(319)] Loaded metadata from slot A in /dev/block/bootdevice/by-name/super
08-18 19:24:54.269 1471 1471 I update_engine: [libfs_mgr]dt_fstab: Skip disabled entry for partition vendor
08-18 19:24:54.272 1471 1471 I update_engine: Skip mounting partition: /system_ext
08-18 19:24:54.274 1471 1471 I update_engine: [INFO:dynamic_partition_control_android.cc(319)] Loaded metadata from slot B in /dev/block/bootdevice/by-name/super
08-18 19:24:54.276 1471 1471 I update_engine: [INFO:dynamic_partition_control_android.cc(938)] modem_b is not in super partition metadata.
08-18 19:24:54.278 1471 1471 I update_engine: [INFO:dynamic_partition_control_android.cc(319)] Loaded metadata from slot A in /dev/block/bootdevice/by-name/super
08-18 19:24:54.280 1471 1471 I update_engine: [libfs_mgr]dt_fstab: Skip disabled entry for partition vendor
08-18 19:24:54.282 1471 1471 I update_engine: Skip mounting partition: /system_ext
08-18 19:24:54.285 1471 1471 I update_engine: [INFO:dynamic_partition_control_android.cc(319)] Loaded metadata from slot A in /dev/block/bootdevice/by-name/super
08-18 19:24:54.286 1471 1471 I update_engine: [INFO:dynamic_partition_control_android.cc(957)] odm_a is mapped on device mapper: /dev/block/dm-3
08-18 19:24:54.288 1471 1471 I update_engine: [libfs_mgr]dt_fstab: Skip disabled entry for partition vendor
08-18 19:24:54.291 1471 1471 I update_engine: Skip mounting partition: /system_ext
08-18 19:24:54.293 1471 1471 I update_engine: [INFO:dynamic_partition_control_android.cc(319)] Loaded metadata from slot B in /dev/block/bootdevice/by-name/super
08-18 19:24:54.295 1471 1471 I update_engine: Successfully unmapped snapshot odm_b
08-18 19:24:54.328 1471 1471 I update_engine: [libfs_mgr]Created logical partition odm_b-base on device /dev/block/dm-9
08-18 19:24:54.358 1471 1471 I update_engine: Mapped odm_b-cow-img to /dev/block/dm-10
08-18 19:24:54.361 1471 1471 I update_engine: Mapped COW image for odm_b at odm_b-cow-img
08-18 19:24:54.420 1471 1471 I update_engine: Mapped odm_b as snapshot device at /dev/block/dm-11
08-18 19:24:54.422 1471 1471 I update_engine: [INFO:dynamic_partition_control_android.cc(173)] Succesfully mapped odm_b to device mapper (force_writable = 1); device path at /dev/block/dm-11
08-18 19:24:54.426 1471 1471 I update_engine: [libfs_mgr]dt_fstab: Skip disabled entry for partition vendor
08-18 19:24:54.429 1471 1471 I update_engine: Skip mounting partition: /system_ext
08-18 19:24:54.432 1471 1471 I update_engine: [INFO:dynamic_partition_control_android.cc(319)] Loaded metadata from slot A in /dev/block/bootdevice/by-name/super
08-18 19:24:54.433 1471 1471 I update_engine: [INFO:dynamic_partition_control_android.cc(957)] product_a is mapped on device mapper: /dev/block/dm-1
08-18 19:24:54.435 1471 1471 I update_engine: [libfs_mgr]dt_fstab: Skip disabled entry for partition vendor
08-18 19:24:54.438 1471 1471 I update_engine: Skip mounting partition: /system_ext
08-18 19:24:54.440 1471 1471 I update_engine: [INFO:dynamic_partition_control_android.cc(319)] Loaded metadata from slot B in /dev/block/bootdevice/by-name/super
08-18 19:24:54.441 1471 1471 I update_engine: Successfully unmapped snapshot product_b
08-18 19:24:54.472 1471 1471 I update_engine: [libfs_mgr]Created logical partition product_b-base on device /dev/block/dm-12
08-18 19:24:54.503 1471 1471 I update_engine: Mapped product_b-cow-img to /dev/block/dm-13
08-18 19:24:54.536 1471 1471 I update_engine: Mapped COW device for product_b at /dev/block/dm-14
08-18 19:24:54.557 1471 1471 I update_engine: Mapped product_b as snapshot device at /dev/block/dm-15
08-18 19:24:54.561 1471 1471 I update_engine: [INFO:dynamic_partition_control_android.cc(173)] Succesfully mapped product_b to device mapper (force_writable = 1); device path at /dev/block/dm-15
08-18 19:24:54.564 1471 1471 I update_engine: [libfs_mgr]dt_fstab: Skip disabled entry for partition vendor
08-18 19:24:54.567 1471 1471 I update_engine: Skip mounting partition: /system_ext
08-18 19:24:54.569 1471 1471 I update_engine: [INFO:dynamic_partition_control_android.cc(319)] Loaded metadata from slot A in /dev/block/bootdevice/by-name/super
08-18 19:24:54.571 1471 1471 I update_engine: [INFO:dynamic_partition_control_android.cc(938)] qupfw_a is not in super partition metadata.
08-18 19:24:54.573 1471 1471 I update_engine: [INFO:dynamic_partition_control_android.cc(319)] Loaded metadata from slot A in /dev/block/bootdevice/by-name/super
08-18 19:24:54.576 1471 1471 I update_engine: [libfs_mgr]dt_fstab: Skip disabled entry for partition vendor
08-18 19:24:54.579 1471 1471 I update_engine: Skip mounting partition: /system_ext
08-18 19:24:54.582 1471 1471 I update_engine: [INFO:dynamic_partition_control_android.cc(319)] Loaded metadata from slot B in /dev/block/bootdevice/by-name/super
08-18 19:24:54.584 1471 1471 I update_engine: [INFO:dynamic_partition_control_android.cc(938)] qupfw_b is not in super partition metadata.
08-18 19:24:54.586 1471 1471 I update_engine: [INFO:dynamic_partition_control_android.cc(319)] Loaded metadata from slot A in /dev/block/bootdevice/by-name/super
08-18 19:24:54.588 1471 1471 I update_engine: [libfs_mgr]dt_fstab: Skip disabled entry for partition vendor
08-18 19:24:54.591 1471 1471 I update_engine: Skip mounting partition: /system_ext
08-18 19:24:54.593 1471 1471 I update_engine: [INFO:dynamic_partition_control_android.cc(319)] Loaded metadata from slot A in /dev/block/bootdevice/by-name/super
08-18 19:24:54.595 1471 1471 I update_engine: [INFO:dynamic_partition_control_android.cc(938)] shrm_a is not in super partition metadata.
08-18 19:24:54.597 1471 1471 I update_engine: [INFO:dynamic_partition_control_android.cc(319)] Loaded metadata from slot A in /dev/block/bootdevice/by-name/super
08-18 19:24:54.599 1471 1471 I update_engine: [libfs_mgr]dt_fstab: Skip disabled entry for partition vendor
08-18 19:24:54.602 1471 1471 I update_engine: Skip mounting partition: /system_ext
08-18 19:24:54.604 1471 1471 I update_engine: [INFO:dynamic_partition_control_android.cc(319)] Loaded metadata from slot B in /dev/block/bootdevice/by-name/super
08-18 19:24:54.605 1471 1471 I update_engine: [INFO:dynamic_partition_control_android.cc(938)] shrm_b is not in super partition metadata.
08-18 19:24:54.607 1471 1471 I update_engine: [INFO:dynamic_partition_control_android.cc(319)] Loaded metadata from slot A in /dev/block/bootdevice/by-name/super
08-18 19:24:54.610 1471 1471 I update_engine: [libfs_mgr]dt_fstab: Skip disabled entry for partition vendor
08-18 19:24:54.612 1471 1471 I update_engine: Skip mounting partition: /system_ext
08-18 19:24:54.614 1471 1471 I update_engine: [INFO:dynamic_partition_control_android.cc(319)] Loaded metadata from slot A in /dev/block/bootdevice/by-name/super
08-18 19:24:54.616 1471 1471 I update_engine: [INFO:dynamic_partition_control_android.cc(957)] system_a is mapped on device mapper: /dev/block/dm-0
08-18 19:24:54.618 1471 1471 I update_engine: [libfs_mgr]dt_fstab: Skip disabled entry for partition vendor
08-18 19:24:54.621 1471 1471 I update_engine: Skip mounting partition: /system_ext
08-18 19:24:54.623 1471 1471 I update_engine: [INFO:dynamic_partition_control_android.cc(319)] Loaded metadata from slot B in /dev/block/bootdevice/by-name/super
08-18 19:24:54.625 1471 1471 I update_engine: Successfully unmapped snapshot system_b
08-18 19:24:54.656 1471 1471 I update_engine: [libfs_mgr]Created logical partition system_b-base on device /dev/block/dm-16
08-18 19:24:54.691 1471 1471 I update_engine: Mapped COW device for system_b at /dev/block/dm-17
08-18 19:24:54.712 1471 1471 I update_engine: Mapped system_b as snapshot device at /dev/block/dm-18
08-18 19:24:54.715 1471 1471 I update_engine: [INFO:dynamic_partition_control_android.cc(173)] Succesfully mapped system_b to device mapper (force_writable = 1); device path at /dev/block/dm-18
08-18 19:24:54.718 1471 1471 I update_engine: [libfs_mgr]dt_fstab: Skip disabled entry for partition vendor
08-18 19:24:54.721 1471 1471 I update_engine: Skip mounting partition: /system_ext
08-18 19:24:54.724 1471 1471 I update_engine: [INFO:dynamic_partition_control_android.cc(319)] Loaded metadata from slot A in /dev/block/bootdevice/by-name/super
08-18 19:24:54.726 1471 1471 I update_engine: [INFO:dynamic_partition_control_android.cc(938)] tz_a is not in super partition metadata.
08-18 19:24:54.728 1471 1471 I update_engine: [INFO:dynamic_partition_control_android.cc(319)] Loaded metadata from slot A in /dev/block/bootdevice/by-name/super
08-18 19:24:54.730 1471 1471 I update_engine: [libfs_mgr]dt_fstab: Skip disabled entry for partition vendor
08-18 19:24:54.733 1471 1471 I update_engine: Skip mounting partition: /system_ext
08-18 19:24:54.735 1471 1471 I update_engine: [INFO:dynamic_partition_control_android.cc(319)] Loaded metadata from slot B in /dev/block/bootdevice/by-name/super
08-18 19:24:54.737 1471 1471 I update_engine: [INFO:dynamic_partition_control_android.cc(938)] tz_b is not in super partition metadata.
08-18 19:24:54.739 1471 1471 I update_engine: [INFO:dynamic_partition_control_android.cc(319)] Loaded metadata from slot A in /dev/block/bootdevice/by-name/super
08-18 19:24:54.742 1471 1471 I update_engine: [libfs_mgr]dt_fstab: Skip disabled entry for partition vendor
08-18 19:24:54.744 1471 1471 I update_engine: Skip mounting partition: /system_ext
08-18 19:24:54.746 1471 1471 I update_engine: [INFO:dynamic_partition_control_android.cc(319)] Loaded metadata from slot A in /dev/block/bootdevice/by-name/super
08-18 19:24:54.748 1471 1471 I update_engine: [INFO:dynamic_partition_control_android.cc(938)] uefisecapp_a is not in super partition metadata.
08-18 19:24:54.750 1471 1471 I update_engine: [INFO:dynamic_partition_control_android.cc(319)] Loaded metadata from slot A in /dev/block/bootdevice/by-name/super
08-18 19:24:54.752 1471 1471 I update_engine: [libfs_mgr]dt_fstab: Skip disabled entry for partition vendor
08-18 19:24:54.755 1471 1471 I update_engine: Skip mounting partition: /system_ext
08-18 19:24:54.757 1471 1471 I update_engine: [INFO:dynamic_partition_control_android.cc(319)] Loaded metadata from slot B in /dev/block/bootdevice/by-name/super
08-18 19:24:54.759 1471 1471 I update_engine: [INFO:dynamic_partition_control_android.cc(938)] uefisecapp_b is not in super partition metadata.
08-18 19:24:54.761 1471 1471 I update_engine: [INFO:dynamic_partition_control_android.cc(319)] Loaded metadata from slot A in /dev/block/bootdevice/by-name/super
08-18 19:24:54.764 1471 1471 I update_engine: [libfs_mgr]dt_fstab: Skip disabled entry for partition vendor
08-18 19:24:54.767 1471 1471 I update_engine: Skip mounting partition: /system_ext
08-18 19:24:54.769 1471 1471 I update_engine: [INFO:dynamic_partition_control_android.cc(319)] Loaded metadata from slot A in /dev/block/bootdevice/by-name/super
08-18 19:24:54.771 1471 1471 I update_engine: [INFO:dynamic_partition_control_android.cc(938)] vbmeta_a is not in super partition metadata.
08-18 19:24:54.773 1471 1471 I update_engine: [INFO:dynamic_partition_control_android.cc(319)] Loaded metadata from slot A in /dev/block/bootdevice/by-name/super
08-18 19:24:54.775 1471 1471 I update_engine: [libfs_mgr]dt_fstab: Skip disabled entry for partition vendor
08-18 19:24:54.778 1471 1471 I update_engine: Skip mounting partition: /system_ext
08-18 19:24:54.780 1471 1471 I update_engine: [INFO:dynamic_partition_control_android.cc(319)] Loaded metadata from slot B in /dev/block/bootdevice/by-name/super
08-18 19:24:54.782 1471 1471 I update_engine: [INFO:dynamic_partition_control_android.cc(938)] vbmeta_b is not in super partition metadata.
08-18 19:24:54.784 1471 1471 I update_engine: [INFO:dynamic_partition_control_android.cc(319)] Loaded metadata from slot A in /dev/block/bootdevice/by-name/super
08-18 19:24:54.786 1471 1471 I update_engine: [libfs_mgr]dt_fstab: Skip disabled entry for partition vendor
08-18 19:24:54.789 1471 1471 I update_engine: Skip mounting partition: /system_ext
08-18 19:24:54.792 1471 1471 I update_engine: [INFO:dynamic_partition_control_android.cc(319)] Loaded metadata from slot A in /dev/block/bootdevice/by-name/super
08-18 19:24:54.793 1471 1471 I update_engine: [INFO:dynamic_partition_control_android.cc(938)] vbmeta_system_a is not in super partition metadata.
08-18 19:24:54.796 1471 1471 I update_engine: [INFO:dynamic_partition_control_android.cc(319)] Loaded metadata from slot A in /dev/block/bootdevice/by-name/super
08-18 19:24:54.798 1471 1471 I update_engine: [libfs_mgr]dt_fstab: Skip disabled entry for partition vendor
08-18 19:24:54.801 1471 1471 I update_engine: Skip mounting partition: /system_ext
08-18 19:24:54.804 1471 1471 I update_engine: [INFO:dynamic_partition_control_android.cc(319)] Loaded metadata from slot B in /dev/block/bootdevice/by-name/super
08-18 19:24:54.806 1471 1471 I update_engine: [INFO:dynamic_partition_control_android.cc(938)] vbmeta_system_b is not in super partition metadata.
08-18 19:24:54.808 1471 1471 I update_engine: [INFO:dynamic_partition_control_android.cc(319)] Loaded metadata from slot A in /dev/block/bootdevice/by-name/super
08-18 19:24:54.811 1471 1471 I update_engine: [libfs_mgr]dt_fstab: Skip disabled entry for partition vendor
08-18 19:24:54.814 1471 1471 I update_engine: Skip mounting partition: /system_ext
08-18 19:24:54.817 1471 1471 I update_engine: [INFO:dynamic_partition_control_android.cc(319)] Loaded metadata from slot A in /dev/block/bootdevice/by-name/super
08-18 19:24:54.819 1471 1471 I update_engine: [INFO:dynamic_partition_control_android.cc(957)] vendor_a is mapped on device mapper: /dev/block/dm-2
08-18 19:24:54.821 1471 1471 I update_engine: [libfs_mgr]dt_fstab: Skip disabled entry for partition vendor
08-18 19:24:54.824 1471 1471 I update_engine: Skip mounting partition: /system_ext
08-18 19:24:54.826 1471 1471 I update_engine: [INFO:dynamic_partition_control_android.cc(319)] Loaded metadata from slot B in /dev/block/bootdevice/by-name/super
08-18 19:24:54.828 1471 1471 I update_engine: Successfully unmapped snapshot vendor_b
08-18 19:24:54.861 1471 1471 I update_engine: [libfs_mgr]Created logical partition vendor_b-base on device /dev/block/dm-19
08-18 19:24:54.889 1471 1471 I update_engine: Mapped vendor_b-cow-img to /dev/block/dm-20
08-18 19:24:54.893 1471 1471 I update_engine: Mapped COW image for vendor_b at vendor_b-cow-img
08-18 19:24:54.913 1471 1471 I update_engine: Mapped vendor_b as snapshot device at /dev/block/dm-21
08-18 19:24:54.920 1471 1471 I update_engine: [INFO:dynamic_partition_control_android.cc(173)] Succesfully mapped vendor_b to device mapper (force_writable = 1); device path at /dev/block/dm-21
08-18 19:24:54.924 1471 1471 I update_engine: [libfs_mgr]dt_fstab: Skip disabled entry for partition vendor
08-18 19:24:54.927 1471 1471 I update_engine: Skip mounting partition: /system_ext
08-18 19:24:54.930 1471 1471 I update_engine: [INFO:dynamic_partition_control_android.cc(319)] Loaded metadata from slot A in /dev/block/bootdevice/by-name/super
08-18 19:24:54.932 1471 1471 I update_engine: [INFO:dynamic_partition_control_android.cc(938)] vendor_boot_a is not in super partition metadata.
08-18 19:24:54.935 1471 1471 I update_engine: [INFO:dynamic_partition_control_android.cc(319)] Loaded metadata from slot A in /dev/block/bootdevice/by-name/super
08-18 19:24:54.938 1471 1471 I update_engine: [libfs_mgr]dt_fstab: Skip disabled entry for partition vendor
08-18 19:24:54.941 1471 1471 I update_engine: Skip mounting partition: /system_ext
08-18 19:24:54.944 1471 1471 I update_engine: [INFO:dynamic_partition_control_android.cc(319)] Loaded metadata from slot B in /dev/block/bootdevice/by-name/super
08-18 19:24:54.946 1471 1471 I update_engine: [INFO:dynamic_partition_control_android.cc(938)] vendor_boot_b is not in super partition metadata.
08-18 19:24:54.948 1471 1471 I update_engine: [INFO:dynamic_partition_control_android.cc(319)] Loaded metadata from slot A in /dev/block/bootdevice/by-name/super
08-18 19:24:54.950 1471 1471 I update_engine: [libfs_mgr]dt_fstab: Skip disabled entry for partition vendor
08-18 19:24:54.953 1471 1471 I update_engine: Skip mounting partition: /system_ext
08-18 19:24:54.955 1471 1471 I update_engine: [INFO:dynamic_partition_control_android.cc(319)] Loaded metadata from slot A in /dev/block/bootdevice/by-name/super
08-18 19:24:54.957 1471 1471 I update_engine: [INFO:dynamic_partition_control_android.cc(938)] vm-bootsys_a is not in super partition metadata.
08-18 19:24:54.959 1471 1471 I update_engine: [INFO:dynamic_partition_control_android.cc(319)] Loaded metadata from slot A in /dev/block/bootdevice/by-name/super
08-18 19:24:54.962 1471 1471 I update_engine: [libfs_mgr]dt_fstab: Skip disabled entry for partition vendor
08-18 19:24:54.965 1471 1471 I update_engine: Skip mounting partition: /system_ext
08-18 19:24:54.967 1471 1471 I update_engine: [INFO:dynamic_partition_control_android.cc(319)] Loaded metadata from slot B in /dev/block/bootdevice/by-name/super
08-18 19:24:54.969 1471 1471 I update_engine: [INFO:dynamic_partition_control_android.cc(938)] vm-bootsys_b is not in super partition metadata.
08-18 19:24:54.972 1471 1471 I update_engine: [INFO:dynamic_partition_control_android.cc(319)] Loaded metadata from slot A in /dev/block/bootdevice/by-name/super
08-18 19:24:54.974 1471 1471 I update_engine: [libfs_mgr]dt_fstab: Skip disabled entry for partition vendor
08-18 19:24:54.977 1471 1471 I update_engine: Skip mounting partition: /system_ext
08-18 19:24:54.979 1471 1471 I update_engine: [INFO:dynamic_partition_control_android.cc(319)] Loaded metadata from slot A in /dev/block/bootdevice/by-name/super
08-18 19:24:54.981 1471 1471 I update_engine: [INFO:dynamic_partition_control_android.cc(938)] xbl_a is not in super partition metadata.
08-18 19:24:54.983 1471 1471 I update_engine: [INFO:dynamic_partition_control_android.cc(319)] Loaded metadata from slot A in /dev/block/bootdevice/by-name/super
08-18 19:24:54.985 1471 1471 I update_engine: [libfs_mgr]dt_fstab: Skip disabled entry for partition vendor
08-18 19:24:54.988 1471 1471 I update_engine: Skip mounting partition: /system_ext
08-18 19:24:54.990 1471 1471 I update_engine: [INFO:dynamic_partition_control_android.cc(319)] Loaded metadata from slot B in /dev/block/bootdevice/by-name/super
08-18 19:24:54.992 1471 1471 I update_engine: [INFO:dynamic_partition_control_android.cc(938)] xbl_b is not in super partition metadata.
08-18 19:24:54.994 1471 1471 I update_engine: [INFO:dynamic_partition_control_android.cc(319)] Loaded metadata from slot A in /dev/block/bootdevice/by-name/super
08-18 19:24:54.996 1471 1471 I update_engine: [libfs_mgr]dt_fstab: Skip disabled entry for partition vendor
08-18 19:24:54.999 1471 1471 I update_engine: Skip mounting partition: /system_ext
08-18 19:24:55.001 1471 1471 I update_engine: [INFO:dynamic_partition_control_android.cc(319)] Loaded metadata from slot A in /dev/block/bootdevice/by-name/super
08-18 19:24:55.003 1471 1471 I update_engine: [INFO:dynamic_partition_control_android.cc(938)] xbl_config_a is not in super partition metadata.
08-18 19:24:55.005 1471 1471 I update_engine: [INFO:dynamic_partition_control_android.cc(319)] Loaded metadata from slot A in /dev/block/bootdevice/by-name/super
08-18 19:24:55.007 1471 1471 I update_engine: [libfs_mgr]dt_fstab: Skip disabled entry for partition vendor
08-18 19:24:55.010 1471 1471 I update_engine: Skip mounting partition: /system_ext
08-18 19:24:55.013 1471 1471 I update_engine: [INFO:dynamic_partition_control_android.cc(319)] Loaded metadata from slot B in /dev/block/bootdevice/by-name/super
08-18 19:24:55.015 1471 1471 I update_engine: [INFO:dynamic_partition_control_android.cc(938)] xbl_config_b is not in super partition metadata.
08-18 19:24:55.017 1471 1471 I update_engine: [INFO:dynamic_partition_control_android.cc(319)] Loaded metadata from slot A in /dev/block/bootdevice/by-name/super
08-18 19:24:55.019 1471 1471 I update_engine: [INFO:delta_performer.cc(451)] PartitionInfo old abl sha256: LKUfY1q5mz+KuU4Rmg+MrNqlzBahrYzBU4kOiE8Ooj8= size: 208896
08-18 19:24:55.021 1471 1471 I update_engine: [INFO:delta_performer.cc(451)] PartitionInfo new abl sha256: hS8rXeEII9MtiJhBaUCxxPfQOUUPeyrxsAU4NxmRr5E= size: 208896
08-18 19:24:55.023 1471 1471 I update_engine: [INFO:delta_performer.cc(451)] PartitionInfo old aop sha256: +xi8aAv0b4LPhA7kt/VRZ4AqEFxl2IkVj9bOULKDU/M= size: 237568
08-18 19:24:55.025 1471 1471 I update_engine: [INFO:delta_performer.cc(451)] PartitionInfo new aop sha256: e9o49HW8O1Fu5AwhkPiNrF3tF3vDjG4Ae0RIyoFdXM0= size: 241664
08-18 19:24:55.027 1471 1471 I update_engine: [INFO:delta_performer.cc(451)] PartitionInfo old bluetooth sha256: c+6BjIunasEsCvK6Jr5m7BzCGJq3tyDHhL3pvQkqVgI= size: 880640
08-18 19:24:55.029 1471 1471 I update_engine: [INFO:delta_performer.cc(451)] PartitionInfo new bluetooth sha256: zgQ+DFP0LI3nyFOPLQsHE0ZiWrWhaf6+kqmXXBOtIYs= size: 880640
08-18 19:24:55.030 1471 1471 I update_engine: [INFO:delta_performer.cc(451)] PartitionInfo old boot sha256: i8WwddePQv4qv2Jgtu06Mc5KUAfliUZOJfuzeVROKZU= size: 201326592
08-18 19:24:55.032 1471 1471 I update_engine: [INFO:delta_performer.cc(451)] PartitionInfo new boot sha256: BCPYki46J+9B7L2Qw0dyqjT4tIgs32GNWP9LPXsB67c= size: 201326592
08-18 19:24:55.034 1471 1471 I update_engine: [INFO:delta_performer.cc(451)] PartitionInfo old cpucp sha256: Iopy3jwBtH34WvG7QE8hV1VjUptSy6ZdNcqGR0bwPLw= size: 94208
08-18 19:24:55.035 1471 1471 I update_engine: [INFO:delta_performer.cc(451)] PartitionInfo new cpucp sha256: uaQ7Vd67d7OZbqQijAqsMi8EUJr92PkfPWRCXRY8A3I= size: 98304
08-18 19:24:55.037 1471 1471 I update_engine: [INFO:delta_performer.cc(451)] PartitionInfo old devcfg sha256: R3UrDvSUGAYyk6z6AGSr6NJ1jv2m1J4ED79aXIyrlhA= size: 49152
08-18 19:24:55.039 1471 1471 I update_engine: [INFO:delta_performer.cc(451)] PartitionInfo new devcfg sha256: XEZTYY+qC/x3ReEZoJworSGR4/46+PrVrPwSDSslv00= size: 53248
08-18 19:24:55.040 1471 1471 I update_engine: [INFO:delta_performer.cc(451)] PartitionInfo old dsp sha256: suWGN67jBTosAj9AnqkLIMWJ1ltQ23+u2m907aThq6I= size: 67108864
08-18 19:24:55.042 1471 1471 I update_engine: [INFO:delta_performer.cc(451)] PartitionInfo new dsp sha256: suWGN67jBTosAj9AnqkLIMWJ1ltQ23+u2m907aThq6I= size: 67108864
08-18 19:24:55.043 1471 1471 I update_engine: [INFO:delta_performer.cc(451)] PartitionInfo old dtbo sha256: 8pO250Kv+c0lantXJRsH5nuyJIldedl4TZ3DSgjqsgs= size: 8388608
08-18 19:24:55.045 1471 1471 I update_engine: [INFO:delta_performer.cc(451)] PartitionInfo new dtbo sha256: z9EcMQ0GeM/EUjGJufNOyezldChHx9F9YygkgMdMbKI= size: 8388608
08-18 19:24:55.046 1471 1471 I update_engine: [INFO:delta_performer.cc(451)] PartitionInfo old featenabler sha256: lG3p43ZOZvarWcTxWX8EE4SFMnxpjL3GsnfjBSOxrWc= size: 86016
08-18 19:24:55.048 1471 1471 I update_engine: [INFO:delta_performer.cc(451)] PartitionInfo new featenabler sha256: IhmZnJ3dWkolqEJy41s5We3Cr0tQIiXZPWTKmBBirBc= size: 90112
08-18 19:24:55.050 1471 1471 I update_engine: [INFO:delta_performer.cc(451)] PartitionInfo old hyp sha256: 85Xh+KcpkrrqsHRsagKvIAPrsOONgz/4Dnb4bzpRZ8k= size: 3395584
08-18 19:24:55.051 1471 1471 I update_engine: [INFO:delta_performer.cc(451)] PartitionInfo new hyp sha256: ywlIjYFGmFdsPZwFBCZ0opfEvdERJzGPzDrGzVlWWZ8= size: 3399680
08-18 19:24:55.053 1471 1471 I update_engine: [INFO:delta_performer.cc(451)] PartitionInfo old imagefv sha256: Km9PNGzyje+WR5TLaZk3129bHLCuz2cJJ8g+cKe+6Qk= size: 28672
08-18 19:24:55.055 1471 1471 I update_engine: [INFO:delta_performer.cc(451)] PartitionInfo new imagefv sha256: /2kScNnnNSZXg4v4siLy2+Aew4Y4XzrJUaJSWzULYeA= size: 28672
08-18 19:24:55.056 1471 1471 I update_engine: [INFO:delta_performer.cc(451)] PartitionInfo old keymaster sha256: 4KHtQoMQb5u7nRY3HiIOk5TOcQuowNNHzIqgLIOjpzU= size: 258048
08-18 19:24:55.058 1471 1471 I update_engine: [INFO:delta_performer.cc(451)] PartitionInfo new keymaster sha256: MA6O6lkgd8OUfaIdudxGnfYDL2x8hzmakyZHi0Rkvag= size: 262144
08-18 19:24:55.059 1471 1471 I update_engine: [INFO:delta_performer.cc(451)] PartitionInfo old modem sha256: ko9BWvXMob/IoCy8A+uvq6GwVeBDwswUlqNIAhLaWZY= size: 192884736
08-18 19:24:55.061 1471 1471 I update_engine: [INFO:delta_performer.cc(451)] PartitionInfo new modem sha256: z9drl26xsoafKek/73PdmdczM5bJOw1X4zRVCvL9Mog= size: 193671168
08-18 19:24:55.062 1471 1471 I update_engine: [INFO:delta_performer.cc(451)] PartitionInfo old odm sha256: 2Y1fxITkZW1c4hFYBgC7RyAX2dAzHJtnV7ELApEMSCE= size: 1286144
08-18 19:24:55.064 1471 1471 I update_engine: [INFO:delta_performer.cc(451)] PartitionInfo new odm sha256: l/oIDspqyiDykR4mjk2GPh6zmheHo5f03U9XI1Dfzyg= size: 1089536
08-18 19:24:55.065 1471 1471 I update_engine: [INFO:delta_performer.cc(451)] PartitionInfo old product sha256: rBOR7K0r7PjpLCPkZI585l0ru8YFtd58Uia9td+7WTY= size: 310919168
08-18 19:24:55.067 1471 1471 I update_engine: [INFO:delta_performer.cc(451)] PartitionInfo new product sha256: 6TYZ3vLg5bXchP2xAAp3dZrK9r7pY2rbjyD6G+sjk8Y= size: 328949760
08-18 19:24:55.069 1471 1471 I update_engine: [INFO:delta_performer.cc(451)] PartitionInfo old qupfw sha256: tTsWZkkP/F9TZZ+uWYwLLb7frJ3H/y5XJbxvQmUjIqg= size: 53248
08-18 19:24:55.070 1471 1471 I update_engine: [INFO:delta_performer.cc(451)] PartitionInfo new qupfw sha256: 3jpnlnLyamrF6hrpPoJ+nOl5tIXKKqbDaOtL1+rgu3s= size: 57344
08-18 19:24:55.072 1471 1471 I update_engine: [INFO:delta_performer.cc(451)] PartitionInfo old shrm sha256: KrVggLqd3q6VS4C33hRMfWs9vnJX0r+LI23bKLWZ+2E= size: 40960
08-18 19:24:55.073 1471 1471 I update_engine: [INFO:delta_performer.cc(451)] PartitionInfo new shrm sha256: OYFDe2zcvXDWyPGIyEPOCvtFa9z9MxJ3kro2VzQLWPI= size: 45056
08-18 19:24:55.075 1471 1471 I update_engine: [INFO:delta_performer.cc(451)] PartitionInfo old system sha256: LhRpM2Co250bUcefZesGxf9sWsi4Iv4GmwLW+gi10EI= size: 3553296384
08-18 19:24:55.076 1471 1471 I update_engine: [INFO:delta_performer.cc(451)] PartitionInfo new system sha256: cd3Ps088SC1Pe+STTyQvVrK8+cmLLpoCvQlHBle7/io= size: 3517079552
08-18 19:24:55.078 1471 1471 I update_engine: [INFO:delta_performer.cc(451)] PartitionInfo old tz sha256: 7eBsfC6w41AYS3xI6L0IM78LWLzakupzq0pCPIKVf6s= size: 3624960
08-18 19:24:55.080 1471 1471 I update_engine: [INFO:delta_performer.cc(451)] PartitionInfo new tz sha256: XJ0GRq1SOmNjs+wlCaH23g6BnYsArLmtRTno9F8B3Aw= size: 3629056
08-18 19:24:55.081 1471 1471 I update_engine: [INFO:delta_performer.cc(451)] PartitionInfo old uefisecapp sha256: Rw22/udqIRoIpmnH8XXmXXgTIVkRBgSZ+EBf1S/vfPs= size: 122880
08-18 19:24:55.083 1471 1471 I update_engine: [INFO:delta_performer.cc(451)] PartitionInfo new uefisecapp sha256: Fz8/c9AKTBw0mU48AHyVN8EFPLZdBt6On5w6+giUOXU= size: 126976
08-18 19:24:55.085 1471 1471 I update_engine: [INFO:delta_performer.cc(451)] PartitionInfo old vbmeta sha256: +1lHFFhEHNNXkoGzV+UepcA2ACn52gpr4wcZIFjK3Os= size: 8192
08-18 19:24:55.086 1471 1471 I update_engine: [INFO:delta_performer.cc(451)] PartitionInfo new vbmeta sha256: TgLJLUIKbeSmTd5XCQnyDJKiuQCh32sV2acdW3+V8xc= size: 8192
08-18 19:24:55.088 1471 1471 I update_engine: [INFO:delta_performer.cc(451)] PartitionInfo old vbmeta_system sha256: oCfE/MmDj/oFNutvF8323jQmMOUSZyxWZ967xwIyP/M= size: 4096
08-18 19:24:55.090 1471 1471 I update_engine: [INFO:delta_performer.cc(451)] PartitionInfo new vbmeta_system sha256: 9iscNy39AWU0lXaikuLtSmFQtSqgudkmYhfotwiEHHQ= size: 4096
08-18 19:24:55.091 1471 1471 I update_engine: [INFO:delta_performer.cc(451)] PartitionInfo old vendor sha256: Bnecgyti7gGs/uXInom7bpl3PUJ8bpAGJqL9OTMWUWs= size: 1469992960
08-18 19:24:55.093 1471 1471 I update_engine: [INFO:delta_performer.cc(451)] PartitionInfo new vendor sha256: KbMKhjjPPUb6ew38BtauoenktJzeXsAyIAQo1Suj+pI= size: 1523589120
08-18 19:24:55.094 1471 1471 I update_engine: [INFO:delta_performer.cc(451)] PartitionInfo old vendor_boot sha256: DLiSM4l+ydJE9BAY1xn5W6PD4fnAdGrNx83GwTszUVI= size: 100663296
08-18 19:24:55.096 1471 1471 I update_engine: [INFO:delta_performer.cc(451)] PartitionInfo new vendor_boot sha256: TZ8xsevkXAMLUAoliRXRrS5V2KXwgz+12bSKqSDH8oM= size: 100663296
08-18 19:24:55.097 1471 1471 I update_engine: [INFO:delta_performer.cc(451)] PartitionInfo old vm-bootsys sha256: eLgXQJ1Qc8shx8H2kpN7i9S7enKAPXcIyf7dB6Dnh9E= size: 229998592
08-18 19:24:55.099 1471 1471 I update_engine: [INFO:delta_performer.cc(451)] PartitionInfo new vm-bootsys sha256: PvhkY00YGb0Pz8F/NW3NR9KCkULkaMGlv5pPd2pjAlM= size: 229998592
08-18 19:24:55.101 1471 1471 I update_engine: [INFO:delta_performer.cc(451)] PartitionInfo old xbl sha256: 8s3zMMejgPFQVTda+PL8/oMWZ8TuQI+iANRg/uci02c= size: 3637248
08-18 19:24:55.102 1471 1471 I update_engine: [INFO:delta_performer.cc(451)] PartitionInfo new xbl sha256: X6ni5/bFuI4xVs0pX4b7Nnp/76s0p6vc03t8pa1+WLc= size: 3641344
08-18 19:24:55.104 1471 1471 I update_engine: [INFO:delta_performer.cc(451)] PartitionInfo old xbl_config sha256: WxnRMP2xzZxmwabirIbkVhcC4Sq1V83/JwoB5kRwWsY= size: 212992
08-18 19:24:55.105 1471 1471 I update_engine: [INFO:delta_performer.cc(451)] PartitionInfo new xbl_config sha256: 62UgiqGTFSnz9HN2uM6fwh0vkU91uTbK3xzmHAOizt0= size: 217088
08-18 19:24:55.107 1471 1471 I update_engine: [INFO:delta_performer.cc(385)] Opening /dev/block/bootdevice/by-name/abl_b partition without O_DSYNC
08-18 19:24:55.112 1471 1471 I update_engine: [INFO:delta_performer.cc(128)] Caching writes.
08-18 19:24:55.114 1471 1471 I update_engine: [INFO:delta_performer.cc(397)] Applying 5 operations to partition "abl"
08-18 19:24:55.116 1471 1471 I update_engine: [INFO:delta_performer.cc(657)] Starting to apply update payload operations
08-18 19:24:55.159 1471 1471 I update_engine: [INFO:delta_performer.cc(385)] Opening /dev/block/bootdevice/by-name/aop_b partition without O_DSYNC
08-18 19:24:55.164 1471 1471 I update_engine: [INFO:delta_performer.cc(128)] Caching writes.
08-18 19:24:55.167 1471 1471 I update_engine: [INFO:delta_performer.cc(397)] Applying 9 operations to partition "aop"
08-18 19:24:55.225 1471 1471 I update_engine: [INFO:delta_performer.cc(385)] Opening /dev/block/bootdevice/by-name/bluetooth_b partition without O_DSYNC
08-18 19:24:55.230 1471 1471 I update_engine: [INFO:delta_performer.cc(128)] Caching writes.
08-18 19:24:55.233 1471 1471 I update_engine: [INFO:delta_performer.cc(397)] Applying 90 operations to partition "bluetooth"
08-18 19:24:55.509 1471 1471 I update_engine: [INFO:delta_performer.cc(385)] Opening /dev/block/bootdevice/by-name/boot_b partition without O_DSYNC
08-18 19:24:55.514 1471 1471 I update_engine: [INFO:delta_performer.cc(128)] Caching writes.
08-18 19:24:55.516 1471 1471 I update_engine: [INFO:delta_performer.cc(397)] Applying 115 operations to partition "boot"
08-18 19:24:58.794 1471 1471 I update_engine: [INFO:delta_performer.cc(385)] Opening /dev/block/bootdevice/by-name/cpucp_b partition without O_DSYNC
08-18 19:24:58.799 1471 1471 I update_engine: [INFO:delta_performer.cc(128)] Caching writes.
08-18 19:24:58.801 1471 1471 I update_engine: [INFO:delta_performer.cc(397)] Applying 3 operations to partition "cpucp"
08-18 19:24:58.828 1471 1471 I update_engine: [INFO:delta_performer.cc(385)] Opening /dev/block/bootdevice/by-name/devcfg_b partition without O_DSYNC
08-18 19:24:58.833 1471 1471 I update_engine: [INFO:delta_performer.cc(128)] Caching writes.
08-18 19:24:58.835 1471 1471 I update_engine: [INFO:delta_performer.cc(397)] Applying 5 operations to partition "devcfg"
08-18 19:24:58.872 1471 1471 I update_engine: [INFO:delta_performer.cc(385)] Opening /dev/block/bootdevice/by-name/dsp_b partition without O_DSYNC
08-18 19:24:58.877 1471 1471 I update_engine: [INFO:delta_performer.cc(128)] Caching writes.
08-18 19:24:58.879 1471 1471 I update_engine: [INFO:delta_performer.cc(397)] Applying 62 operations to partition "dsp"
08-18 19:24:59.368 1471 1471 I update_engine: [INFO:delta_performer.cc(385)] Opening /dev/block/bootdevice/by-name/dtbo_b partition without O_DSYNC
08-18 19:24:59.374 1471 1471 I update_engine: [INFO:delta_performer.cc(128)] Caching writes.
08-18 19:24:59.376 1471 1471 I update_engine: [INFO:delta_performer.cc(397)] Applying 4 operations to partition "dtbo"
08-18 19:24:59.436 1471 1471 I update_engine: [INFO:delta_performer.cc(385)] Opening /dev/block/bootdevice/by-name/featenabler_b partition without O_DSYNC
08-18 19:24:59.441 1471 1471 I update_engine: [INFO:delta_performer.cc(128)] Caching writes.
08-18 19:24:59.444 1471 1471 I update_engine: [INFO:delta_performer.cc(397)] Applying 3 operations to partition "featenabler"
08-18 19:24:59.467 1471 1471 I update_engine: [INFO:delta_performer.cc(385)] Opening /dev/block/bootdevice/by-name/hyp_b partition without O_DSYNC
08-18 19:24:59.471 1471 1471 I update_engine: [INFO:delta_performer.cc(128)] Caching writes.
08-18 19:24:59.473 1471 1471 I update_engine: [INFO:delta_performer.cc(397)] Applying 7 operations to partition "hyp"
08-18 19:24:59.598 1471 1471 I update_engine: [INFO:delta_performer.cc(385)] Opening /dev/block/bootdevice/by-name/imagefv_b partition without O_DSYNC
08-18 19:24:59.603 1471 1471 I update_engine: [INFO:delta_performer.cc(128)] Caching writes.
08-18 19:24:59.605 1471 1471 I update_engine: [INFO:delta_performer.cc(397)] Applying 3 operations to partition "imagefv"
08-18 19:24:59.631 1471 1471 I update_engine: [INFO:delta_performer.cc(385)] Opening /dev/block/bootdevice/by-name/keymaster_b partition without O_DSYNC
08-18 19:24:59.636 1471 1471 I update_engine: [INFO:delta_performer.cc(128)] Caching writes.
08-18 19:24:59.639 1471 1471 I update_engine: [INFO:delta_performer.cc(397)] Applying 3 operations to partition "keymaster"
08-18 19:24:59.669 1471 1471 I update_engine: [INFO:delta_performer.cc(385)] Opening /dev/block/bootdevice/by-name/modem_b partition without O_DSYNC
08-18 19:24:59.673 1471 1471 I update_engine: [INFO:delta_performer.cc(128)] Caching writes.
08-18 19:24:59.675 1471 1471 I update_engine: [INFO:delta_performer.cc(397)] Applying 2307 operations to partition "modem"
08-18 19:25:00.036 1471 1471 I update_engine: [INFO:delta_performer.cc(209)] Completed 310/10273 operations (3%), 50561024/280875113 bytes downloaded (18%), overall progress 10%
08-18 19:25:06.425 1471 1471 I update_engine: [INFO:delta_performer.cc(209)] Completed 2261/10273 operations (22%), 53575680/280875113 bytes downloaded (19%), overall progress 20%
08-18 19:25:07.544 1471 1471 I update_engine: [INFO:delta_performer.cc(385)] Opening /dev/block/dm-11 partition without O_DSYNC
08-18 19:25:07.551 1471 1471 I update_engine: [INFO:delta_performer.cc(128)] Caching writes.
08-18 19:25:07.553 1471 1471 I update_engine: [INFO:delta_performer.cc(397)] Applying 10 operations to partition "odm"
08-18 19:25:07.654 1471 1471 I update_engine: [INFO:delta_performer.cc(385)] Opening /dev/block/dm-15 partition without O_DSYNC
08-18 19:25:07.659 1471 1471 I update_engine: [INFO:delta_performer.cc(128)] Caching writes.
08-18 19:25:07.662 1471 1471 I update_engine: [INFO:delta_performer.cc(397)] Applying 280 operations to partition "product"
08-18 19:25:14.019 1471 1471 I update_engine: [INFO:delta_performer.cc(385)] Opening /dev/block/bootdevice/by-name/qupfw_b partition without O_DSYNC
08-18 19:25:14.025 1471 1471 I update_engine: [INFO:delta_performer.cc(128)] Caching writes.
08-18 19:25:14.028 1471 1471 I update_engine: [INFO:delta_performer.cc(397)] Applying 3 operations to partition "qupfw"
08-18 19:25:14.049 1471 1471 I update_engine: [INFO:delta_performer.cc(385)] Opening /dev/block/bootdevice/by-name/shrm_b partition without O_DSYNC
08-18 19:25:14.054 1471 1471 I update_engine: [INFO:delta_performer.cc(128)] Caching writes.
08-18 19:25:14.056 1471 1471 I update_engine: [INFO:delta_performer.cc(397)] Applying 3 operations to partition "shrm"
08-18 19:25:14.099 1471 1471 I update_engine: [INFO:delta_performer.cc(385)] Opening /dev/block/dm-18 partition without O_DSYNC
08-18 19:25:14.103 1471 1471 I update_engine: [INFO:delta_performer.cc(128)] Caching writes.
08-18 19:25:14.106 1471 1471 I update_engine: [INFO:delta_performer.cc(397)] Applying 4847 operations to partition "system"
08-18 19:25:19.109 1471 1471 I update_engine: [INFO:delta_performer.cc(209)] Completed 3493/10273 operations (34%), 76431360/280875113 bytes downloaded (27%), overall progress 30%
08-18 19:25:34.556 1471 1471 I update_engine: [INFO:delta_performer.cc(209)] Completed 4449/10273 operations (43%), 106741760/280875113 bytes downloaded (38%), overall progress 40%
08-18 19:25:40.412 1471 1471 I update_engine: [INFO:delta_performer.cc(209)] Completed 4490/10273 operations (43%), 162922496/280875113 bytes downloaded (58%), overall progress 50%
08-18 19:25:52.807 1471 1471 I update_engine: [INFO:delta_performer.cc(209)] Completed 5548/10273 operations (54%), 187367424/280875113 bytes downloaded (66%), overall progress 60%
08-18 19:26:01.516 1471 1471 I update_engine: [INFO:delta_performer.cc(209)] Completed 6275/10273 operations (61%), 224706560/280875113 bytes downloaded (80%), overall progress 70%
08-18 19:26:16.267 1471 1471 I update_engine: [INFO:delta_performer.cc(209)] Completed 7603/10273 operations (74%), 244678656/280875113 bytes downloaded (87%), overall progress 80%
08-18 19:26:20.298 1471 1471 I update_engine: [INFO:delta_performer.cc(385)] Opening /dev/block/bootdevice/by-name/tz_b partition without O_DSYNC
08-18 19:26:20.305 1471 1471 I update_engine: [INFO:delta_performer.cc(128)] Caching writes.
08-18 19:26:20.307 1471 1471 I update_engine: [INFO:delta_performer.cc(397)] Applying 29 operations to partition "tz"
08-18 19:26:20.444 1471 1471 I update_engine: [INFO:delta_performer.cc(385)] Opening /dev/block/bootdevice/by-name/uefisecapp_b partition without O_DSYNC
08-18 19:26:20.450 1471 1471 I update_engine: [INFO:delta_performer.cc(128)] Caching writes.
08-18 19:26:20.452 1471 1471 I update_engine: [INFO:delta_performer.cc(397)] Applying 5 operations to partition "uefisecapp"
08-18 19:26:20.486 1471 1471 I update_engine: [INFO:delta_performer.cc(385)] Opening /dev/block/bootdevice/by-name/vbmeta_b partition without O_DSYNC
08-18 19:26:20.491 1471 1471 I update_engine: [INFO:delta_performer.cc(128)] Caching writes.
08-18 19:26:20.493 1471 1471 I update_engine: [INFO:delta_performer.cc(397)] Applying 1 operations to partition "vbmeta"
08-18 19:26:20.506 1471 1471 I update_engine: [INFO:delta_performer.cc(385)] Opening /dev/block/bootdevice/by-name/vbmeta_system_b partition without O_DSYNC
08-18 19:26:20.510 1471 1471 I update_engine: [INFO:delta_performer.cc(128)] Caching writes.
08-18 19:26:20.512 1471 1471 I update_engine: [INFO:delta_performer.cc(397)] Applying 1 operations to partition "vbmeta_system"
08-18 19:26:20.527 1471 1471 I update_engine: [INFO:delta_performer.cc(385)] Opening /dev/block/dm-21 partition without O_DSYNC
08-18 19:26:20.531 1471 1471 I update_engine: [INFO:delta_performer.cc(128)] Caching writes.
08-18 19:26:20.533 1471 1471 I update_engine: [INFO:delta_performer.cc(397)] Applying 1853 operations to partition "vendor"
08-18 19:26:34.562 1471 1471 I update_engine: [INFO:delta_performer.cc(209)] Completed 9041/10273 operations (88%), 260440064/280875113 bytes downloaded (92%), overall progress 90%
08-18 19:26:46.100 1471 1471 I update_engine: [INFO:delta_performer.cc(385)] Opening /dev/block/bootdevice/by-name/vendor_boot_b partition without O_DSYNC
08-18 19:26:46.106 1471 1471 I update_engine: [INFO:delta_performer.cc(128)] Caching writes.
08-18 19:26:46.108 1471 1471 I update_engine: [INFO:delta_performer.cc(397)] Applying 51 operations to partition "vendor_boot"
08-18 19:26:46.150 1471 1471 E update_engine: [ERROR:delta_performer.cc(431)] Unable to open ECC source partition vendor_boot on slot A, file /dev/block/bootdevice/by-name/vendor_boot_a: Success (0)
08-18 19:26:46.155 1471 1471 E update_engine: [ERROR:delta_performer.cc(1158)] The hash of the source data on disk for this operation doesn't match the expected value. This could mean that the delta update payload was targeted for another version, or that the source partition was modified after it was installed, for example, by mounting a filesystem.
08-18 19:26:46.157 1471 1471 E update_engine: [ERROR:delta_performer.cc(1163)] Expected: sha256|hex = 84CBC3930817F59F08D6BAE4E64F40452AEEE007C8B2D74439358BD56446DF6C
08-18 19:26:46.159 1471 1471 E update_engine: [ERROR:delta_performer.cc(1166)] Calculated: sha256|hex = CE99046C8D163FBD1490314FA7582269045D8A1B2B2DDF14EC6B3DF8961D5176
08-18 19:26:46.161 1471 1471 E update_engine: [ERROR:delta_performer.cc(1177)] Operation source (offset:size) in blocks: 0:741,24575:1
08-18 19:26:46.164 1471 1471 E update_engine: [ERROR:delta_performer.cc(1498)] source_fd != nullptr failed.
08-18 19:26:46.166 1471 1471 E update_engine: [ERROR:delta_performer.cc(297)] Failed to perform BROTLI_BSDIFF operation 9648, which is the operation 0 in partition "vendor_boot"
08-18 19:26:46.168 1471 1471 E update_engine: [ERROR:download_action.cc(336)] Error ErrorCode::kDownloadStateInitializationError (20) in DeltaPerformer's Write method when processing the received payload -- Terminating processing
08-18 19:26:46.172 1471 1471 I update_engine: [INFO:delta_performer.cc(314)] Discarding 287 unused downloaded bytes
08-18 19:26:46.174 1471 1471 I update_engine: [INFO:multi_range_http_fetcher.cc(177)] Received transfer terminated.
08-18 19:26:46.176 1471 1471 I update_engine: [INFO:multi_range_http_fetcher.cc(129)] TransferEnded w/ code 200
08-18 19:26:46.177 1471 1471 I update_engine: [INFO:multi_range_http_fetcher.cc(131)] Terminating.
08-18 19:26:46.236 1471 1471 I update_engine: [INFO:action_processor.cc(116)] ActionProcessor: finished DownloadAction with code ErrorCode::kDownloadStateInitializationError
08-18 19:26:46.240 1471 1471 I update_engine: [INFO:action_processor.cc(121)] ActionProcessor: Aborting processing due to failure.
08-18 19:26:46.242 1471 1471 I update_engine: [INFO:update_attempter_android.cc(522)] Processing Done.
08-18 19:26:46.245 1471 1471 I update_engine: [INFO:delta_performer.cc(1997)] Resetting recorded hash for prepared partitions.
08-18 19:26:46.248 1471 1471 I update_engine: [INFO:update_attempter_android.cc(546)] Resetting update progress.
08-18 19:26:46.250 1471 1471 I update_engine: [INFO:dynamic_partition_control_android.cc(263)] Destroying [odm_b, product_b, system_b, vendor_b] from device mapper
08-18 19:26:46.278 1471 1471 I update_engine: [libfs_mgr]Unmapped logical partition odm_b
08-18 19:26:46.354 1471 1471 I update_engine: Successfully unmapped snapshot odm_b
08-18 19:26:46.359 1471 1471 I update_engine: [INFO:dynamic_partition_control_android.cc(249)] Successfully unmapped odm_b from device mapper.
08-18 19:26:46.386 1471 1471 I update_engine: [libfs_mgr]Unmapped logical partition product_b
08-18 19:26:46.471 1471 1471 I update_engine: Successfully unmapped snapshot product_b
08-18 19:26:46.477 1471 1471 I update_engine: [INFO:dynamic_partition_control_android.cc(249)] Successfully unmapped product_b from device mapper.
08-18 19:26:46.506 1471 1471 I update_engine: [libfs_mgr]Unmapped logical partition system_b
08-18 19:26:46.587 1471 1471 I update_engine: Successfully unmapped snapshot system_b
08-18 19:26:46.592 1471 1471 I update_engine: [INFO:dynamic_partition_control_android.cc(249)] Successfully unmapped system_b from device mapper.
08-18 19:26:46.689 1471 1471 I update_engine: [libfs_mgr]Unmapped logical partition vendor_b
08-18 19:26:46.742 1471 1471 I update_engine: Successfully unmapped snapshot vendor_b
08-18 19:26:46.746 1471 1471 I update_engine: [INFO:dynamic_partition_control_android.cc(249)] Successfully unmapped vendor_b from device mapper.
08-18 19:26:46.759 1471 1471 I update_engine: [INFO:metrics_reporter_android.cc(131)] Current update attempt downloads 262 bytes data

r 上virtual ab的适配

recovery上的修改

升级过程调试

1
2
3
4
5
6
7
8
9
10
11
12
13
adb push otacerts.zip /system/etc/security/
update_engine_sideload --payload=file:///tmp/update.zip --offset=1418 --headers="\
FILE_HASH=fhPRX5CaUAmedhRy1E8Ee9lAib+pb9uMd1cb+fzx638=
FILE_SIZE=181915047
METADATA_HASH=tUuwjykp1KDc2C1ME+YOZn9tOnHhDzP2ukNFqKVf/tQ=
METADATA_SIZE=607150
"
update_engine_sideload --payload=file:///tmp/update.zip --offset=1324 --headers="\
FILE_HASH=76gLVcAOp24qvgZC0iigNmi+27SwESfR003JZSzJ5C8=
FILE_SIZE=3650338089
METADATA_HASH=h83AZLcrxwdYTK2kr/fajBovPRqOGcmBu1gy6IqEtUI=
METADATA_SIZE=210289
"

算offset的方法:

1
2
3
4
5
6
import zipfile
with zipfile.ZipFile('/home/mi/Downloads/miui-blockota-venus-20.9.24.root-20.9.27.root-f8ff8484a9-11.0.zip') as input_zip:
a = input_zip.getinfo('payload_properties.txt')
c = input_zip.getinfo('payload.bin')
b = a.header_offset - c.file_size
print(b)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
update_engine_client \
--payload=file:///data/ota_package/payload.bin \
--update \
--headers="\
FILE_HASH=micJIkMGwvRYI01GT3ESWtE3O6drypDdWHrAj7mbHJE=
FILE_SIZE=171868736
METADATA_HASH=AnZQNNsMgBsqA0z8asH14haURnuJ35GVvc8HqY2gRbQ=
METADATA_SIZE=1014574
"

update_engine_client \
--payload=file:///data/ota_package/payload.bin \
--update \
--headers="\
FILE_HASH=GmmYrTs4n1u+a52W7cHE0MQ59sw/qrPAvsuR7JgB2B0=
FILE_SIZE=3618079575
METADATA_HASH=HpGq2D4TNzkkdxlbfoMzbCvKKht4LRDD5kqlHAnbOxg=
METADATA_SIZE=210965
"

估算

data report:

fullOTA:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
 # target_file size
[$] -> ll signed_venus_global-target_files-20.10.16-11.0.zip
-rw-rw-r-- 1 mi mi 8331428868 10月 16 12:10 signed_venus_global-target_files-20.10.16-11.0.zip
# images in target_file
[$] -> ll signed_venus_global-target_files-20.10.16-11.0/IMAGES
-rw-rw-r-- 1 mi mi 100663296 1月 1 2009 boot-gki.img
-rw-rw-r-- 1 mi mi 201326592 1月 1 2009 boot.img
-rw-rw-r-- 1 mi mi 8388608 1月 1 2009 dtbo.img
-rw-rw-r-- 1 mi mi 1065072 1月 1 2009 odm.img
-rw-rw-r-- 1 mi mi 677 1月 1 2009 odm.map
-rw-rw-r-- 1 mi mi 1048531236 1月 1 2009 product.img
-rw-rw-r-- 1 mi mi 43776 1月 1 2009 product.map
-rw-rw-r-- 1 mi mi 5080 1月 1 2009 super_empty.img
-rw-rw-r-- 1 mi mi 403837100 1月 1 2009 system_ext.img
-rw-rw-r-- 1 mi mi 78781 1月 1 2009 system_ext.map
-rw-rw-r-- 1 mi mi 2908402304 1月 1 2009 system.img
-rw-rw-r-- 1 mi mi 302171 1月 1 2009 system.map
-rw-rw-r-- 1 mi mi 2695444 1月 1 2009 userdata.img
-rw-rw-r-- 1 mi mi 4096 1月 1 2009 vbmeta.img
-rw-rw-r-- 1 mi mi 4096 1月 1 2009 vbmeta_system.img
-rw-rw-r-- 1 mi mi 100663296 1月 1 2009 vendor_boot.img
-rw-rw-r-- 1 mi mi 2033811940 1月 1 2009 vendor.img
-rw-rw-r-- 1 mi mi 303801 1月 1 2009 vendor.map

# full ota size
[$] -> ll miui_VENUSGlobal_20.10.16_aefb58d7af_11.0.zip
-rw-rw-r-- 1 mi mi 2925387044 10月 16 12:11 miui_VENUSGlobal_20.10.16_aefb58d7af_11.0.zip
# estimate result
out/host/linux-x86/bin/estimate_cow_from_nonab_ota -ota_tf /home/mi/Downloads/signed_venus_global-target_files-20.10.16-11.0
Unsparsing IMAGES/vendor.img ...
Analyzing vendor ...
Unsparsing IMAGES/product.img ...
Analyzing product ...
Unsparsing IMAGES/odm.img ...
Analyzing odm ...
Unsparsing IMAGES/system_ext.img ...
Analyzing system_ext ...
Unsparsing IMAGES/system.img ...
Analyzing system ...
Estimated COW size: 3718300499 (3546MiB)

incOTA:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77

# src target_file
[$] -> ll signed_venus_global-target_files-20.9.24-11.0.zip
-rw-rw-r-- 1 mi mi 7912365948 10月 16 12:09 signed_venus_global-target_files-20.9.24-11.0.zip

# images in src target_file
[$] -> ll signed_venus_global-target_files-20.9.24-11.0/IMAGES
-rw-rw-r-- 1 mi mi 201326592 1月 1 2009 boot.img
-rw-rw-r-- 1 mi mi 8388608 1月 1 2009 dtbo.img
-rw-rw-r-- 1 mi mi 1020016 1月 1 2009 odm.img
-rw-rw-r-- 1 mi mi 381 1月 1 2009 odm.map
-rw-rw-r-- 1 mi mi 1044939068 1月 1 2009 product.img
-rw-rw-r-- 1 mi mi 43382 1月 1 2009 product.map
-rw-rw-r-- 1 mi mi 5080 1月 1 2009 super_empty.img
-rw-rw-r-- 1 mi mi 371994820 1月 1 2009 system_ext.img
-rw-rw-r-- 1 mi mi 79300 1月 1 2009 system_ext.map
-rw-rw-r-- 1 mi mi 2706129500 1月 1 2009 system.img
-rw-rw-r-- 1 mi mi 296543 1月 1 2009 system.map
-rw-rw-r-- 1 mi mi 2695444 1月 1 2009 userdata.img
-rw-rw-r-- 1 mi mi 8192 1月 1 2009 vbmeta.img
-rw-rw-r-- 1 mi mi 4096 1月 1 2009 vbmeta_system.img
-rw-rw-r-- 1 mi mi 100663296 1月 1 2009 vendor_boot.img
-rw-rw-r-- 1 mi mi 1891361204 1月 1 2009 vendor.img
-rw-rw-r-- 1 mi mi 279594 1月 1 2009 vendor.map


# target_file size
[$] -> ll signed_venus_global-target_files-20.10.16-11.0.zip
-rw-rw-r-- 1 mi mi 8331428868 10月 16 12:10 signed_venus_global-target_files-20.10.16-11.0.zip
# images in target_file
[$] -> ll signed_venus_global-target_files-20.10.16-11.0/IMAGES
-rw-rw-r-- 1 mi mi 100663296 1月 1 2009 boot-gki.img
-rw-rw-r-- 1 mi mi 201326592 1月 1 2009 boot.img
-rw-rw-r-- 1 mi mi 8388608 1月 1 2009 dtbo.img
-rw-rw-r-- 1 mi mi 1065072 1月 1 2009 odm.img
-rw-rw-r-- 1 mi mi 677 1月 1 2009 odm.map
-rw-rw-r-- 1 mi mi 1048531236 1月 1 2009 product.img
-rw-rw-r-- 1 mi mi 43776 1月 1 2009 product.map
-rw-rw-r-- 1 mi mi 5080 1月 1 2009 super_empty.img
-rw-rw-r-- 1 mi mi 403837100 1月 1 2009 system_ext.img
-rw-rw-r-- 1 mi mi 78781 1月 1 2009 system_ext.map
-rw-rw-r-- 1 mi mi 2908402304 1月 1 2009 system.img
-rw-rw-r-- 1 mi mi 302171 1月 1 2009 system.map
-rw-rw-r-- 1 mi mi 2695444 1月 1 2009 userdata.img
-rw-rw-r-- 1 mi mi 4096 1月 1 2009 vbmeta.img
-rw-rw-r-- 1 mi mi 4096 1月 1 2009 vbmeta_system.img
-rw-rw-r-- 1 mi mi 100663296 1月 1 2009 vendor_boot.img
-rw-rw-r-- 1 mi mi 2033811940 1月 1 2009 vendor.img
-rw-rw-r-- 1 mi mi 303801 1月 1 2009 vendor.map
# inc ota size
[$] -> ll miui-blockota-venus_global-20.9.24-20.10.16-958988d114-11.0.zip
-rw-rw-r-- 1 mi mi 418387975 10月 16 12:05 miui-blockota-venus_global-20.9.24-20.10.16-958988d114-11.0.zip

# estimate result
out/host/linux-x86/bin/estimate_cow_from_nonab_ota -source_tf ~/Downloads/signed_venus_global-target_files-20.9.24-11.0/ -ota_tf /home/mi/Downloads/signed_venus_global-target_files-20.10.16-11.0

Unsparsing IMAGES/vendor.img ...
Unsparsing IMAGES/vendor.img ...
Hashing blocks for vendor...
Analyzing vendor ...
Unsparsing IMAGES/product.img ...
Unsparsing IMAGES/product.img ...
Hashing blocks for product...
Analyzing product ...
Unsparsing IMAGES/odm.img ...
Unsparsing IMAGES/odm.img ...
Hashing blocks for odm...
Analyzing odm ...
Unsparsing IMAGES/system_ext.img ...
Unsparsing IMAGES/system_ext.img ...
Hashing blocks for system_ext...
Analyzing system_ext ...
Unsparsing IMAGES/system.img ...
Unsparsing IMAGES/system.img ...
Hashing blocks for system...
Analyzing system ...
Estimated COW size: 1509347450 (1439MiB)