Files
device_motorola_cancunp/rootdir/bin/init.mmi.backup.trustlet.sh

53 lines
1.3 KiB
Bash

#!/vendor/bin/sh
PATH=/sbin:/vendor/sbin:/vendor/bin:/vendor/xbin
export PATH
scriptname=${0##*/}
notice()
{
echo "$*"
echo "$scriptname: $*" > /dev/kmsg
}
# Check if we are in the first bootup sequence.
hardware_state=$(getprop ro.boot.secure_hardware)
build_tags=$(getprop ro.build.tags)
vendor_build_type=$(getprop ro.vendor.build.type)
backup_state_prop=$(getprop persist.vendor.tl.already_backup)
if [[ "$hardware_state" == "0" ]]; then
notice "Do not need trustlet backup, skip!"
exit 0
fi
# Exclude secure hw with user/userdebug testkey sw
if [[ "$hardware_state" == "1" && "$build_tags" == *"test-keys"* ]]; then
notice "Do not need trustlet backup, skip!"
exit 0
fi
# Exclude secure hw with factory userdebug releasekey sw
if [[ "$hardware_state" == "1" && "$vendor_build_type" == "userdebug" ]]; then
notice "Do not need trustlet backup, skip!"
exit 0
fi
if [[ "$backup_state_prop" == "true" ]]; then
notice "Trustlet already backed up, skip!"
exit 0
fi
# For Trustonic tl and drv backup.
if [ -d /vendor/app/mcRegistry/ ]; then
notice "Detecting trustonic path, syncing up.."
cp -af /vendor/app/mcRegistry/* /mnt/vendor/tzapp/
fi
# TODO: Add more TEE vendor support if required.
setprop persist.vendor.tl.already_backup true
notice "Trustlet backup success!"