Use magiskboot to repack the boot partition

Set TW_INCLUDE_REPACKTOOLS := true

Must also have:
AB_OTA_UPDATER := true

Use magiskboot and provide GUI options to allow users to repack
their existing boot image to install TWRP (or kernels) so we can
stop having to provide installation zips for AB devices. There is
also an option to try to fix a recovery bootloop if the kernel
has been patched to always boot the ramdisk for root, etc.

You will need to pull the below repo into external/magisk-prebuilt
https://github.com/TeamWin/external_magisk-prebuilt

Change-Id: I74196cc6f095a7576d61886dc96cbc18deba9b04
12 files changed
tree: bb74fbf8593d23beddba9f899d05925b6fe03470
  1. .github/
  2. adbbu/
  3. applypatch/
  4. attr/
  5. bmlutils/
  6. boot_control/
  7. bootloader_message/
  8. bootloader_message_twrp/
  9. crypto/
  10. dosfstools/
  11. edify/
  12. etc/
  13. exfat/
  14. fb2png/
  15. flashutils/
  16. fonts/
  17. fuse/
  18. gpt/
  19. gui/
  20. htcdumlock/
  21. injecttwrp/
  22. libblkid/
  23. libcrecovery/
  24. libmincrypt/
  25. libpixelflinger/
  26. libtar/
  27. minadbd/
  28. minadbd21/
  29. minui/
  30. minui21/
  31. minuitwrp/
  32. minzip/
  33. mmcutils/
  34. mtdutils/
  35. mtp/
  36. openaes/
  37. orscmd/
  38. otafault/
  39. otautil/
  40. pigz/
  41. prebuilt/
  42. private/
  43. res/
  44. res-hdpi/
  45. res-mdpi/
  46. res-xhdpi/
  47. res-xxhdpi/
  48. res-xxxhdpi/
  49. scripts/
  50. sepolicy/
  51. simg2img/
  52. tests/
  53. toolbox/
  54. tools/
  55. toybox/
  56. twrpDigest/
  57. twrpTarMain/
  58. uncrypt/
  59. update_verifier/
  60. updater/
  61. verifier24/
  62. .clang-format
  63. .gitignore
  64. adb_install.cpp
  65. adb_install.h
  66. Android.bp
  67. Android.mk
  68. asn1_decoder.cpp
  69. asn1_decoder.h
  70. BasePartition.cpp
  71. bootloader.h
  72. CleanSpec.mk
  73. common.h
  74. data.cpp
  75. data.hpp
  76. default_device.cpp
  77. device.cpp
  78. device.h
  79. exclude.cpp
  80. exclude.hpp
  81. find_file.cpp
  82. find_file.hpp
  83. fixContexts.cpp
  84. fixContexts.hpp
  85. fuse.h
  86. fuse_sdcard_provider.cpp
  87. fuse_sdcard_provider.h
  88. fuse_sideload.cpp
  89. fuse_sideload.h
  90. fuse_sideload22.cpp
  91. fuse_sideload22.h
  92. infomanager.cpp
  93. infomanager.hpp
  94. install.cpp
  95. install.h
  96. installcommand.cpp
  97. installcommand.h
  98. interlace-frames.py
  99. legacy_properties.h
  100. legacy_property_service.cpp
  101. legacy_property_service.h
  102. mounts.c
  103. mounts.cpp
  104. mounts.h
  105. NOTICE
  106. openrecoveryscript.cpp
  107. openrecoveryscript.hpp
  108. OWNERS
  109. partition.cpp
  110. partitionmanager.cpp
  111. partitions.hpp
  112. PREUPLOAD.cfg
  113. progresstracking.cpp
  114. progresstracking.hpp
  115. README.md
  116. recovery-persist.cpp
  117. recovery-persist.rc
  118. recovery-refresh.cpp
  119. recovery-refresh.rc
  120. recovery.cpp
  121. recovery_ui.h
  122. roots.cpp
  123. roots.h
  124. rotate_logs.cpp
  125. rotate_logs.h
  126. screen_ui.cpp
  127. screen_ui.h
  128. set_metadata.cpp
  129. set_metadata.h
  130. stub_ui.h
  131. tarWrite.c
  132. tarWrite.h
  133. tw_atomic.cpp
  134. tw_atomic.hpp
  135. twcommon.h
  136. twinstall.cpp
  137. twinstall.h
  138. twinstallorig.cpp
  139. twinstallorig.h
  140. twrp-functions.cpp
  141. twrp-functions.hpp
  142. twrp.cpp
  143. twrpAdbBuFifo.cpp
  144. twrpAdbBuFifo.hpp
  145. twrpDigestDriver.cpp
  146. twrpDigestDriver.hpp
  147. twrpTar.cpp
  148. twrpTar.h
  149. twrpTar.hpp
  150. ui.cpp
  151. ui.h
  152. variables.h
  153. verifier.cpp
  154. verifier.h
  155. vr_device.cpp
  156. vr_ui.cpp
  157. vr_ui.h
  158. wear_device.cpp
  159. wear_ui.cpp
  160. wear_ui.h
  161. zipwrap.cpp
  162. zipwrap.hpp
README.md

Team Win Recovery Project (TWRP)

You can find a compiling guide here.