Commit Graph

4324 Commits

Author SHA1 Message Date
Tao Bao
33ebf7bea4 Verify the package compatibility with libvintf.
am: 62e0bc7586

Change-Id: I35383abfd52766070df0de00013ec743dea190c7
2017-04-13 00:16:19 +00:00
Tao Bao
62e0bc7586 Verify the package compatibility with libvintf.
verify_package_compatibility() is added to parse the compatibility entry
(compatibility.zip) in a given OTA package. If entry is present, the
information is sent to libvintf to check the compatibility.

This CL doesn't actually call libvintf, since the API there is not
available yet.

Bug: 36597505
Test: Doesn't break the install with existing packages (i.e. w/o the
      compatibility entry).
Test: recovery_component_test
Change-Id: I3903ffa5f6ba33a5c0d761602ade6290c6752596
2017-04-12 14:52:00 -07:00
Tianjie Xu
57870ade10 Merge "Protect filename_cache with lock in ota fault" am: 1b28a27c33 am: 461188865b
am: 41bdd91780

Change-Id: I04cbfbe5268bb0decaa3c84d815914ac4dcfa80f
2017-04-11 05:24:36 +00:00
Tianjie Xu
41bdd91780 Merge "Protect filename_cache with lock in ota fault" am: 1b28a27c33
am: 461188865b

Change-Id: I07ff3c134ebca9738a7f7d725ec1c39941047944
2017-04-11 05:19:05 +00:00
Tianjie Xu
461188865b Merge "Protect filename_cache with lock in ota fault"
am: 1b28a27c33

Change-Id: Ie5ed472ddb83f4101b54e74d74a550a0cc5237da
2017-04-11 05:14:04 +00:00
Tianjie Xu
1b28a27c33 Merge "Protect filename_cache with lock in ota fault" 2017-04-11 05:08:05 +00:00
Tianjie Xu
4bb11c745b Protect filename_cache with lock in ota fault
Bug: 33173924
Test: Apply a successfully update on bullhead
Change-Id: I28cc356e216a3e957b5533c338ee6bc3c0920222
2017-04-10 16:21:09 -07:00
Tianjie Xu
3bd7aaf871 Merge "Abort the update if there's not enough new data" am: b4b0c49c48 am: bc66528cb9
am: 955c5ebece

Change-Id: I65b6699cc653192b3b8cbcb88093abd1a0e44ba1
2017-04-10 18:32:54 +00:00
Tianjie Xu
955c5ebece Merge "Abort the update if there's not enough new data" am: b4b0c49c48
am: bc66528cb9

Change-Id: If62e8d2ea8740efb81adfa609ec1544b7563ba4c
2017-04-10 18:29:31 +00:00
Tianjie Xu
bc66528cb9 Merge "Abort the update if there's not enough new data"
am: b4b0c49c48

Change-Id: Id2eece5eabd369e0de5b06fc3d5a953a78ef563f
2017-04-10 18:24:24 +00:00
Tianjie Xu
b4b0c49c48 Merge "Abort the update if there's not enough new data" 2017-04-10 18:12:09 +00:00
Tianjie Xu
3a8d98dd90 Abort the update if there's not enough new data
Right now the update stuck in a deadlock if there's less new data than
expection. Add some checkers and abort the update if such case happens.
Also add a corresponding test.

Bug: 36787146
Test: update aborts correctly on bullhead && recovery_component_test passes
Change-Id: I914e4a2a4cf157b99ef2fc65bd21c6981e38ca47
2017-04-07 17:19:46 -07:00
Tao Bao
8ce8affee8 Merge "tests: Use get_bootloader_message_blk_device() to find /misc." am: 3cd630a5a8 am: cc630bdde1
am: f25cd871cc

Change-Id: I7ee75869ea3b80548c25e5f96d0906c1e8d88862
2017-04-05 15:51:36 +00:00
Tao Bao
f25cd871cc Merge "tests: Use get_bootloader_message_blk_device() to find /misc." am: 3cd630a5a8
am: cc630bdde1

Change-Id: Ib6a8a360e1854096c4d77bcbc99ea7e2dc18d5de
2017-04-05 15:48:35 +00:00
Tao Bao
cc630bdde1 Merge "tests: Use get_bootloader_message_blk_device() to find /misc."
am: 3cd630a5a8

Change-Id: Ia5b13eef57e82407e0043579267f1c809fee692a
2017-04-05 15:46:05 +00:00
Tao Bao
3cd630a5a8 Merge "tests: Use get_bootloader_message_blk_device() to find /misc." 2017-04-05 15:40:59 +00:00
Tao Bao
ad87d9dc78 tests: Use get_bootloader_message_blk_device() to find /misc.
Since commit fb00d82f32 has added
get_bootloader_message_blk_device() as an API, switch the tests-local
implementation to it.

