Commit Graph
10911 Commits
Author SHA1 Message Date
Isaac Chen 26fd78c024 Let update_verifier work on non-AB update devices
Make update_verifier check if it runs on A/B update devices at the
beginning, and quit immediately if it doesn't, instead of re-boot.

Bug: 70541023
Test: On aosp/master:
    $ lunch aosp_x86_64-userdebug; m -j # boot to home screen
    # On goog/master:
    $ lunch aosp_walleye-userdebug; m -j # boot to home screen

Change-Id: Ib71a3a3b272cfa5dd0b479eaa067eedaec8fde7d
2017-12-14 10:20:07 +08:00
Ethan Yonker ea4efc6d20 Fix build error in AOSP 8.1.0 r1 tree
Change-Id: If6f230105f5661a4544116d44c8fd48d4dc96f99
2017-12-12 16:24:28 -06:00
Ethan Yonker aac05c2f07 Fix android.hidle.base@1.0 rule for various 8.0 trees
Change-Id: I57a1a807841b20860c9a1c9523be385b12b6b933
2017-12-12 07:04:05 -06:00
android-build-team Robot 60548a2200 Snap for 4496165 from 7153b24dd7 to pi-release
Change-Id: Ic6144b00578f90e289d3900fad18dd3d7f45624d
2017-12-11 12:07:40 +00:00
Tao Bao 7153b24dd7 Merge "applypatch: Remove the 'st' field from FileContents." am: 9203e77e7d am: 710712f235
am: a002abfacf

Change-Id: I3ee175ff08cdcfbb1930039a14bad8d13c336410
2017-12-09 17:39:05 +00:00
Tao Bao a002abfacf Merge "applypatch: Remove the 'st' field from FileContents." am: 9203e77e7d
am: 710712f235

Change-Id: I7c51478f551994a5f8914757890a216b663901da
2017-12-09 17:36:05 +00:00
Tao Bao 710712f235 Merge "applypatch: Remove the 'st' field from FileContents."
am: 9203e77e7d

Change-Id: I76e706188be845bb3b58e78501aa0d9cfd748e5a
2017-12-09 17:33:01 +00:00
Tao Bao 9203e77e7d Merge "applypatch: Remove the 'st' field from FileContents." 2017-12-09 17:27:39 +00:00
bigbiff bigbiff 2af13795b9 TWRP Bugfix release
This release fixes restore by forcing regular TWRP Backup by default.
Thanks to jlask for fixing this issue.

Change-Id: I0b2d507d7a2a3e6bfdd00174af89efbe511e90e0
2017-12-08 17:50:41 -05:00
Jaegeuk Kim a296fea692 Merge "add sload.f2fs for recovery format" am: 4eaf7a157d am: 3d4359d3ae
am: adb8f660a2

Change-Id: I551f6fe2e040720ea02cbdacfc73bc3aaa5b2e3d
2017-12-08 17:00:50 +00:00
jason972000 adae336c1c Default to device backup/restore vs. adb backup/restore
Change-Id: I81bfea1e9978dd003e96a48f399d259a878ddc44
2017-12-08 09:12:11 -06:00
Jaegeuk Kim adb8f660a2 Merge "add sload.f2fs for recovery format" am: 4eaf7a157d
am: 3d4359d3ae

Change-Id: I4098c81a3c5cef921463c6b7512113961034f81b
2017-12-08 01:13:13 +00:00
Jaegeuk Kim 3d4359d3ae Merge "add sload.f2fs for recovery format"
am: 4eaf7a157d

Change-Id: I44f158c95501e37088dbd05d006614bb2799d491
2017-12-08 01:07:11 +00:00
Elliott Hughes 38b4f74b5d Merge "Add a /bin symlink for consistency." am: ed369101ba am: 13b751ed84
am: 669f9b0cbf

Change-Id: I5587974efae8d33067896becf687f59468a570df
2017-12-08 00:58:01 +00:00
Jaegeuk Kim 4eaf7a157d Merge "add sload.f2fs for recovery format" 2017-12-08 00:57:41 +00:00
Elliott Hughes 669f9b0cbf Merge "Add a /bin symlink for consistency." am: ed369101ba
am: 13b751ed84

Change-Id: I144d599f1ba418079675f9a8d5a0812912228819
2017-12-07 18:49:47 +00:00
Elliott Hughes 13b751ed84 Merge "Add a /bin symlink for consistency."
am: ed369101ba

