super partition: mount super partitions using fs_mgr

We are now requiring fstab v2 for android-10+ trees. You can
specify twrp flags using /etc/twrp.flags to label and
annotate partitions.

This patchset uses fs_mgr to load the super partition and build
device mapper blocks off vendor and system depending on the slot
in use. These are mapped to partitions in TWRP and allowed to
be mounted read-only. The super partition is also mapped into a
TWRP partition in order to backup the entire partition. You cannot
backup individual device mapper blocks due to the device can only
be read-only. Therefore you cannot write back to the device mapper.

Change-Id: Icc1d895dcf96ad5ba03989c9bf759419d83673a3
15 files changed
tree: 9aa95637abacd485c551a7a0d177c7312ccdf3c0
  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. fastboot/
  15. fb2png/
  16. flashutils/
  17. fonts/
  18. fuse/
  19. fuse_sideload/
  20. fuse_sideload28/
  21. gpt/
  22. gui/
  23. htcdumlock/
  24. injecttwrp/
  25. install/
  26. install28/
  27. libblkid/
  28. libcrecovery/
  29. libmincrypt/
  30. libpixelflinger/
  31. libtar/
  32. minadbd/
  33. minadbd21/
  34. minui/
  35. minui21/
  36. minuitwrp/
  37. minzip/
  38. misc_writer/
  39. mmcutils/
  40. mtdutils/
  41. mtp/
  42. openaes/
  43. orscmd/
  44. otafault/
  45. otautil/
  46. pigz/
  47. prebuilt/
  48. recovery_ui/
  49. res/
  50. res-hdpi/
  51. res-mdpi/
  52. res-xhdpi/
  53. res-xxhdpi/
  54. res-xxxhdpi/
  55. scripts/
  56. sepolicy/
  57. simg2img/
  58. tests/
  59. tools/
  60. twrpDigest/
  61. twrpTarMain/
  62. uncrypt/
  63. update_verifier/
  64. updater/
  65. updater_sample/
  66. verifier24/
  67. verifier28/
  68. .clang-format
  69. .gitignore
  70. Android.bp
  71. Android.mk
  72. BasePartition.cpp
  73. bootloader.h
  74. CleanSpec.mk
  75. common.h
  76. data.cpp
  77. data.hpp
  78. exclude.cpp
  79. exclude.hpp
  80. find_file.cpp
  81. find_file.hpp
  82. fixContexts.cpp
  83. fixContexts.hpp
  84. fsck_unshare_blocks.cpp
  85. fsck_unshare_blocks.h
  86. fuse.h
  87. fuse_sideload22.cpp
  88. fuse_sideload22.h
  89. infomanager.cpp
  90. infomanager.hpp
  91. interlace-frames.py
  92. legacy_properties.h
  93. mounts.c
  94. NOTICE
  95. openrecoveryscript.cpp
  96. openrecoveryscript.hpp
  97. OWNERS
  98. partition.cpp
  99. partitionmanager.cpp
  100. partitions.hpp
  101. PREUPLOAD.cfg
  102. progresstracking.cpp
  103. progresstracking.hpp
  104. README.md
  105. recovery-persist.cpp
  106. recovery-persist.rc
  107. recovery-refresh.cpp
  108. recovery-refresh.rc
  109. recovery.cpp
  110. recovery.h
  111. recovery_main.cpp
  112. recovery_ui.h
  113. tarWrite.c
  114. tarWrite.h
  115. twcommon.h
  116. twinstall.cpp
  117. twinstall.h
  118. twinstallorig.cpp
  119. twinstallorig.h
  120. twrp-functions.cpp
  121. twrp-functions.hpp
  122. twrp.cpp
  123. twrpAdbBuFifo.cpp
  124. twrpAdbBuFifo.hpp
  125. twrpDigestDriver.cpp
  126. twrpDigestDriver.hpp
  127. twrpTar.cpp
  128. twrpTar.h
  129. twrpTar.hpp
  130. variables.h