nkk71 71c6c50d0d crypto: Use system's vold for decryption
If TWRP crypto fails to decrypt partition, mount the system
  partition and use system's own vold to attempt decryption.
  This provides a fallback for proprietary OEM encryption as well as
  encryption methods which TWRP hasn't been updated for.

  Requirements in device tree:
  * fstab.{ro.hardware} in device/recovery/root
    The fstab does not need to be complete, but it does need the
    data partition and the encryption entries.

  * 'TW_CRYPTO_USE_SYSTEM_VOLD := true' in BoardConfig
  or
  * 'TW_CRYPTO_USE_SYSTEM_VOLD := <list of services>'

  Notes:
  * Setting the flag to 'true' will just use system's vdc+vold
    or
  * Setting the flag with additional services, will also start them
    prior to attempting vdc+vold decryption, eg: for qualcomm based
    devices you usually need 'TW_CRYPTO_USE_SYSTEM_VOLD := qseecomd'

  * For each service listed an additional import will be automatically
    added to the vold_decrypt.rc file in the form of
    init.recovery.vold_decrypt.{service}.rc
    You will need to add any not already existing .rc files in
    your device/recovery/root folder.

  * The service names specified in the vold_decrypt.{service}.rc files
    have to be named 'sys_{service}'
    eg: 'service sys_qseecomd /system/bin/qseecomd'

  * Any service already existing in TWRP as {service} or sbin{service} will
    be stopped and restarted as needed.

  * You can override the default init.recovery.vold_decrypt.rc file(s)
    by placing same named ones in your device/recovery/root folder.
    If you do, you'll need to manually add the needed imports.

  * If /vendor and /firmware folders are temporarily moved and symlinked
    to the folders and files in the system partition, the properties
    'vold_decrypt.symlinked_vendor' and 'vold_decrypt.symlinked_firmware'
    will be set to 1.
    This allows for additional control in the .rc files for any extra
    actions (symlinks, cp files, etc) that may be needed for decryption
    by using: on property:vold_decrypt.symlinked_vendor=1 and/or
    on property:vold_decrypt.symlinked_firmware=1 triggers.

  Debug mode: 'TW_CRYPTO_SYSTEM_VOLD_DEBUG := true' in BoardConfig
  * Specifying this flag, will enable strace on init and vdc, which will
    create separate log files in /tmp for every process created, allowing
    for detailed analysis of which services and files are being accessed.
  * Note that enabling strace will expose the password in the logs!!
  * You need to manually add strace to your build.

Thanks to @Captain_Throwback for co-authoring and testing.

Tested successfully on HTC devices:
M8 (KK through MM), M9 (MM and N), A9 (N), 10 (N), Bolt (N),
Desire 626s (MM), U Ultra (N)

HTC One X9 (MTK device)

And by Nikolay Jeliazkov on: Xiaomi Mi Max

Change-Id: I4d22ab55baf6a2a50adde2e4c1c510c142714227
2017-03-06 18:50:52 +02:00
2016-08-31 13:42:13 -05:00
2016-01-19 23:24:47 +01:00
2017-01-18 13:04:35 -06:00
2015-12-23 09:58:04 -06:00
2015-06-20 15:57:56 -05:00
2016-08-24 15:32:18 -05:00
2014-11-12 11:03:50 -06:00
2016-08-31 13:42:13 -05:00
2017-02-23 20:01:07 +01:00
2014-04-04 13:48:33 -07:00
2015-11-05 20:58:39 +02:00
2016-02-03 16:05:56 -06:00
2016-11-29 21:27:39 -06:00
2014-11-04 15:34:19 +01:00
2015-01-28 12:09:05 -08:00
2016-08-24 15:32:18 -05:00
2014-04-25 15:47:34 -07:00
2015-10-09 11:15:29 -05:00
2017-01-18 17:50:05 +01:00
2016-03-31 15:43:53 +01:00
2016-04-14 22:44:23 -07:00
2017-01-18 17:41:17 +01:00
2015-12-19 08:31:01 -06:00
2016-03-31 15:43:53 +01:00
2016-03-31 15:43:53 +01:00
2016-08-12 13:46:17 -07:00
2016-08-24 15:32:18 -05:00
2016-12-05 14:54:32 -06:00
2016-12-05 14:54:32 -06:00
2012-09-05 15:24:31 -04:00
2012-09-05 15:24:31 -04:00
2016-03-17 16:00:20 -05:00
2016-02-04 10:11:30 -08:00
2012-09-05 15:24:31 -04:00
2016-08-24 15:32:18 -05:00
2016-07-08 18:21:45 -07:00
2016-07-08 18:21:45 -07:00
2015-01-27 15:07:19 +01:00
2015-01-27 15:07:19 +01:00
2017-01-18 20:02:43 +01:00
2016-12-05 14:54:32 -06:00
2017-03-01 15:56:47 -06:00
2017-03-01 15:56:47 -06:00
2017-02-24 03:10:17 +01:00
2016-11-30 16:30:22 +01:00
2017-01-18 17:41:17 +01:00
2015-10-09 11:15:29 -05:00
2017-01-18 09:44:17 -06:00
2016-08-24 15:32:18 -05:00
2016-08-24 15:32:18 -05:00

Team Win Recovery Project (TWRP)

You can find a compiling guide here.

S
Description
No description provided
Readme 102 MiB
Languages
C++ 50.2%
C 43.6%
Makefile 1.9%
Java 1.8%
Roff 1%
Other 1.4%