Change-Id: Iac7a3234333f46aaba83b47f66ba73074be86fe6
2017-12-07 18:38:10 +00:00
Tao Bao 47e5a8d085 applypatch: Remove the 'st' field from FileContents.
It used to keep track of the stat(2) info (e.g. st_mode/st_gid/st_uid)
while patching a file in file-based OTA.

Test: Build and use the new updater to apply an update on bullhead.
Change-Id: Ibf8f0f4b14298a9489bf24a2678bb279c5d9c8f3
2017-12-07 10:01:57 -08:00
Elliott Hughes ed369101ba Merge "Add a /bin symlink for consistency." 2017-12-07 16:55:25 +00:00
Elliott Hughes 4dca6f12db Add a /bin symlink for consistency.
Bug: http://b/63142920
Test: builds
Change-Id: I1f96935daca4d79f753e172067e07f8e27ea819e
2017-12-06 08:41:50 -08:00
big biff e17b78ad60 Merge "Fix stuck on 'black' screen entering recovery" into android-8.0 2017-12-06 00:34:29 +01:00
DevUt 04156c3f5a Fix the inconsistencies in the spelling of SD card
Change-Id: I30d7a3d38654292d38e3f69a196bc03928b7d22e
2017-12-05 16:35:14 +01:00
Jaegeuk Kim c1c7311b8a add sload.f2fs for recovery format
Change-Id: Iddfe54b2b36f2d531925cbe61c98dbfb4903c0d1
Signed-off-by: Jaegeuk Kim <jaegeuk@google.com>
2017-12-04 20:27:49 -08:00
nkk71 a2341b0caa Fix stuck on 'black' screen entering recovery
* In omni-8.0 'android.hidl.base@1.0.so', although properly built
  does not get copied to the /sbin/ directory for TWRP, resulting
  in TWRP constantly *trying* to restart with the missing lib:
    CANNOT LINK EXECUTABLE "/sbin/recovery":
    library "android.hidl.base@1.0.so" not found
  Leading to a stuck on "black" screen (or some splash screen, but
  never even reaching TWRP splash screen).

Change-Id: I10a3c3d72c0f141687dbbf552e59fb31c015b278
2017-12-04 01:52:08 +02:00
android-build-team Robot f968a2e9eb Snap for 4481641 from 1ab7bf47a6 to pi-release
Change-Id: Ifeab1a783e7a58b9ec2b2a2e8e458e0c7a981362
2017-12-03 08:37:21 +00:00
Tianjie Xu 1ab7bf47a6 Merge "Detect interrupted update due to power off" am: d8fadfb606 am: d9caba2bbe
am: db20e41b0c

Change-Id: Ibd568f8881e3c9dd16c1567857d49badf9d4cdc2
2017-12-01 03:02:14 +00:00
Tianjie Xu db20e41b0c Merge "Detect interrupted update due to power off" am: d8fadfb606
am: d9caba2bbe

Change-Id: I1f15871dde9525441f292bd1f546aaad0de158e5
2017-12-01 03:00:12 +00:00
Tianjie Xu d9caba2bbe Merge "Detect interrupted update due to power off"
am: d8fadfb606

Change-Id: I2295430f7153711fb4e23d3e6f7af7c65efb7c54
2017-12-01 02:58:41 +00:00
Treehugger Robot d8fadfb606 Merge "Detect interrupted update due to power off" 2017-12-01 02:52:23 +00:00
Tianjie Xu 99b73be3a8 Detect interrupted update due to power off
An interrupted update may stash extra blocks in /cache, leading to a
failure when checking the cache size. We can save the incremented
retry_count in the BCB before installing the update; and distinguish
a fresh update from an interrupted one this way.

