Commit graph

2197 commits

Author SHA1 Message Date
Yabin Cui
2f272c0551 Create bootloader_message static library.
bootloader_messages merges bootloader_message_writer
and bootloader.cpp, so we can use the same library to
manage bootloader_message in normal boot and recovery mode.

Bug: 29582118

Change-Id: I9efdf776ef8f02b53911ff43a518e035e0c29618
2016-06-30 11:02:38 -07:00
Tianjie Xu
6074099cb9 Increase EIO retry count
am: c37c5c3410

Change-Id: I163541137bf8c421276383855d36ab127d2ddf95
2016-06-24 00:26:51 +00:00
Tianjie Xu
c37c5c3410 Increase EIO retry count
Increase the number of attempts of an OTA update from 3 to 5 in case
an I/O error happened. This should increase the success rate of the
update.

Bug: 29619468
Change-Id: I88a067d9debd55a07be22ed981f395f6e47ec28f
2016-06-23 17:15:25 -07:00
Yabin Cui
ed4c49c199 Merge "Verify wipe package when wiping A/B device in recovery." into nyc-mr1-dev 2016-06-21 17:10:49 +00:00
Yabin Cui
6faf0265c9 Verify wipe package when wiping A/B device in recovery.
To increase the security of wiping A/B devices, let uncrypt write
wipe package in misc partition. Then recovery verifies the wipe
package before wiping the device.

Bug: 29159185

Change-Id: I186691bab1928d3dc036bc5542abd64a81bc2168
2016-06-20 18:18:02 -07:00
Tianjie Xu
d0dcbddd31 Check the results from applypatch
am: 31f8cc84cf

Change-Id: Ie50652158b65d723346ffff18c85cbaab11820e1
2016-06-16 18:09:19 +00:00
Tianjie Xu
31f8cc84cf Check the results from applypatch
Check the results from applypatch in PerformCommandDiff; and abort the
update on failure.

Bug:29339536
Change-Id: I5087d79ba532b54250f4c17560524255c8a4fabc
2016-06-15 23:26:59 +00:00
Tao Bao
2a4386fa7b applypatch: Don\'t call inflate() when it expects zero-length output.
am: 490fad6791

Change-Id: Id4df6fd73edf70ce88d3df4a5ebaeb665f38eef3
2016-06-14 01:29:09 +00:00
Tao Bao
490fad6791 applypatch: Don't call inflate() when it expects zero-length output.
We may have expanded_len == 0 when calling inflate(). After switching to
using std::vector, it passes a nullptr buffer to inflate() and leads to
Z_STREAM_ERROR.

Bug: 29312140
Change-Id: Iab7c6c07a9e8488e844e7cdda76d02bd60d2ea98
2016-06-13 16:42:52 -07:00
Tao Bao
dc1393d09b Merge "recovery: Track the name change for wipe_ab." into nyc-mr1-dev 2016-06-13 16:43:46 +00:00
Tianjie Xu
dcf1089771 Log source/target build version to last_install
am: b0ddae55e5

Change-Id: I8be36165769d4159e4578f9fea54f332e4e77c6c
2016-06-10 17:21:40 +00:00
Tao Bao
108ab21b21 recovery: Track the name change for wipe_ab.
Bug: 27253717
Change-Id: I6e63b2a80b7b2948c16e1b57dedc856d52456ac9
2016-06-10 10:13:32 -07:00
Tianjie Xu
b0ddae55e5 Log source/target build version to last_install
Parse the build.version.incremental from the metadata of the update
package; and log it to last_install.
Example:
In metadata we read:
post-build-incremental=2951741
pre-build-incremental=2943039

In last install we log:
source_build: 2943039
target_build: 2951741

Bug: 28658632
Change-Id: I0a9cc2d01644846e18bda31f4193ff40e8924486
2016-06-09 17:29:04 -07:00
Alain Vongsouvanh
91d78acbd3 resolve merge conflicts of 6aa6ddb to nyc-dev
am: 771b6eb8d9

Change-Id: Icc7290bbdf7b7420bab34b56f4e368f93b007053
2016-06-08 15:46:40 +00:00
Alain Vongsouvanh
771b6eb8d9 resolve merge conflicts of 6aa6ddb to nyc-dev
Change-Id: I3696fe3e86e0222c7c26b0aa2bf1dd8e03ac5315
2016-06-08 08:30:48 -07:00
Alain Vongsouvanh
6aa6ddb3c5 recovery: Make wear recovery more customizable.
am: 5b00110e3d

