Commit Graph

9577 Commits

Author SHA1 Message Date
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
Jin Qian 86104180a0 Merge "root: Fix an issue when volume length from fs_mgr is negative." am: 5ce9fe355c am: 25e27f48db
am: 7a1abb9279

Change-Id: I6836e9294639fd99f65541960f33234e30262e2e
2017-11-20 18:57:20 +00:00
Jin Qian 7a1abb9279 Merge "root: Fix an issue when volume length from fs_mgr is negative." am: 5ce9fe355c
am: 25e27f48db

Change-Id: I1a9171a1f31384915c7a3b72785265b85a697979
2017-11-20 18:54:48 +00:00
Jin Qian 25e27f48db Merge "root: Fix an issue when volume length from fs_mgr is negative."
am: 5ce9fe355c

Change-Id: I4ff7bccb0dd2fecf309f3a3d23379d2467d64aea
2017-11-20 18:52:48 +00:00
Treehugger Robot 5ce9fe355c Merge "root: Fix an issue when volume length from fs_mgr is negative." 2017-11-20 18:47:56 +00:00
leskal 372019c8cd Improve greek translation
Change-Id: I1642a2c89e50438fdd7308dba318d52440b0809f
2017-11-20 18:37:52 +01:00
android-build-team Robot 9475d96da1 Snap for 4459973 from 0a0b6a9fe1 to pi-release
Change-Id: I21d065629a3f9cc1b244da88cc133712ec7ce718
2017-11-19 08:21:48 +00:00
Jin Qian cc10008887 root: Fix an issue when volume length from fs_mgr is negative.
fs_mgr passes negative length as offset for crypt_footer. We need
to compute the actual device size for this case in addition to
when length is zero.

Bug: 68949069
Change-Id: I803955dd9591ad7752cee0dea9b683be8f4fd4ba
2017-11-18 21:54:44 -08:00
Michael Bestas 4a18558c69 Improve automatic detection of QCOM RTC fix
* Enable it on all platforms after msm8960

Change-Id: I2584048a9b9fa77c6c7d3408d280811143b01e8d
2017-11-19 00:12:50 +01:00
Ethan Yonker 32e803a474 Fix compile error in bootloader_message_twrp on 6.0 tree
Change-Id: Ifcfff60fab1cd73b524cd521a7094c344f8e9e1d
2017-11-18 08:10:51 -06:00
nkk71 b4c3591306 Auto detect possible use of legacy props
* Revert: Make legacy props an option disabled by default
  (reverted from commit 75aa615767)

* Instead check for ANDROID_PROPERTY_WORKSPACE in the updater-
  binary to determine whether legacy property service can be
  used

Change-Id: If68d5cca9a2b56edcb1c73db0474668cf46d8c91
2017-11-17 23:49:11 +01:00
nkk71 04ec095226 Fix mkfs.f2fs build error
* OmniROM 8.0 uses AOSP f2fs-tools which builds a static
  mkfs.f2fs directly to $(TARGET_RECOVERY_ROOT_OUT)/sbin

Change-Id: I364a13e33e71abceab2f9ba1bd3179c2d9672b27
2017-11-17 18:13:00 +01:00
nkk71 884bb2bc24 Fix 'No OS' on System_Image restore after wipe
* When you format the system partition, it will remain
  in a mounted state.
* Subsequently restoring a system_image (even though
  successfully) the Update_System_Details() function
  will not correctly update the system partition
  details.

* Reproducible by:
  1- Advanced wipe: System
  2- Restore: System_Image
  3- Reboot -> No OS prompt

* eg: [
       ~ # twrp get tw_min_system
           tw_min_system = 50
       ~ # twrp get tw_backup_system_size
           tw_backup_system_size = 8
       ~ # mount -o ro /system
       ~ # du -sh /system
           3.5G    /system
      ]

Change-Id: I99f75274816788dd38eccdd387f7ac691e1f3fab
2017-11-17 18:11:59 +01:00
Tianjie Xu 0a0b6a9fe1 Merge "Add libbrotli as a dependency when building applypatch binary" am: c7069cc922 am: 086202e30d
am: 2a8e4095cb

Change-Id: I40e952051126d2df4530a11c4aee434142a55736
2017-11-17 16:18:17 +00:00
Tianjie Xu 2a8e4095cb Merge "Add libbrotli as a dependency when building applypatch binary" am: c7069cc922
am: 086202e30d

Change-Id: I7d6725aec1f22e006b1945c0068c61352785c509
2017-11-17 16:15:43 +00:00
Tianjie Xu 086202e30d Merge "Add libbrotli as a dependency when building applypatch binary"
am: c7069cc922