Test: recovery_component_test on angler.
Test: recovery_component_test on a local build that doesn't have /misc.
Change-Id: I4f5f542cb9ef58292c587a677da73d8822db7262
2017-04-04 20:35:10 -07:00
Alex Deymo
c2e3f0e02e Merge "Boot control HAL based on the A/B headers." am: b5fca37976 am: df141b9381
am: c14d0728a7

Change-Id: I9326688728bff043a0accabb8ce55a9ce3b51d61
2017-04-04 23:26:33 +00:00
Alex Deymo
c14d0728a7 Merge "Boot control HAL based on the A/B headers." am: b5fca37976
am: df141b9381

Change-Id: I5e16931621728122fc265d8e6c1c904227de2385
2017-04-04 23:24:02 +00:00
Alex Deymo
df141b9381 Merge "Boot control HAL based on the A/B headers."
am: b5fca37976

Change-Id: I6ede3c9c4b0f173baa40bb061ce01ecc6f77b73e
2017-04-04 23:21:33 +00:00
Alex Deymo
b5fca37976 Merge "Boot control HAL based on the A/B headers." 2017-04-04 23:14:30 +00:00
Tao Bao
b126a2cd9a Merge "Change the internal representation in RangeSet." am: 7ffa8be41d am: 2e12242b7a
am: 7f4e5d55f4

Change-Id: Ie48c858013808b1ccbe19b68e236b6bf18471da8
2017-04-04 21:57:57 +00:00
Tao Bao
7f4e5d55f4 Merge "Change the internal representation in RangeSet." am: 7ffa8be41d
am: 2e12242b7a

Change-Id: I126ee51f8c346a72f64fc270f1ac2e38caa5a8d8
2017-04-04 21:52:26 +00:00
Tao Bao
2e12242b7a Merge "Change the internal representation in RangeSet."
am: 7ffa8be41d

Change-Id: Ic7e82fd8b60f93fb5db4f0029d5f63507080b538
2017-04-04 21:48:56 +00:00
Tao Bao
7ffa8be41d Merge "Change the internal representation in RangeSet." 2017-04-04 21:44:27 +00:00
Tom Cherry
8f0b4bd117 Merge "update_verifier: correct group in rc file" into oc-dev
am: 5d9fb40ef7

Change-Id: I8a063b50828403abbd787cc162e8a6f7cfd2bafd
2017-04-04 03:28:32 +00:00
TreeHugger Robot
5d9fb40ef7 Merge "update_verifier: correct group in rc file" into oc-dev 2017-04-04 03:22:07 +00:00
Wei Wang
ffa4c26c76 update_verifier: tweak priority of update_verifier for quick boot
am: 98beba314b

Change-Id: I54f6186f731986832e05b49f8185d0ed820b32fc
2017-04-04 01:30:54 +00:00
Tom Cherry
93928e788f Merge "update_verifier: correct group in rc file" am: 310fa65c02 am: 2717c28e77
am: bec8264c6f

Change-Id: Ifc3baa35b8eba56eec9d014b98cb750597911629
2017-04-04 01:19:24 +00:00
Tom Cherry
bec8264c6f Merge "update_verifier: correct group in rc file" am: 310fa65c02
am: 2717c28e77

Change-Id: I1f4f5330857098875addea53875f045003459b33
2017-04-04 01:15:54 +00:00
Tom Cherry
031f40704a update_verifier: correct group in rc file
update_verifier should be in the cache group, not 'class'.

Also use PLOG instead of LOG if care_map.txt cannot be opened.

Bug: 36818743
Test: boot sailfish
Test: fake OTA on sailfish and verify update_verifier reads care_package

(cherry picked from commit 3a8002f8c0)

Change-Id: I7e4cccd457ee84054164077c81d04ad7cb394c7a
2017-04-03 18:14:42 -07:00
Tom Cherry
2717c28e77 Merge "update_verifier: correct group in rc file"
am: 310fa65c02

Change-Id: I66e145f77ab1543f91a2b666f6bd4f4287b61292
2017-04-04 01:11:54 +00:00
Treehugger Robot
310fa65c02 Merge "update_verifier: correct group in rc file" 2017-04-04 01:06:21 +00:00
Wei Wang
98beba314b update_verifier: tweak priority of update_verifier for quick boot
Highest ioprio is 0 for CFQ and we should run update_verifier with that.
Tested on device and showing boottime decreased.

Bug: 36511808
Bug: 36102163
Test: Boot marlin
Change-Id: Iddd925951d976e21014b61e5590bcdae3cea8470
(cherry picked from commit a015cd1d7a)
2017-04-04 00:49:07 +00:00
Tom Cherry
3a8002f8c0 update_verifier: correct group in rc file
update_verifier should be in the cache group, not 'class'.

Also use PLOG instead of LOG if care_map.txt cannot be opened.

