Commit Graph

3875 Commits

Author SHA1 Message Date
David Zeuthen 1f108dae49 Merge "update_verifier: Support AVB."
am: e248e434ea

Change-Id: Ia17522bce3427eb29fc0e8860ea6e05749047d49
2017-06-22 19:22:11 +00:00
Treehugger Robot e248e434ea Merge "update_verifier: Support AVB." 2017-06-22 19:15:15 +00:00
Luke Song 850e00951a Merge "Introduce VR recovery ui"
am: 5efe2bca22

Change-Id: I5fb663d9922866aa57e0afcd6d86f3afdf0de8c9
2017-06-17 00:09:37 +00:00
Treehugger Robot 5efe2bca22 Merge "Introduce VR recovery ui" 2017-06-17 00:00:00 +00:00
Luke Song e2bd876043 Introduce VR recovery ui
A version of screen ui with specific adjustments for vr device
compatibility.

(cherrypick of a44dba7f4e to AOSP)

Bug: 37779982
Test: "adb reboot recovery" to view
Change-Id: If6b0f26c1b587f8d0176060685b5efb6c67593b1
2017-06-16 15:33:02 -07:00
Chih-hung Hsieh 9f20e861b6 Merge "Add OWNERS in bootable/recovery"
am: ffd8505f4d

Change-Id: I2675a929464997b106818afd4cf8a28b3b65f69c
2017-06-16 16:05:57 +00:00
Chih-hung Hsieh ffd8505f4d Merge "Add OWNERS in bootable/recovery" 2017-06-16 15:56:16 +00:00
Chih-Hung Hsieh d6c49be5de Add OWNERS in bootable/recovery
* Owners are selected from top CL approvals or owners.
  They will be suggested to review/approve future CLs.
* OWNERS files are recognized by the new find-owners plugin, see .md files in
  https://gerrit.googlesource.com/plugins/find-owners/+/master/src/main/resources/Documentation/

Test: build/make/tools/checkowners.py -c -v OWNERS
Change-Id: Ifb3f0a31389b2d55357fb6b8ea60c42dd790169d
2017-06-15 14:17:27 -07:00
Tianjie Xu efa40b4827 Merge "Fix a race condition for temperature_logger"
am: 8e5fb46e87

Change-Id: If62d4548b541432963a4d3d41f299d19927c72d6
2017-06-09 01:01:03 +00:00
Tianjie Xu 8e5fb46e87 Merge "Fix a race condition for temperature_logger" 2017-06-09 00:56:39 +00:00
Tianjie Xu 379571098d Fix a race condition for temperature_logger
It's a rare deadlock that happens on fugu when the updater exits too
fast due to a format error.

Bug: 62379170
Test: fake-ota fails gracefully without hanging.
Change-Id: Icbd6cff4f6b44ca20f4d75f8039332111f696cc5
2017-06-08 12:10:30 -07:00
Tianjie Xu 49f9c969eb Merge "kill package_extract_dir"
am: 99e7216907

Change-Id: Ibc08736b0108151a4a023d971bd608654138d45e
2017-05-31 21:54:18 +00:00
Tianjie Xu 99e7216907 Merge "kill package_extract_dir" 2017-05-31 21:49:03 +00:00
Tianjie Xu 0f8e67088a Merge "Implement a custom deflate sink function for bspatch"
am: 764eb215af

Change-Id: Ifac391f38d692a5312b4b03ff5eaf701da6d7d41
2017-05-26 23:13:36 +00:00
Tianjie Xu 764eb215af Merge "Implement a custom deflate sink function for bspatch" 2017-05-26 23:07:13 +00:00
Tianjie Xu a897f95bd5 Implement a custom deflate sink function for bspatch
This new sink function works as a wrapper of the old sink. It deflates
the available patch data on the fly. Therefore, we don't need to store
the full uncompressed patch data in memory.

Test: recovery_component_test && apply an incremental update on angler
Change-Id: I2274ec50a1607089abcc9d0954a2a748f28c3122
2017-05-26 14:05:20 -07:00
Tianjie Xu 66f02b4e71 Merge "Retry the update if ApplyBSDiffPatch | ApplyImagePatch fails"
am: 9c1a114789

