Pierre-Hugues Husson | f181109 | 2018-04-10 18:33:33 +0200 | [diff] [blame] | 1 | #!/system/bin/sh |
| 2 | |
| 3 | set -e |
| 4 | |
Pierre-Hugues Husson | 11cbdea | 2018-05-14 13:34:52 +0200 | [diff] [blame] | 5 | fixSPL() { |
Pierre-Hugues Husson | b139f72 | 2018-05-19 16:54:30 +0200 | [diff] [blame] | 6 | if [ "$(getprop ro.product.cpu.abi)" == "armeabi-v7a" ];then |
| 7 | setprop ro.keymaster.mod 'AOSP on ARM32' |
| 8 | else |
| 9 | setprop ro.keymaster.mod 'AOSP on ARM64' |
| 10 | fi |
Pierre-Hugues Husson | 11cbdea | 2018-05-14 13:34:52 +0200 | [diff] [blame] | 11 | img="$(find /dev/block -type l |grep by-name |grep /kernel$(getprop ro.boot.slot_suffix) |head -n 1)" |
| 12 | [ -z "$img" ] && img="$(find /dev/block -type l |grep by-name |grep /boot$(getprop ro.boot.slot_suffix) |head -n 1)" |
| 13 | if [ -n "$img" ];then |
| 14 | #Rewrite SPL/Android version if needed |
| 15 | Arelease="$(getSPL $img android)" |
Pierre-Hugues Husson | b139f72 | 2018-05-19 16:54:30 +0200 | [diff] [blame] | 16 | setprop ro.keymaster.xxx.release "$Arelease" |
Pierre-Hugues Husson | 11cbdea | 2018-05-14 13:34:52 +0200 | [diff] [blame] | 17 | setprop ro.keymaster.xxx.security_patch "$(getSPL $img spl)" |
| 18 | |
Pierre-Hugues Husson | 47ab64b | 2018-05-26 11:26:33 +0200 | [diff] [blame] | 19 | for f in /vendor/lib64/hw/android.hardware.keymaster@3.0-impl-qti.so /system/lib64/vndk-26/libsoftkeymasterdevice.so /vendor/bin/teed /system/lib64/vndk/libsoftkeymasterdevice.so /system/lib/vndk/libsoftkeymasterdevice.so;do |
Pierre-Hugues Husson | 11cbdea | 2018-05-14 13:34:52 +0200 | [diff] [blame] | 20 | [ ! -f $f ] && continue |
Pierre-Hugues Husson | b139f72 | 2018-05-19 16:54:30 +0200 | [diff] [blame] | 21 | ctxt="$(ls -lZ $f |grep -oE 'u:object_r:[^:]*:s0')" |
Pierre-Hugues Husson | 47ab64b | 2018-05-26 11:26:33 +0200 | [diff] [blame] | 22 | b="$(echo "$f"|tr / _)" |
Pierre-Hugues Husson | 11cbdea | 2018-05-14 13:34:52 +0200 | [diff] [blame] | 23 | |
Pierre-Hugues Husson | b139f72 | 2018-05-19 16:54:30 +0200 | [diff] [blame] | 24 | mkdir -p /mnt/phh/ |
| 25 | cp -a $f /mnt/phh/$b |
| 26 | sed -i \ |
| 27 | -e 's/ro.build.version.release/ro.keymaster.xxx.release/g' \ |
| 28 | -e 's/ro.build.version.security_patch/ro.keymaster.xxx.security_patch/g' \ |
| 29 | -e 's/ro.product.model/ro.keymaster.mod/g' \ |
| 30 | /mnt/phh/$b |
| 31 | chcon "$ctxt" /mnt/phh/$b |
| 32 | mount -o bind /mnt/phh/$b $f |
Pierre-Hugues Husson | 11cbdea | 2018-05-14 13:34:52 +0200 | [diff] [blame] | 33 | done |
Pierre-Hugues Husson | 1b5659b | 2018-05-19 18:43:25 +0200 | [diff] [blame] | 34 | if [ "$(getprop init.svc.keymaster-3-0)" == "running" ];then |
| 35 | setprop ctl.restart keymaster-3-0 |
| 36 | fi |
| 37 | if [ "$(getprop init.svc.teed)" == "running" ];then |
| 38 | setprop ctl.restart teed |
| 39 | fi |
Pierre-Hugues Husson | 11cbdea | 2018-05-14 13:34:52 +0200 | [diff] [blame] | 40 | fi |
| 41 | } |
| 42 | |
Pierre-Hugues Husson | 16ea168 | 2018-04-15 19:19:47 +0200 | [diff] [blame] | 43 | if mount -o remount,rw /system;then |
Pierre-Hugues Husson | a70b269 | 2018-05-19 22:07:12 +0200 | [diff] [blame] | 44 | resize2fs $(grep ' /system ' /proc/mounts |cut -d ' ' -f 1) || true |
Pierre-Hugues Husson | 16ea168 | 2018-04-15 19:19:47 +0200 | [diff] [blame] | 45 | elif mount -o remount,rw /;then |
Pierre-Hugues Husson | a70b269 | 2018-05-19 22:07:12 +0200 | [diff] [blame] | 46 | resize2fs /dev/root || true |
Pierre-Hugues Husson | 16ea168 | 2018-04-15 19:19:47 +0200 | [diff] [blame] | 47 | fi |
Pierre-Hugues Husson | a70b269 | 2018-05-19 22:07:12 +0200 | [diff] [blame] | 48 | mount -o remount,ro /system || true |
| 49 | mount -o remount,ro / || true |
Pierre-Hugues Husson | 520fea1 | 2018-04-24 22:36:59 +0200 | [diff] [blame] | 50 | |
Pierre-Hugues Husson | 11cbdea | 2018-05-14 13:34:52 +0200 | [diff] [blame] | 51 | fixSPL |
Pierre-Hugues Husson | 520fea1 | 2018-04-24 22:36:59 +0200 | [diff] [blame] | 52 | |
Pierre-Hugues Husson | 29622ec | 2018-04-30 13:56:06 +0200 | [diff] [blame] | 53 | if grep vendor.huawei.hardware.biometrics.fingerprint /vendor/manifest.xml;then |
| 54 | mount -o bind system/phh/huawei/fingerprint.kl /vendor/usr/keylayout/fingerprint.kl |
| 55 | fi |
Pierre-Hugues Husson | 11cbdea | 2018-05-14 13:34:52 +0200 | [diff] [blame] | 56 | |
Pierre-Hugues Husson | bf88632 | 2018-05-18 15:09:30 +0200 | [diff] [blame] | 57 | if ! grep android.hardware.biometrics.fingerprint /vendor/manifest.xml;then |
| 58 | mount -o bind system/phh/empty /system/etc/permissions/android.hardware.fingerprint.xml |
| 59 | fi |
| 60 | |
Pierre-Hugues Husson | 1936b62 | 2018-05-19 13:40:50 +0200 | [diff] [blame] | 61 | if ! grep android.hardware.ir /vendor/manifest.xml;then |
| 62 | mount -o bind system/phh/empty /system/etc/permissions/android.hardware.consumerir.xml |
| 63 | fi |