Bug: 36818743
Test: boot sailfish
Test: fake OTA on sailfish and verify update_verifier reads care_package
Change-Id: I0ec844cac5ef5c63b18ebee90160854fd84ee829
2017-04-03 16:31:16 -07:00
Wei Wang
a3dbdd8510 Merge "update_verifier: tweak priority of update_verifier for quick boot" am: a6ea26987d am: 56e9b9cc26
am: 8ed4fd4b69

Change-Id: I972fa8dc3e12d56b4e59a70e91be9c14d133881e
2017-04-03 23:30:17 +00:00
Wei Wang
8ed4fd4b69 Merge "update_verifier: tweak priority of update_verifier for quick boot" am: a6ea26987d
am: 56e9b9cc26

Change-Id: Id664f6e38c53ada64365e7ce296de2a2832d179b
2017-04-03 23:26:47 +00:00
Wei Wang
56e9b9cc26 Merge "update_verifier: tweak priority of update_verifier for quick boot"
am: a6ea26987d

Change-Id: I19d4e2680f731d78a22f595a049cb079f1531516
2017-04-03 23:22:47 +00:00
Treehugger Robot
a6ea26987d Merge "update_verifier: tweak priority of update_verifier for quick boot" 2017-04-03 23:15:52 +00:00
Wei Wang
a015cd1d7a update_verifier: tweak priority of update_verifier for quick boot
Highest ioprio is 0 for CFQ and we should run update_verifier with that.
Tested on device and showing boottime decreased.

Bug: 36511808
Bug: 36102163
Test: Boot marlin
Change-Id: Iddd925951d976e21014b61e5590bcdae3cea8470
2017-04-03 13:53:49 -07:00
Alex Deymo
fb00d82f32 Boot control HAL based on the A/B headers.
The added bootctrl.bcb module implement the legacy interface for the
bootctrl HAL based on the Boot Control Block (BCB) and the headers
already specified in the booloader_message library.

This serves as a reference implementation of the boot_control HAL.

Bug: 32707546
Test: Tested internally that a device can use this HAL to flip slots and
recovery from a /misc wipe.

Change-Id: Ic02e5aaf4de7d0a1780eac4e8705dae20d0b3e10
2017-04-03 11:25:33 -07:00
Tao Bao
f69d320862 Merge "applypatch: Remove duplicate test files." am: b6609f8895 am: 1f38a9b96e
am: 0f72cf5403

Change-Id: Ied3603b0c00832d0b9e8eb90820783b0708ea48d
2017-04-03 16:30:31 +00:00
Tao Bao
008eb6dfd8 Merge "updater: Keep the parsed parameters in std::unique_ptr." am: c80dd4ade2 am: a982e53a6e
am: 78e277cd42

Change-Id: I551d0fd22cb1848ba009f35edbf15811e959a81a
2017-04-03 16:30:22 +00:00
Tao Bao
0f72cf5403 Merge "applypatch: Remove duplicate test files." am: b6609f8895
am: 1f38a9b96e

Change-Id: I07005e37314f65775da6e9d6178652c624fc6379
2017-04-03 16:27:00 +00:00
Tao Bao
78e277cd42 Merge "updater: Keep the parsed parameters in std::unique_ptr." am: c80dd4ade2
am: a982e53a6e

Change-Id: Ib17659287aed12399b226236144d1f1561b05815
2017-04-03 16:26:50 +00:00
Tao Bao
1f38a9b96e Merge "applypatch: Remove duplicate test files."
am: b6609f8895

Change-Id: I725317517485f5332cf4ebd326deb027bfc397e8
2017-04-03 16:23:31 +00:00
Tao Bao
a982e53a6e Merge "updater: Keep the parsed parameters in std::unique_ptr."
am: c80dd4ade2

Change-Id: I1387f9134a9bfeada23120b64544cdd7630f25e1
2017-04-03 16:23:20 +00:00
Tao Bao
bf5b77dbf7 Change the internal representation in RangeSet.
This CL makes the following changes to RangeSet:
 - Uses std::pair<size_t, size_t> to represent a Range;
 - Uses std::vector<Range> to represent a RangeSet;
 - Provides const iterators (forward and reverse);
 - Provides const accessor;
 - 'blocks()' returns the number of blocks (formerly 'size');
 - 'size()' returns the number of Range's (formerly 'count').

Test: recovery_unit_test
Test: Apply an incremental update with the new updater.
Change-Id: Ia1fbb343370a152e1f7aa050cf914c2da09b1396
2017-04-03 09:22:48 -07:00
Tao Bao
b6609f8895 Merge "applypatch: Remove duplicate test files." 2017-04-03 16:18:37 +00:00
Tao Bao
c80dd4ade2 Merge "updater: Keep the parsed parameters in std::unique_ptr." 2017-04-03 16:18:12 +00:00