Change-Id: I3379f84048c1b4c4858da537d045a1012c358b8b
2017-11-17 16:13:13 +00:00
Tianjie Xu c7069cc922 Merge "Add libbrotli as a dependency when building applypatch binary" 2017-11-17 16:09:08 +00:00
Tianjie Xu bb436b397a Merge "Switch imgdiff to libbase logging" am: fd9c25e636 am: 47c8c290ec
am: 365c98fd1d

Change-Id: I88eca49e6004615f9398c42b6dfc79f8dc53085c
2017-11-17 06:00:12 +00:00
Tianjie Xu 365c98fd1d Merge "Switch imgdiff to libbase logging" am: fd9c25e636
am: 47c8c290ec

Change-Id: I8712d65b019e294104bcbc8497a05fa6cc49024a
2017-11-17 05:58:10 +00:00
Tianjie Xu 47c8c290ec Merge "Switch imgdiff to libbase logging"
am: fd9c25e636

Change-Id: Iaf36238df9567f9e0e08abec2581e55d4692068b
2017-11-17 05:56:10 +00:00
Tianjie Xu fd9c25e636 Merge "Switch imgdiff to libbase logging" 2017-11-17 05:53:58 +00:00
android-build-team Robot 8e4dc2a04c Snap for 4455093 from 8e376e01e7 to pi-release
Change-Id: I13180d402b826b71eb3e7ec42836e48f12f9de7c
2017-11-16 08:23:54 +00:00
Tianjie Xu 6e293c99c1 Switch imgdiff to libbase logging
Also add a verbose option. And we won't print messages of 'info'
severity unless '-v' is present.

Test: run imgdiff and check the logs.
Change-Id: I1b90874baea8e72e2a2323a0b63bc5d35e653e6b
2017-11-15 22:35:39 -08:00
Tao Bao 8e376e01e7 Merge "minadbd: Remove two warning options." am: 7bd61f0cc0 am: 345f350540
am: 97a4750098

Change-Id: I5b8199d02212b0b2283e647effa3b1829704e27c
2017-11-15 23:07:38 +00:00
Tao Bao 97a4750098 Merge "minadbd: Remove two warning options." am: 7bd61f0cc0
am: 345f350540

Change-Id: I95cf7f4af44c8abc2ced807e0a3a2fb063448fc1
2017-11-15 23:06:11 +00:00
Tao Bao 345f350540 Merge "minadbd: Remove two warning options."
am: 7bd61f0cc0

Change-Id: Id5e986ecd00cb2b953d761957a987a1b0c5ebf20
2017-11-15 23:04:09 +00:00
Tao Bao 7bd61f0cc0 Merge "minadbd: Remove two warning options." 2017-11-15 22:59:40 +00:00
Tao Bao f87d20404d minadbd: Remove two warning options.
'-Wimplicit-function-declaration' is not needed (it's for C89) and
already enabled by -Wall.

For '-Wno-missing-field-initializers', don't see any existing case that
requires the flag.

Test: `mmma -j bootable/recovery` on aosp_{bullhead,marlin}-userdebug.
Change-Id: I46604723087ed9a7747f6cae31a95fc0074c6758
2017-11-15 11:34:26 -08:00
Yifan Hong e8e4c40246 is_battery_ok use health 2.0 HAL
Test: call is_battery_ok in graphics test, and test manually
Bug: 69268160
Bug: 63702641

Change-Id: Ifcf4d2e2cb459689c11fc5d1b880bb053aaae8ae
2017-11-14 11:29:53 -08:00
android-build-team Robot 89de5755aa Snap for 4450504 from 60ee026849 to pi-release
Change-Id: Iee0ada7e7310070bb3b353643ceaced0eb019471
2017-11-14 08:27:34 +00:00
Jaegeuk Kim 60ee026849 Merge "recovery: format f2fs with encrypt/quota" am: d4b6e25fdd am: c418bfeae2
am: e9e7fcf327

Change-Id: I8d2d42d66f4b96ea281b5ca7a3092273a12f7b7b
2017-11-14 03:22:31 +00:00
Jaegeuk Kim e9e7fcf327 Merge "recovery: format f2fs with encrypt/quota" am: d4b6e25fdd
am: c418bfeae2

Change-Id: I2a040a11a71868915658958dbecf4bdd23c25e0c
2017-11-14 03:01:01 +00:00
Jaegeuk Kim c418bfeae2 Merge "recovery: format f2fs with encrypt/quota"
am: d4b6e25fdd

Change-Id: I1d17a488d2eea4d858fa31e7a00d694e20b011b3
2017-11-14 02:45:25 +00:00
Treehugger Robot d4b6e25fdd Merge "recovery: format f2fs with encrypt/quota" 2017-11-14 01:49:26 +00:00
Jaegeuk Kim 1a8bb0f542 recovery: format f2fs with encrypt/quota
Change-Id: Ia393b7b78b45f09964449ec0e255aa26bb3b8ddf
Signed-off-by: Jaegeuk Kim <jaegeuk@google.com>
2017-11-13 14:05:00 -08:00