Change-Id: I88ab75e875cea8813ab4bdc9f099c31609ace6fd
2016-06-08 15:10:54 +00:00
Alain Vongsouvanh
5b00110e3d recovery: Make wear recovery more customizable.
Making animation_fps protected and adding support for 0 frames intro.

BUG: 29085786
Change-Id: I07b44570022bad89661973178d453592c01f3f10
2016-06-07 10:05:29 -07:00
Tao Bao
1afa4d7b23 Merge "recovery: Add support to brick a device." into nyc-mr1-dev 2016-06-04 04:19:05 +00:00
Tianjie Xu
57ad046d9d Call ioctl before each write on retry
am: 7ce287d432

* commit '7ce287d432dd3a4dc8841fc59e11ee1a0b7808a1':
  Call ioctl before each write on retry

Change-Id: Iae05ceca190c253d0be3ae9e4054abf4d0dbe751
2016-06-03 22:38:11 +00:00
Tao Bao
b083818612 recovery: Add support to brick a device.
When recovery starts with --brick, it tries to brick the device by
securely wiping all the partitions as listed in /etc/recovery.brick.

This is designed to support bricking lost devices.

Bug: 27253717
Change-Id: Ib0bd4f0a3bdaca4febc91fce6b682e3ec74354e2
(cherry picked from commit 862a4c1119)
2016-06-03 14:43:05 -07:00
Tianjie Xu
7ce287d432 Call ioctl before each write on retry
If the update is a retry, ioctl(BLKDISCARD) the destination blocks before
writing to these blocks.

Bug: 28990135
Change-Id: I1e703808e68ebb1292cd66afd76be8fd6946ee59
2016-06-03 12:12:50 -07:00
Elliott Hughes
01fcbe160b Disable the meaningless parts of the UI for A/B.
Bug: http://b/28748484
Change-Id: Ie86a265f4699503471e7c717d65677a916dbd25b
2016-05-24 00:44:50 +00:00
Tianjie Xu
3aabd770d9 Merge "Allow recovery to return error codes" into nyc-dev
am: 50f6417317

* commit '50f6417317f9e327ed76abaf34512370f8376245':
  Allow recovery to return error codes

Change-Id: I4613291b3b4a0c34d5e6999f240465237472302e
2016-05-23 18:15:40 +00:00
Tianjie Xu
50f6417317 Merge "Allow recovery to return error codes" into nyc-dev 2016-05-23 18:03:41 +00:00
Tianjie Xu
162558382b Allow recovery to return error codes
Write error code, cause code, and retry count into last_install. So we
can have more information about the reason of a failed OTA.

Example of new last_install:
@/cache/recovery/block.map     package name
0                              install result
retry: 1                       retry count (new)
error: 30                      error code (new)
cause: 12                      error cause (new)

Details in:
go/android-ota-errorcode

Bug: 28471955
Change-Id: I00e7153c821e7355c1be81a86c7f228108f3dc37
2016-05-20 13:56:53 -07:00
Matt Sarett
bd43d7e92b resolve merge conflicts of 86a28d0 to klp-modular-dev am: a5bc59620f am: 36acff7d7e am: 1f814d7630 am: ca45737e27 am: 8a1d4e97ad am: aa02888e55 am: 300af0779d am: fc1d9a49d1 am: b02b2fe392
am: 75dea9ca3a

* commit '75dea9ca3aabe23bed2d9f15b70dbdd5efb18cd1':
  DO NOT MERGE Use updated libpng API

Change-Id: I75e0414350115ec133d9905263c01c3b385512b3
2016-05-19 23:28:20 +00:00
Matt Sarett
75dea9ca3a resolve merge conflicts of 86a28d0 to klp-modular-dev am: a5bc59620f am: 36acff7d7e am: 1f814d7630 am: ca45737e27 am: 8a1d4e97ad am: aa02888e55 am: 300af0779d am: fc1d9a49d1
am: b02b2fe392

* commit 'b02b2fe392827a423c7783522edc5b9ad3d4f130':
  DO NOT MERGE Use updated libpng API