Bug: 68679601
Test: An interrupted update reapplies successfully.
Change-Id: Ic1403e1fd25a937c91ef34c14b92a0f6c8f1c0f4
2017-11-30 16:25:47 -08:00
Ethan Yonker 606cc915f1 Fix compile error with IGNORE_MISC_WIPE_DATA in some trees
Change-Id: I4a57e4e90158d50a9e9c9aef8ed1da9ee9179554
2017-11-30 10:24:33 -06:00
Ethan Yonker 7c997913e2 Fix more compile errors in bootloader_message_twrp
Change-Id: I3b1b540f404efcd153d0b75d29e5b6ee8b0caa85
2017-11-30 07:24:06 -06:00
Ethan Yonker 31344a3b2f Better compatibility across 8.0.0 trees
Change-Id: Ic8200da4e99826736e002a1ab5f9e5f967e84193
2017-11-29 13:23:50 -06:00
Andreas Schneider 06c621908a minui: Fix building graphics_overlay.cpp
Change-Id: I65aad9253ebad598acd9468694d0e1bf6c4abc6a
2017-11-29 20:01:26 +01:00
Andreas Schneider 9c820955c8 minui: Move graphics_overlay.h down that we have all structs defined
Change-Id: Id971c900aec5931a11065e7e466db33acb0390eb
2017-11-29 18:04:00 +01:00
Andreas Schneider 6de59412eb minui: Add missing <linux/ion.h> for 'struct ion_handle_data'
Change-Id: I87133cc8409ab988bbffa40d790e138c25b01309
2017-11-29 18:03:28 +01:00
Andreas Schneider 58d68e5a0a minui: Only include graphics_adf.h if we do not build with MSM_BSP
Change-Id: Id32a394d23ea5df986615855119912f765ebee99
2017-11-29 18:02:58 +01:00
Andreas Schneider 75847daf15 minui: Do not overwrite previously set CFLAGS
Change-Id: Ifa5bcffa12c045cb629974684882f1e0f56dcce6
2017-11-29 18:01:16 +01:00
Ethan Yonker 41a5f72b02 3.2.0
Change-Id: I526aaf59a903baccea77e2f731c3166c3d3c05eb
2017-11-28 22:39:21 -06:00
Ethan Yonker 917331b968 Fix build error in old 5.0 tree
Change-Id: I3faa0b6cc964a148dcc1bae7fdeba877fd795cf7
2017-11-28 22:28:27 -06:00
bigbiff bigbiff 5b7cb88818 ADB Backup: fix compilation error for remove
Change-Id: Ia1b6e7a216bf3fd60bbfac9cbc11038636e3560f
2017-11-28 19:26:27 -05:00
nkk71 7d1222a5fe vold_decrypt: FDE Keymaster 3.0 support
* HTC U11 Oreo is using keymaster3 FDE encryption which requires
  the new services:
    1- /system/bin/hwservicemanager
    2- /vendor/bin/hw/android.hardware.keymaster@3.0-service
    3- /vendor/bin/qseecomd (instead of /system/bin/qseecomd)
  So in addition to /vendor/lib and /vendor/lib64 also
  symlink /system/vendor/bin to /vendor/bin.

* vold_decrypt services now have separate prefixes:
    1- 'sys_' referring to /system/bin
    2- 'ven_' referring to /vendor/bin

* The additional (hwservicemanager, keymaster-3-0) and modified
  (qseecomd) .rc files have been updated in the vold_decrypt
  directory.
  Comments were added directly in the .rc files, please check
  them.

