Commit graph

2155 commits

Author SHA1 Message Date
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
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
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
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
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
5823dd46df Merge "Add ability to show "installing security update"" into nyc-dev 2016-05-02 17:38:17 +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
TreeHugger Robot
343eb722dd Merge "Improve the layout-related comments." into nyc-dev 2016-04-28 02:36:12 +00:00
Tianjie Xu
eeca191f38 Merge "Update background text for recovery UI" into nyc-dev 2016-04-28 00:48:32 +00:00
Elliott Hughes
a369104971 Improve the layout-related comments.
Bug: http://b/26548285
Change-Id: I20ae75c4ec2dc64b982a047dba498ebda029c90d
2016-04-27 17:40:11 -07:00
Elliott Hughes
2f1eedded8 Merge "Update recovery UI." into nyc-dev 2016-04-28 00:31:21 +00:00
Tianjie Xu
a15708f45b Update background text for recovery UI
Pull in new translations and regenerate the background strings for
recovery UI.

Bug:27837319
Bug:26548285
Change-Id: I274938a5039421b947878da82336443e9647df24
2016-04-27 15:30:54 -07:00
Elliott Hughes
faf36e04ed Update recovery UI.
* Use new animation.
* Use new non-holo progress bars.
* Use recommended spacing for recovery UI.

Bug: http://b/26548285
Change-Id: I8411e89d6a6a9ce638b8645e19e5082d0d968cee
2016-04-27 14:46:01 -07:00
Baligh Uddin
47a78999ea Merge "Import translations. DO NOT MERGE" into nyc-dev 2016-04-27 21:18:01 +00:00
Bill Yi
ca5003e033 Import translations. DO NOT MERGE
Change-Id: I3383f51c68573c3e350f1bad5fce90be5643edb0
Auto-generated-cl: translation import
2016-04-26 15:04:31 -07:00
Baligh Uddin
4315841f74 Import translations. DO NOT MERGE
Change-Id: I2c06d0cb0aa43c69f4f4b8c0ce6f7a81dbd00dba
Auto-generated-cl: translation import
2016-04-26 13:35:32 -07:00
Bill Yi
e59f5de577 Import translations. DO NOT MERGE
Change-Id: I9706fca12f3c0a19019c41ba0eaf395ac53ba0b1
Auto-generated-cl: translation import
2016-04-24 22:28:28 -07:00
Tao Bao
34ca0892f4 Merge "recovery: Dump the signature in the zip package." into nyc-dev 2016-04-22 23:36:50 +00:00
Elliott Hughes
692941be79 Go back to the old ear-wiggling Android animation.
But keep the new code so we can easily test new animations when we have them.

This change includes tbao's de-interlace script, plus a one-liner that's
necessary to play the animation at the correct speed when there's no
progress bar showing. (This was always a bug, it's just way more noticeable
when your animation only has 7 frames.)

Bug: http://b/28316654
Bug: http://b/26548285
Change-Id: I32c601c352d6be235d1b44f14fca7e125defd77d
2016-04-21 14:26:14 -07:00
Tianjie Xu
df093c1512 Merge "Regenerate background text imgs in recovery" into nyc-dev 2016-04-21 00:55:51 +00:00
Tianjie Xu
8b86373fd9 Merge "Fix matches_locale function" into nyc-dev 2016-04-20 21:55:30 +00:00
Tianjie Xu
2430e2978b Fix matches_locale function
matches_locale was expecting input locale string to have at most one
underscore; as a result "zh_CN_#Hans" ignores "zh_CN" and matches into
"zh". Fix the match function and add unit tests.

Bug: 27837319
Change-Id: I4e8a66f91cae6ac2a46b6bf21f670d5ea564c7c8
2016-04-20 14:50:35 -07:00
Tao Bao
e179276f7d recovery: Dump the signature in the zip package.
We have been occasionally seeing "signature verification failed" error
message when applying an update. Make more verbose output to help
debugging.

Bug: 28246534
Change-Id: Id83633adc9b86b3fd36abbb504e430f0816f12e4
2016-04-20 14:44:29 -07:00
Elliott Hughes
4eec72d2cf Merge "Remove trailing punctuation from recovery strings." into nyc-dev 2016-04-20 15:14:47 +00:00
Elliott Hughes
ebcdea85e3 Remove trailing punctuation from recovery strings.
Bug: http://b/26548285
Change-Id: I235c620532e1759bfc76a4486409a4404f1c8c6a
2016-04-19 16:17:42 -07:00
Elliott Hughes
dd895d0ada Decrease OTA package verification times further.
Timing from Nexus 5X:

      89 MiB OTA update package: 1.4 s -> 0.6 s (decreased by 57%)
    1196 MiB OTA update package: 8.0 s -> 7.5 s (decreased by 6%)