Change-Id: I45afda69f82147ba02b3e4666c3a296d84a2db47
2017-05-24 18:48:04 +00:00
Tianjie Xu 9c1a114789 Merge "Retry the update if ApplyBSDiffPatch | ApplyImagePatch fails" 2017-05-24 18:42:02 +00:00
David Zeuthen 8ed9738b62 update_verifier: Support AVB.
When using AVB, PRODUCT_SUPPORTS_VERITY is not set so check for
BOARD_ENABLE_AVB as well. Also AVB sets up the root filesystem as
'vroot' so map that to 'system' since this is what is
expected. Managed to test at least that the code is at least compiled
in:

 $ fastboot --set-active=_a
 Setting current slot to 'a'...
 OKAY [  0.023s]
 finished. total time: 0.023s

 $ fastboot reboot
 rebooting...

 finished. total time: 0.050s

 $ adb wait-for-device

 $ adb logcat |grep update_verifier
 03-04 05:28:56.773   630   630 I /system/bin/update_verifier: Started with arg 1: nonencrypted
 03-04 05:28:56.776   630   630 I /system/bin/update_verifier: Booting slot 0: isSlotMarkedSuccessful=0
 03-04 05:28:56.776   630   630 W /system/bin/update_verifier: Failed to open /data/ota_package/care_map.txt: No such file or directory
 03-04 05:28:56.788   630   630 I /system/bin/update_verifier: Marked slot 0 as booted successfully.
 03-04 05:28:56.788   630   630 I /system/bin/update_verifier: Leaving update_verifier.

Bug: None
Test: Manually tested on device using AVB bootloader.
Change-Id: I13c0fe1cc5d0f397e36f5e62fcc05c8dfee5fd85
2017-05-24 14:14:11 -04:00
Tianjie Xu 6957555e29 Retry the update if ApplyBSDiffPatch | ApplyImagePatch fails
We have seen one case when bspatch failed likely due to patch
corruption. Since the package has passed verification before, we want
to reboot and retry the patch command again since there's no
alternative for users.

We won't delete the stash before reboot, and the src has passed SHA1
check. If there's an error on the patch, it will fail the package
verification during retry.

Bug: 37855643
Test: angler reboots and retries the update when bspatch fails.
Change-Id: I2ebac9621bd1f0649bb301b9a28a0dd079ed4e1d
2017-05-23 17:36:56 -07:00
Tianjie Xu 53c38b1538 kill package_extract_dir
It's only used by file-based OTA which has been deprecated for O.

Test: mma
Change-Id: I439c93155ca94554d827142c99aa6c0845cc7561
2017-05-23 17:09:45 -07:00
Tianjie Xu 8f68accc9d Merge "Print SHA1 of the patch if bsdiff fails with data error"
am: 1f9808bd48

Change-Id: I4900198d7c45c864e1a93bbd386b4ec36ed4cdec
2017-05-18 22:11:54 +00:00
Tianjie Xu 1f9808bd48 Merge "Print SHA1 of the patch if bsdiff fails with data error" 2017-05-18 22:02:03 +00:00
Tom Cherry 8226fd8926 Merge "libbootloader_message: convert to Android.bp"
am: bec0d4cb94

Change-Id: I0da04f8103a48f746801fdf9381571e4a812e8c3
2017-05-18 20:26:24 +00:00
Tom Cherry bec0d4cb94 Merge "libbootloader_message: convert to Android.bp" 2017-05-18 20:18:00 +00:00
Tianjie Xu 1d6f88675b Merge "Fix the input parameter for "set_retry_bootloader_message""
am: 0e60ccdc76

Change-Id: I881182909805359cb1042a25bb7d942586fbbaab
2017-05-17 20:13:31 +00:00
Tianjie Xu 0e60ccdc76 Merge "Fix the input parameter for "set_retry_bootloader_message"" 2017-05-17 20:02:12 +00:00
Tom Cherry 600e806384 libbootloader_message: convert to Android.bp
Test: build
Change-Id: Ia0c2e141673e37eea29306817d2f4b2c944213b0
2017-05-17 11:43:29 -07:00
Tianjie Xu 72449c9f99 Fix the input parameter for "set_retry_bootloader_message"
We're not updating argc & argv during get_args(), so some boot
arguments missed when we set the boot message for retry.

Bug: 38383406
Test: boot command sets correctly during retry attempt.
Change-Id: Ie8583a22fad5e0084245e3431d4018518d508dfd
2017-05-17 18:09:35 +00:00
Tianjie Xu ce5fa5e538 Print SHA1 of the patch if bsdiff fails with data error
This will help us to identify the patch corruption.

Meanwhile fix a wrong size parameter passed to bspatch.
(patch->data.size() into patch->data.size() - patch_offset).

Also remove the only usage of "ApplyBSDiffPatchMem()" and inline its
Sink function for simplicity.

Bug: 37855643
Test: Prints SHA1 for corrupted patch in imgdiff_test.
Change-Id: Ibf2db8c08b0ded1409bb7c91a3547a6bf99c601d
2017-05-16 12:39:14 -07:00
Tao Bao 843ca31c4c Merge "updater: Update the mkfs.f2fs argument to match f2fs-tools 1.8.0."
am: 494d97fe6b

Change-Id: I48bf4260c586bdbcc12e615ff5b0ce6459f88c98
2017-05-12 21:45:47 +00:00
Tao Bao 494d97fe6b Merge "updater: Update the mkfs.f2fs argument to match f2fs-tools 1.8.0." 2017-05-12 21:26:36 +00:00
Tao Bao 397a8137a0 updater: Update the mkfs.f2fs argument to match f2fs-tools 1.8.0.
Commit adeb41a8c0 has switched the
argument for recovery. This CL handles the case for updater.

