prepdecrypt.sh 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103
  1. #!/sbin/sh
  2. relink()
  3. {
  4. fname=$(basename "$1")
  5. target="/sbin/$fname"
  6. sed 's|/system/bin/linker64|///////sbin/linker64|' "$1" > "$target"
  7. chmod 755 $target
  8. }
  9. finish()
  10. {
  11. umount /v
  12. umount /s
  13. rmdir /v
  14. rmdir /s
  15. setprop crypto.ready 1
  16. exit 0
  17. }
  18. suffix=$(getprop ro.boot.slot_suffix)
  19. if [ -z "$suffix" ]; then
  20. suf=$(getprop ro.boot.slot)
  21. suffix="_$suf"
  22. fi
  23. venpath="/dev/block/bootdevice/by-name/vendor$suffix"
  24. mkdir /v
  25. mount -t ext4 -o ro "$venpath" /v
  26. syspath="/dev/block/bootdevice/by-name/system$suffix"
  27. mkdir /s
  28. mount -t ext4 -o ro "$syspath" /s
  29. is_fastboot_twrp=$(getprop ro.boot.fastboot)
  30. if [ ! -z "$is_fastboot_twrp" ]; then
  31. osver=$(getprop ro.build.version.release_orig)
  32. patchlevel=$(getprop ro.build.version.security_patch_orig)
  33. setprop ro.build.version.release "$osver"
  34. setprop ro.build.version.security_patch "$patchlevel"
  35. finish
  36. fi
  37. if [ -f /s/system/build.prop ]; then
  38. # TODO: It may be better to try to read these from the boot image than from /system
  39. osver=$(grep -i 'ro.build.version.release' /s/system/build.prop | cut -f2 -d'=')
  40. patchlevel=$(grep -i 'ro.build.version.security_patch' /s/system/build.prop | cut -f2 -d'=')
  41. setprop ro.build.version.release "$osver"
  42. setprop ro.build.version.security_patch "$patchlevel"
  43. finish
  44. else
  45. # Be sure to increase the PLATFORM_VERSION in build/core/version_defaults.mk to override Google's anti-rollback features to something rather insane
  46. osver=$(getprop ro.build.version.release_orig)
  47. patchlevel=$(getprop ro.build.version.security_patch_orig)
  48. setprop ro.build.version.release "$osver"
  49. setprop ro.build.version.security_patch "$patchlevel"
  50. finish
  51. fi
  52. ###### NOTE: The below is no longer used but I'm keeping it here in case it is needed again at some point!
  53. mkdir -p /vendor/lib64/hw/
  54. cp /s/system/lib64/android.hidl.base@1.0.so /sbin/
  55. cp /s/system/lib64/libicuuc.so /sbin/
  56. cp /s/system/lib64/libxml2.so /sbin/
  57. relink /v/bin/qseecomd
  58. cp /v/lib64/libdiag.so /vendor/lib64/
  59. cp /v/lib64/libdrmfs.so /vendor/lib64/
  60. cp /v/lib64/libdrmtime.so /vendor/lib64/
  61. cp /v/lib64/libGPreqcancel.so /vendor/lib64/
  62. cp /v/lib64/libGPreqcancel_svc.so /vendor/lib64/
  63. cp /v/lib64/libqdutils.so /vendor/lib64/
  64. cp /v/lib64/libqisl.so /vendor/lib64/
  65. cp /v/lib64/libqservice.so /vendor/lib64/
  66. cp /v/lib64/libQSEEComAPI.so /vendor/lib64/
  67. cp /v/lib64/librecovery_updater_msm.so /vendor/lib64/
  68. cp /v/lib64/librpmb.so /vendor/lib64/
  69. cp /v/lib64/libsecureui.so /vendor/lib64/
  70. cp /v/lib64/libSecureUILib.so /vendor/lib64/
  71. cp /v/lib64/libsecureui_svcsock.so /vendor/lib64/
  72. cp /v/lib64/libspcom.so /vendor/lib64/
  73. cp /v/lib64/libspl.so /vendor/lib64/
  74. cp /v/lib64/libssd.so /vendor/lib64/
  75. cp /v/lib64/libStDrvInt.so /vendor/lib64/
  76. cp /v/lib64/libtime_genoff.so /vendor/lib64/
  77. cp /v/lib64/libkeymasterdeviceutils.so /vendor/lib64/
  78. cp /v/lib64/libkeymasterprovision.so /vendor/lib64/
  79. cp /v/lib64/libkeymasterutils.so /vendor/lib64/
  80. cp /v/lib64/vendor.qti.hardware.tui_comm@1.0_vendor.so /vendor/lib64/
  81. cp /v/lib64/hw/bootctrl.sdm660.so /vendor/lib64/hw/
  82. cp /v/lib64/hw/android.hardware.boot@1.0-impl.so /vendor/lib64/hw/
  83. cp /v/lib64/hw/android.hardware.gatekeeper@1.0-impl-qti.so /vendor/lib64/hw/
  84. cp /v/lib64/hw/android.hardware.keymaster@3.0-impl-qti.so /vendor/lib64/hw/
  85. cp /v/manifest.xml /vendor/
  86. cp /v/compatibility_matrix.xml /vendor/
  87. relink /v/bin/hw/android.hardware.boot@1.0-service
  88. relink /v/bin/hw/android.hardware.keymaster@3.0-service-qti
  89. relink /v/bin/hw/android.hardware.gatekeeper@1.0-service-qti
  90. finish
  91. exit 0