device_phh_treble/rw-system.sh
Pierre-Hugues Husson 69a4b69ff7 Revert "Include consumerir feature, disable dynamically if not present"
This reverts commit 1936b6256e.

Many devices are not booting because of this, saying the feature is
present, but not the HAL.
I'm unsure why yet, but this feature is not worth the trouble.
2018-08-20 10:58:38 +02:00

91 lines
3.5 KiB
Bash

#!/system/bin/sh
mount -o bind /system/phh/empty /vendor/lib64/hw/keystore.exynos9810.so
mount -o bind /system/phh/empty /vendor/lib64/hw/keystore.mdfpp.so
set -e
setprop sys.usb.ffs.aio_compat true
fixSPL() {
if [ "$(getprop ro.product.cpu.abi)" == "armeabi-v7a" ];then
setprop ro.keymaster.mod 'AOSP on ARM32'
else
setprop ro.keymaster.mod 'AOSP on ARM64'
fi
img="$(find /dev/block -type l -name kernel$(getprop ro.boot.slot_suffix) |grep by-name |head -n 1)"
[ -z "$img" ] && img="$(find /dev/block -type l -name boot$(getprop ro.boot.slot_suffix) |grep by-name |head -n 1)"
if [ -n "$img" ];then
#Rewrite SPL/Android version if needed
Arelease="$(getSPL $img android)"
setprop ro.keymaster.xxx.release "$Arelease"
setprop ro.keymaster.xxx.security_patch "$(getSPL $img spl)"
mkdir -p /mnt/phh/
mount -t tmpfs -o rw,nosuid,nodev,relatime,mode=755,gid=0 none /mnt/phh || true
for f in /vendor/lib64/hw/android.hardware.keymaster@3.0-impl-qti.so /vendor/lib/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 /system/lib/vndk-26/libsoftkeymasterdevice.so /vendor/lib64/libkeymaster_helper.so;do
[ ! -f $f ] && continue
ctxt="$(ls -lZ $f |grep -oE 'u:object_r:[^:]*:s0')"
b="$(echo "$f"|tr / _)"
cp -a $f /mnt/phh/$b
sed -i \
-e 's/ro.build.version.release/ro.keymaster.xxx.release/g' \
-e 's/ro.build.version.security_patch/ro.keymaster.xxx.security_patch/g' \
-e 's/ro.product.model/ro.keymaster.mod/g' \
/mnt/phh/$b
chcon "$ctxt" /mnt/phh/$b
mount -o bind /mnt/phh/$b $f
done
if [ "$(getprop init.svc.keymaster-3-0)" == "running" ];then
setprop ctl.restart keymaster-3-0
fi
if [ "$(getprop init.svc.teed)" == "running" ];then
setprop ctl.restart teed
fi
fi
}
if mount -o remount,rw /system;then
resize2fs $(grep ' /system ' /proc/mounts |cut -d ' ' -f 1) || true
elif mount -o remount,rw /;then
resize2fs /dev/root || true
fi
mount -o remount,ro /system || true
mount -o remount,ro / || true
fixSPL
if grep vendor.huawei.hardware.biometrics.fingerprint /vendor/manifest.xml;then
mount -o bind system/phh/huawei/fingerprint.kl /vendor/usr/keylayout/fingerprint.kl
fi
if ! grep android.hardware.biometrics.fingerprint /vendor/manifest.xml;then
mount -o bind system/phh/empty /system/etc/permissions/android.hardware.fingerprint.xml
fi
if getprop ro.hardware |grep -qF qcom && [ -f /sys/class/backlight/panel0-backlight/max_brightness ] && \
grep -qvE '^255$' /sys/class/backlight/panel0-backlight/max_brightness;then
setprop persist.sys.qcom-brightness $(cat /sys/class/backlight/panel0-backlight/max_brightness)
fi
if [ "$(getprop ro.vendor.product.device)" == "OnePlus6" ];then
resize2fs /dev/block/platform/soc/1d84000.ufshc/by-name/userdata
fi
if getprop ro.vendor.build.fingerprint |grep -q full_k50v1_64 || getprop ro.hardware |grep -q mt6580 ;then
setprop persist.sys.overlay.nightmode false
fi
if getprop ro.wlan.mtk.wifi.5g |grep -q 1;then
setprop persist.sys.overlay.wifi5g true
fi
if grep -qF 'mkdir /data/.fps 0770 system fingerp' vendor/etc/init/hw/init.mmi.rc;then
mkdir -p /data/.fps
chmod 0770 /data/.fps
chown system:9015 /data/.fps
chown system:9015 /sys/devices/soc/soc:fpc_fpc1020/irq
chown system:9015 /sys/devices/soc/soc:fpc_fpc1020/irq_cnt
fi