* /etc/recovery.fstab needs to be temporarily moved since
  vold will use it if it finds the '/sbin/recovery' file
  (refer to fs_mgr for the fstab load code https://goo.gl/8KaZyf).
  Since fs_mgr cannot parse TWRP style fstab, we 'hide' it
  and attempt to create a symlink to /fstab.{ro.hardware}.

Also remove shell dependencies, code cleanup, new error codes:
* Critical sections of vold_decrypt should not rely on the external
  shell (and the available binaries) provided by TWFunc::Exec_Cmd.
  Doing so may lead to failures resulting from different shell
  provided binaries not working properly, especially since busybox
  can be inconsistent across different trees.

  In particular the following functions have been changed:
  * run_vdc() no longer uses daisy chained commands, instead
    it now forks and executes vdc directly including a 30 second
    built in timeout.
  * Symlink_Firmware_Files() no longer relies on the shell 'find'
    command to retrieve the list of firmware/vendor files and instead
    uses a built in function, Find_Firmware_Files(), which traverses
    the system partition to retrieve the list of files.

* The code has also been cleaned up a little for better consistency,
  and vold_decrypt will now return various error codes for the
  different failures, as defined in vold_decrypt.h, which allows the
  gui_msg to be moved back to partitionmanager.cpp.

Notes regarding pre Android 8.0 builds:
* Service names in .rc files cannot exceed 16 characters (including
  the prepended 'sys_' or 'ven_') in Android 7.1 and below, so a
  service name such as 'sys_hwservicemanager' is out of the question
  for 7.1 and below.
* hwservicemanager will check ACLs on 'hwservicemanager' and 'ITokenManager'
  if they are even allowed to run, otherwise the interfaces will fail.
  The policies have only been introduced in 8.0, and although it is possible
  to manually add them to the 7.1 policies it's not recommended.
* Therefore the best course of action is to build in 8.0.

* SIDE NOTE: On the HTC U11 we are actually using omni-7.1 with some changes
  in the device tree to support both Nougat and Oreo decryption, please
  refer to:
    1- https://gerrit.twrp.me/c/2756/ for the necessary sepolicy and
       BoardConfig changes.
    2- The Android.mk file for vold_decrypt was modified to truncate
       greater than 16 character service names (as mentioned therein)

Other changes:
* TW_CRYPTO_SYSTEM_VOLD_DISABLE_TIMEOUT is now deprecated due to built-
  in fork and timeout.
* Output_dmesg_to_recovery_log() is also deprecated so upon a failed
  decryption the recovery.log will no longer append it, instead you can
  just use 'adb shell dmesg' to check it. Nonetheless if a true debug
  build is needed use the original TW_CRYPTO_SYSTEM_VOLD_DEBUG flag as
  outlined in the original commit message (see below).

Usage info:
This is an update to the initial vold_decrypt, for more info refer to
https://github.com/omnirom/android_bootable_recovery/commit/71c6c50d0da1f32dd18a749797e88de2358c5ba1

Change-Id: Id7129d125ae7f5dcba0779489825add718022ba3
2017-11-28 23:05:54 +01:00
Ethan Yonker fefe5915b0 FBE for Pixel 2
Includes various minor fixes for building in Android 8 trees with r23+ tag

Update FBE extended header in libtar to version 2 and include the entire
ext4_encryption_policy structure now after translating the policy.

See this post for more details:
https://plus.google.com/u/1/+DeesTroy/posts/i33ygUi7tiu

Change-Id: I2af981e51f459b17fcd895fb8c2d3f6c8200e24b
2017-11-28 16:03:41 -06:00
Dees Troy dc864ec8ac Merge "Support v2 fstab format" into android-8.0 2017-11-28 15:04:30 +01:00
Ethan Yonker dcd9f3f384 Fix issues building with LineageOS cryptfs_hw
Change-Id: Ie22691433aefa3b8819ec14e0349ee12bd88a1c2
2017-11-28 14:53:49 +01:00
Ethan Yonker 6e8c27a52b Support v2 fstab format
Auto detect and support both the v1 and v2 fstab formats
Support putting TWRP style flags in a separate /etc/twrp.flags file

twrp.flags format is the same as twrp.fstab (v1 with TWRP flags)

Support using a wildcard in a block device and find all partitions:
/usb-otg vfat /dev/block/sda*

Support using sysfs entries (voldmanaged) and read uevents and scan for
wildcard partitions from uevent data. (twvold?)

May not be complete for some of the newer flags found in fstabs in newer
build trees and there is a slim chance of a crash if the user removes a
removable device while TWRP is performing actions. May need to add some
kind of mutex to prevent the 2 threads from causing this crash. We need
to start somewhere though and this change is pretty innocuous when not
using a v2 fstab.

Change-Id: I617d97c7db332cbe671a9d2b8ad98b3d9c4f03cc
2017-11-28 00:20:51 +01:00
bigbiff bigbiff adcb4d8cb7 ADB Backup: Fix gzip backup and restore
Change-Id: I92821c7053089d130a5ab73fa36aec486da77bf1
2017-11-27 16:43:20 +01:00
bigbiff bigbiff 19fb79c722 ADB Backup: add ability for TWRP GUI to restore
Restore adb backup files that TWRP made to your PC.
Put files in your backup directory to see them.

e.g. /sdcard/TWRP/BACKUPS/<sn>

Change-Id: I2c57970d77b64c39a302159041456e761c185259
2017-11-27 09:32:30 -06:00
android-build-team Robot 1e5b2d9a10 Snap for 4462748 from debdd1732c to pi-release
Change-Id: I058b404064e01d68928f38aa15024ca54eceb5dd
2017-11-21 08:24:04 +00:00
Yifan Hong debdd1732c Merge "is_battery_ok use health 2.0 HAL" 2017-11-20 22:52:05 +00:00