Change-Id: Ie6e8c5118687f0d34fc4acffdcb1d784e71e411f
2016-05-19 23:25:43 +00:00
Matt Sarett
b02b2fe392 resolve merge conflicts of 86a28d0 to klp-modular-dev am: a5bc59620f am: 36acff7d7e am: 1f814d7630 am: ca45737e27 am: 8a1d4e97ad am: aa02888e55 am: 300af0779d
am: fc1d9a49d1

* commit 'fc1d9a49d1e33c133c96cf6b04d6f47d3cfaa496':
  DO NOT MERGE Use updated libpng API

Change-Id: Id9da4d3980f394bf19032581629d0baf9c30e0fc
2016-05-19 23:22:55 +00:00
Matt Sarett
fc1d9a49d1 resolve merge conflicts of 86a28d0 to klp-modular-dev am: a5bc59620f am: 36acff7d7e am: 1f814d7630 am: ca45737e27 am: 8a1d4e97ad am: aa02888e55
am: 300af0779d

* commit '300af0779de3c2658f32e3de40adc41dae92df1e':
  DO NOT MERGE Use updated libpng API

Change-Id: Iac60caa51e747fcde2c08ddf06323e8b1e98f36a
2016-05-19 23:20:22 +00:00
Matt Sarett
300af0779d resolve merge conflicts of 86a28d0 to klp-modular-dev am: a5bc59620f am: 36acff7d7e am: 1f814d7630 am: ca45737e27 am: 8a1d4e97ad
am: aa02888e55

* commit 'aa02888e55147ec78fa5636a87e2447bda136d68':
  DO NOT MERGE Use updated libpng API

Change-Id: I10705dd579623e4b208093cfc4839aad496081c8
2016-05-19 23:17:52 +00:00
Matt Sarett
aa02888e55 resolve merge conflicts of 86a28d0 to klp-modular-dev am: a5bc59620f am: 36acff7d7e am: 1f814d7630 am: ca45737e27
am: 8a1d4e97ad

* commit '8a1d4e97ad3b748a06db618f9d7ccf5114ea16d0':
  DO NOT MERGE Use updated libpng API

Change-Id: I09e8917976c05beec8bf881140539948c323ce58
2016-05-19 23:14:39 +00:00
Matt Sarett
8a1d4e97ad resolve merge conflicts of 86a28d0 to klp-modular-dev am: a5bc59620f am: 36acff7d7e am: 1f814d7630
am: ca45737e27

* commit 'ca45737e272aeefd657451a6faaa088d1903378c':
  DO NOT MERGE Use updated libpng API

Change-Id: Ia9c36583c9d60d01fec7ee9aefc973dabb1c07d3
2016-05-19 23:12:10 +00:00
Matt Sarett
ca45737e27 resolve merge conflicts of 86a28d0 to klp-modular-dev am: a5bc59620f am: 36acff7d7e
am: 1f814d7630

* commit '1f814d7630c56cc9e825ed411e068414c97acb6c':
  DO NOT MERGE Use updated libpng API

Change-Id: Ib381e8ccefe9181911a2144d7255ecadefb42b5c
2016-05-19 23:08:54 +00:00
Matt Sarett
1f814d7630 resolve merge conflicts of 86a28d0 to klp-modular-dev am: a5bc59620f
am: 36acff7d7e

* commit '36acff7d7e88549bbeab6a08488ab48596d7fbc5':
  DO NOT MERGE Use updated libpng API

Change-Id: I7f01d932235ef69640ed4859d0e62344b3b774de
2016-05-19 23:06:06 +00:00
Matt Sarett
36acff7d7e resolve merge conflicts of 86a28d0 to klp-modular-dev
am: a5bc59620f

* commit 'a5bc59620fd43c99621eb98ac84cbeea867d0c93':
  DO NOT MERGE Use updated libpng API

Change-Id: I3d8d27b08fd1fd89c6b8d9c39b883a45aecb83ce
2016-05-19 23:03:35 +00:00
Matt Sarett
a5bc59620f resolve merge conflicts of 86a28d0 to klp-modular-dev
Change-Id: Ic0b085e008155da3718dab8fd5a36be6d4059aee
2016-05-19 15:47:25 -04:00
Matt Sarett
86a28d0aaf DO NOT MERGE Use updated libpng API
am: 839b4e592a

* commit '839b4e592a7c81bdebe08fae4eef6e909c89acd6':
  DO NOT MERGE Use updated libpng API

