partitionmanager: allow skipping additional fstab processing

* Set 'TW_SKIP_ADDITIONAL_FSTAB := true' to skip additional fstab
  processing
* Set 'keymaster_ver' prop in device tree if you want to use a
  specific keymaster version regardless of what may be found in
  ramdisk manifest
  (if version can't be determined by checking device manifest)
* Set above prop and add 'TW_FORCE_KEYMASTER_VER := true' if you want
  to enforce keymaster_ver set in device tree and skip checking on
  device

In current state, if additional fstab cannot be found, then
keymaster_ver never gets set. This breaks devices using twrp-common as
the correct service will never start for decryption, resulting in a hang
at the TWRP splash.

Separating fstab processing allows keymaster to be found on device and
keymaster_ver to be set regardless of fstab availability.

If keymaster_ver cannot be determined by checking vendor on device, use
default keymaster version set in device tree, or if not present, set
from TWRP ramdisk based on binaries found, unless values are forced as
mentioned above.

Change-Id: Ic498b82a2ff2a5461493ce4ad304f1a6679291df
Signed-off-by: Mohd Faraz <androiabledroid@gmail.com>
5 files changed
tree: f614fa329504538b44d325b22f3849e6439b2997
  1. .github/
  2. adbbu/
  3. applypatch/
  4. attr/
  5. bmlutils/
  6. bootloader_message/
  7. crypto/
  8. dosfstools/
  9. edify/
  10. etc/
  11. exfat/
  12. fastboot/
  13. fb2png/
  14. flashutils/
  15. fonts/
  16. fuse/
  17. fuse_sideload/
  18. gpt/
  19. gui/
  20. injecttwrp/
  21. install/
  22. libblkid/
  23. libcrecovery/
  24. libmincrypt/
  25. libpixelflinger/
  26. libtar/
  27. minadbd/
  28. minui/
  29. minuitwrp/
  30. minzip/
  31. mmcutils/
  32. mtdutils/
  33. mtp/
  34. openaes/
  35. orscmd/
  36. otafault/
  37. otautil/
  38. ozip_decrypt/
  39. pigz/
  40. prebuilt/
  41. recovery_ui/
  42. recovery_utils/
  43. res/
  44. res-hdpi/
  45. res-mdpi/
  46. res-xhdpi/
  47. res-xxhdpi/
  48. res-xxxhdpi/
  49. scripts/
  50. sepolicy/
  51. simg2img/
  52. soong/
  53. tests/
  54. tools/
  55. twrpDigest/
  56. twrpinstall/
  57. twrpTarMain/
  58. uncrypt/
  59. update_verifier/
  60. updater/
  61. updater_sample/
  62. .clang-format
  63. .gitignore
  64. abx-functions.hpp
  65. Android.bp
  66. Android.mk
  67. BasePartition.cpp
  68. bootloader.h
  69. CleanSpec.mk
  70. data.cpp
  71. data.hpp
  72. exclude.cpp
  73. exclude.hpp
  74. find_file.cpp
  75. find_file.hpp
  76. fixContexts.cpp
  77. fixContexts.hpp
  78. fuse.h
  79. infomanager.cpp
  80. infomanager.hpp
  81. interlace-frames.py
  82. kernel_module_loader.cpp
  83. kernel_module_loader.hpp
  84. legacy_properties.h
  85. libaosprecovery_defaults.go
  86. METADATA
  87. mounts.c
  88. NOTICE
  89. openrecoveryscript.cpp
  90. openrecoveryscript.hpp
  91. OWNERS
  92. partition.cpp
  93. partitionmanager.cpp
  94. partitions.hpp
  95. PREUPLOAD.cfg
  96. progresstracking.cpp
  97. progresstracking.hpp
  98. README.md
  99. recovery-persist.cpp
  100. recovery-persist.rc
  101. recovery-refresh.cpp
  102. recovery-refresh.rc
  103. recovery.cpp
  104. recovery.h
  105. recovery_main.cpp
  106. recovery_ui.h
  107. startupArgs.cpp
  108. startupArgs.hpp
  109. tarWrite.c
  110. tarWrite.h
  111. TEST_MAPPING
  112. twcommon.h
  113. twrp-functions.cpp
  114. twrp-functions.hpp
  115. twrp.cpp
  116. twrpAdbBuFifo.cpp
  117. twrpAdbBuFifo.hpp
  118. twrpApex.cpp
  119. twrpApex.hpp
  120. twrpDigestDriver.cpp
  121. twrpDigestDriver.hpp
  122. twrpRepacker.cpp
  123. twrpRepacker.hpp
  124. twrpTar.cpp
  125. twrpTar.h
  126. twrpTar.hpp
  127. variables.h