Note that there's a chance the updater may run against the old
recovery (and f2fs 1.4.1 binary). Not sending a 0-sector argument to
f2fs 1.4.1 also works.

Bug: 37758867
Test: Make an OTA package that calls format f2fs, with mkfs.f2fs 1.8.0
      and 1.4.1 binaries respectively.
Change-Id: I4d4bbe8c57544d1c514b7aa37fbf22a0aab14e2c
2017-05-12 12:09:16 -07:00
Tao Bao 7ca2e734fc Merge "Don't write to /sys/class/android_usb/android0/enable with configfs."
am: 7cb1b79673

Change-Id: Id8d5e0ce3c5c31df534dc82fc8a7b743cb8649fa
2017-05-12 01:35:55 +00:00
Tao Bao 7cb1b79673 Merge "Don't write to /sys/class/android_usb/android0/enable with configfs." 2017-05-12 01:18:52 +00:00
Tao Bao 0167d4c382 Don't write to /sys/class/android_usb/android0/enable with configfs.
USB configfs doesn't use /s/c/a/a/enable. Trying to set that gives
confusing message on screen when sideloading.

Bug: 37713851
Test: adb sideload on device using with configfs.
Test: adb sideload on marlin.
Change-Id: Ifa55f90c2a5fe6bf9e7cee95882de9f6de686d73
2017-05-11 14:50:20 -07:00
Tao Bao b0626221a1 Merge "recovery: Skip "/" in setup_install_mounts()."
am: d7446c8eed

Change-Id: I93411025025393abe819ff109ce7e00565281d88
2017-05-11 04:37:13 +00:00
Tao Bao d7446c8eed Merge "recovery: Skip "/" in setup_install_mounts()." 2017-05-11 04:31:22 +00:00
Tao Bao 57130c45f8 recovery: Skip "/" in setup_install_mounts().
We don't want to do anything for "/" when preparing for an install.

Bug: 36686818
Test: adb sideload on angler/marlin respectively.
Change-Id: Id854dd0a743a0e163a8f13baf2514105091ddc67
2017-05-10 12:11:21 -07:00
Steven Moreland 46938bcf0c Merge "otautil: Android.mk -> Android.bp"
am: 106ca8e93f

Change-Id: I59305515a5d9f9df949bf42135803311f5b355e6
2017-05-10 03:18:22 +00:00
Treehugger Robot 106ca8e93f Merge "otautil: Android.mk -> Android.bp" 2017-05-10 03:05:25 +00:00
Steven Moreland f3ae55a167 otautil: Android.mk -> Android.bp
Test: flash and boot recovery on internal angler
Change-Id: Id8845b4b422d0078b251333eb6d30ce14771ef10
2017-05-09 16:09:41 -07:00
Tao Bao 1dc25e3e0a Merge "recovery: Use libverifier instead of rebuilding the sources."
am: c008485643

Change-Id: Ie75f03351f2106fc816a133c52365444064ce608
2017-05-09 16:56:32 +00:00
Tao Bao c008485643 Merge "recovery: Use libverifier instead of rebuilding the sources." 2017-05-09 16:49:31 +00:00
Tao Bao f648b5c9fc Merge "Add a binary path param to update_binary_command()."
am: 197304aada

Change-Id: I7035cbc02b8f7dcd9a7b41602105e9397ab35572
2017-05-09 00:17:59 +00:00
Tao Bao 197304aada Merge "Add a binary path param to update_binary_command()." 2017-05-09 00:13:55 +00:00
Tao Bao 00d5757186 Add a binary path param to update_binary_command().
This allows writing native tests for non-A/B update_binary_command().
Prior to this CL, it was extracting the updater to a hard-coded
location (/tmp/update_binary) that's not available under the test
environment.

Test: recovery_component_test on angler and marlin respectively.
Test: Sideload OTA packages on angler and marlin respectively.
Change-Id: I78b9cc211d90c0a16a84e94e339b65759300e2a8
2017-05-08 12:16:45 -07:00
Tao Bao b168f5f857 recovery: Use libverifier instead of rebuilding the sources.
Test: mmma bootable/recovery
Change-Id: Ie8cec009b00c121948179518ba9cbc26a82352bf
2017-05-08 11:04:07 -07:00
Jin Qian d6f506e783 Merge "recovery: update mkfs.f2fs args to match f2fs-tools 1.8.0"
am: f347c1abca

Change-Id: I0308f26d79af2f34a28a0c67142b8e205bf07062
2017-05-05 19:51:36 +00:00
Treehugger Robot f347c1abca Merge "recovery: update mkfs.f2fs args to match f2fs-tools 1.8.0" 2017-05-05 19:39:25 +00:00