Change-Id: I7bbece70a4129554d953fd22c71527b2ca11262e
2016-05-19 19:26:12 +00:00
Tianjie Xu
027b403e8a Add time and I/O info to last_install
am: dd874b1c87

* commit 'dd874b1c87eb04f28db0db2629df0adde568a74c':
  Add time and I/O info to last_install

Change-Id: I487bdc54897816fe8ed24b441a848cac1dc29389
2016-05-18 18:44:31 +00:00
Matt Sarett
839b4e592a DO NOT MERGE Use updated libpng API
BUG:23265085
Change-Id: Ibc521fae11dad22283d8469329326ef79525b414
2016-05-17 20:28:54 +00:00
Tianjie Xu
dd874b1c87 Add time and I/O info to last_install
One example of last_install is:

/sideload/package.zip
1
time_total: 101
bytes_written_system: 14574000
bytes_stashed_system: 100
bytes_written_vendor: 5107400
bytes_stashed_vendor: 0

Bug: 28658632
Change-Id: I4bf79ea71a609068d38fbce6b41bcb892524aa7a
2016-05-16 14:54:37 -07:00
Tianjie Xu
ba4e7977e4 Make text for recovery larger on angler
am: 087c5edd8d

* commit '087c5edd8dc1e7d46a38ff2df220c29e96b17a1b':
  Make text for recovery larger on angler

Change-Id: I54421156aa6c261e9aa8a68fade71eebb5ed95fa
2016-05-02 19:34:00 +00:00
Tianjie Xu
087c5edd8d Make text for recovery larger on angler
Change the link for 560dpi to xxxhdpi from xxhdpi.

Bug: 22465983
Change-Id: I7141ee568cf3e73cdc7e0de986d705c19ac53b1f
2016-05-02 12:20:04 -07:00
Tianjie Xu
23c7af797a Merge "Add ability to show "installing security update"" into nyc-dev
am: 5823dd46df

* commit '5823dd46df9667c43e8fc3f5ff79987b7432da3f':
  Add ability to show "installing security update"

Change-Id: Ibe1667e9bd721d73a972f9c21a322c8ea088dc63
2016-05-02 17:47:52 +00:00
Tianjie Xu
5823dd46df Merge "Add ability to show "installing security update"" into nyc-dev 2016-05-02 17:38:17 +00:00
Tao Bao
f13662a349 recovery: Always log the update attempt.
am: 5687001895

* commit '568700189528c69a6cdd7a246127ce01463e033d':
  recovery: Always log the update attempt.

Change-Id: I48f3199c4640a17ae022879082f8de9948d94925
2016-05-02 16:32:41 +00:00
Tao Bao
5687001895 recovery: Always log the update attempt.
An OTA may be skipped due to low battery. But we should always log it to
understand why an update _fails_ to apply.

Bug: 27893175
Change-Id: I50a3fbbb3e51035e0ac5f1cca150e283852825c3
2016-04-29 15:41:25 -07:00
Tianjie Xu
35926c4b89 Add ability to show "installing security update"
Add a new command "--security" to boot commands. If this command is
observed as part of BCB, choose a different background text picture
for installing stage in recovery UI. As a result, users will see
"installing security update" instead of "installing system update"
when applying a security update package.

Bug: 27837319
Change-Id: I2e2253a124993ecc24804fa1ee0b918ac96837c5
2016-04-29 12:19:43 -07:00
Elliott Hughes
a7f7e7093e Merge "Improve the layout-related comments." into nyc-dev
am: 343eb72

* commit '343eb722ddd0146e5c752419b3ff9537cfa2d31d':
  Improve the layout-related comments.

Change-Id: Ia765c16883d92c6a00846413e8ada372952e8cbf
2016-04-28 02:40:39 +00:00
TreeHugger Robot
343eb722dd Merge "Improve the layout-related comments." into nyc-dev 2016-04-28 02:36:12 +00:00
Tianjie Xu
d57691e094 Merge "Update background text for recovery UI" into nyc-dev
am: eeca191

* commit 'eeca191f383d1fda6b1153cf4f443cafff7d7328':
  Update background text for recovery UI

Change-Id: I8b959e81da42baa1e95813bf6cab9a2fe374bb11
2016-04-28 00:58:33 +00:00