Bug: http://b/28135231
Change-Id: Id91f2ad15df2bffb9f8a4b4ec5a57657a02847ec
2016-04-19 15:24:38 -07:00
Tianjie Xu
494cf65176 Regenerate background text imgs in recovery
Add a image for "installing security update"; and make the text
looks larger in the image. Also extend the length of string
wrapper for high definition devices, so the text will fit better
on the screen.

Bug: 22465983
Bug: 27837319
Change-Id: I2a8b7437f96a834660d6d8d8861c722dcde812f2
2016-04-18 16:49:42 -07:00
Elliott Hughes
e8d0ecccf7 Merge "Update the system update animation." into nyc-dev 2016-04-15 19:53:19 +00:00
Elliott Hughes
498cda6ef6 Update the system update animation.
Switch to a Wear-like intro/loop system. We don't have an intro yet,
but hopefully this will let Wear delete more code when they move to N.
Unlike them, we don't hard-code the number of frames: we just look to
see what we have available. We do hard-code the fps though.

Also add a graphics test mode so you can see a demo of the UI components
without having to actually apply an OTA.

Also fix a bug where default locale is null rather than en-US: it's
more useful to show _some_ text if we don't have a locale (which should
only be during development anyway).

Bug: http://b/26548285
Change-Id: I63422e3fef3c41109f924d96fb5ded0b3ae7815d
2016-04-14 22:44:23 -07:00
Elliott Hughes
70ae70b81e Explicitly set the font face and color.
This matches what the UI folks asked us to use.

Also fix the locale parsing code.

Bug: http://b/27837319
Bug: http://b/22465983
Bug: http://b/26548285
Change-Id: I316a6e1f44855313dd983950abf21b543be7ffc0
2016-04-14 17:18:41 -07:00
Elliott Hughes
8febafa67e Use BoringSSL instead of mincrypt to speed up package verification.
This changes the verification code in bootable/recovery to use
BoringSSL instead of mincrypt.

Cherry-pick of 452df6d99c, with
merge conflict resolution, extra logging in verifier.cpp, and
an increase in the hash chunk size from 4KiB to 1MiB.

Bug: http://b/28135231
Change-Id: I1ed7efd52223dd6f6a4629cad187cbc383d5aa84
2016-04-13 16:39:56 -07:00
Yabin Cui
a58a6dbe3d uncrypt: split libbootloader_message_writer for reuse.
init and vold also need to write bootloader message, so
split this function from uncrypt into a separate library.

Bug: 27176738
Change-Id: If9b0887b4f6ffab6162d9cb47a6ceb7eedd60b4d
2016-04-08 11:46:56 -07:00
Bill Yi
b162551a30 Merge "Import translations. DO NOT MERGE" into nyc-dev 2016-04-05 18:44:50 +00:00
Bill Yi
c1afe830cf Import translations. DO NOT MERGE
Change-Id: Ic643d0e2d39e45d772ffb25001de45afdf923579
Auto-generated-cl: translation import
2016-04-05 11:13:59 -07:00
Mark Salyzyn
a569727609 recovery-persist: pick up both pstore console files
(cherry pick from commit 5f7111ff4d)

- Volantis console-ramoops-0 (upstream correct)
- Angler console-ramoops
- Bullhead console-ramoops
- Shamu console-ramoops

NB: Shamu also has kernel crashes in other pstore files,
    not merging them in.

Bug: 27176738
Change-Id: Ib6eef3e25475935b89252f51c960719c7860511a
2016-04-05 07:46:34 -07:00
Bill Yi
f75b6e47de Import translations. DO NOT MERGE
Change-Id: Ia0012b89f00c65ec6056d29612748e60564bab32
Auto-generated-cl: translation import
2016-04-04 17:59:17 -07:00
Mark Salyzyn
13aca598f8 recovery: use __android_log_pmsg_file_write for log files
(cherry-pick from commit a4f701af93)

- Add call to __android_log_pmsg_file_write for recovery logging.
- Add call to refresh pmsg if we reboot back into recovery and then
  allow overwrite of those logs.
- Add a new one-time executable recovery-refresh that refreshes pmsg
  in post-fs phase of init. We rely on pmsg eventually scrolling off
  to age the content after recovery-persist has done its job.
- Add a new one-time executable recovery-persist that transfers from
  pmsg to /data/misc/recovery/ directory if /cache is not mounted
  in post-fs-data phase of init.
- Build and appropriately trigger the above two as required if
  BOARD_CACHEIMAGE_PARTITION_SIZE is undefined.
- Add some simple unit tests

NB: Test failure is expected on systems that do not deliver either
the recovery-persist or recovery-refresh executables, e.g. systems
with /cache. Tests also require a timely reboot sequence of test
to truly verify, tests provide guidance on stderr to direct.

Bug: 27176738
Change-Id: I17bb95980234984f6b2087fd5941b0a3126b706b
2016-03-31 13:52:54 -07:00