53 lines
1.3 KiB
Bash
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!"
|