parent
416d265b2e
commit
2618e81589
|
|
@ -0,0 +1,71 @@
|
|||
#!/bin/sh
|
||||
|
||||
|
||||
DDAT_MOUNT_PATH=/tmp/ddat
|
||||
END_USER_UPDATER_PKG=${DDAT_MOUNT_PATH}/FwUpdater.pkg
|
||||
|
||||
|
||||
|
||||
|
||||
# $1 : reboot=1, shutdown 0
|
||||
local_reboot()
|
||||
{
|
||||
umount $DDAT_MOUNT_PATH
|
||||
sync
|
||||
sync
|
||||
mount -o remount,ro /
|
||||
if [ $1 -eq 1 ]
|
||||
then
|
||||
/sbin/reboot
|
||||
else
|
||||
/sbin/poweroff
|
||||
fi
|
||||
|
||||
while [ 1 ]
|
||||
do
|
||||
sleep 3
|
||||
done
|
||||
}
|
||||
|
||||
|
||||
|
||||
#########################
|
||||
# End User Updater check
|
||||
#########################
|
||||
|
||||
mount -t tmpfs tmpfs /tmp
|
||||
mkdir ${DDAT_MOUNT_PATH}
|
||||
mount /dev/mmcblk0p16 ${DDAT_MOUNT_PATH}
|
||||
if [ -f ${END_USER_UPDATER_PKG} ]
|
||||
then
|
||||
rawdata --get_dump=sig_key > /tmp/sig.key
|
||||
rawdata --get_dump=dec_key > /tmp/dec.key
|
||||
start_eufwupdater.sh ${END_USER_UPDATER_PKG} /tmp /tmp/sig.key /tmp/dec.key
|
||||
ret=$?
|
||||
if [ $ret -eq 0 ]
|
||||
then
|
||||
# remove pkg, change normal boot and reboot
|
||||
change_boot_mode.sh normal
|
||||
rm -rf ${END_USER_UPDATER_PKG}
|
||||
local_reboot 1
|
||||
# elif [ $ret -eq 1 ]
|
||||
# then
|
||||
# # remain pkg, keep boot mode and shutdown
|
||||
# local_reboot 0
|
||||
else
|
||||
# remove pkg, change normal boot and shutdown
|
||||
change_boot_mode.sh normal
|
||||
rm -rf ${END_USER_UPDATER_PKG}
|
||||
local_reboot 0
|
||||
fi
|
||||
fi
|
||||
|
||||
umount ${DDAT_MOUNT_PATH}
|
||||
|
||||
#########################
|
||||
# Diag check
|
||||
#########################
|
||||
|
||||
initctl start diag
|
||||
exit 0
|
||||
|
||||
|
|
@ -52,7 +52,8 @@ def validate_required_files(dpt, purpose='diagnosis'):
|
|||
]
|
||||
elif purpose == 'eufwupdater':
|
||||
requiredFiles = [
|
||||
'python_api/assets/start_eufwupdater.sh'
|
||||
'python_api/assets/start_eufwupdater.sh',
|
||||
'python_api/assets/updater_check.sh'
|
||||
]
|
||||
else:
|
||||
requiredFiles = [
|
||||
|
|
@ -342,15 +343,27 @@ def diagnosis_patch_eufwupdater(dpt):
|
|||
'''
|
||||
if not validate_required_files(dpt, purpose='eufwupdater'):
|
||||
return False
|
||||
# patch start_eufwupdater.sh
|
||||
bashfp = diagnosis_push_file(
|
||||
dpt,
|
||||
localfp='python_api/assets/start_eufwupdater.sh',
|
||||
folder='/usr/local/bin',
|
||||
overwrite=True)
|
||||
if bashfp is None:
|
||||
dpt.err_print("Failed to patch!!")
|
||||
dpt.err_print("Failed to patch start_eufwupdater.sh!!")
|
||||
return False
|
||||
dpt.diagnosis_set_perm(bashfp, owner='1496.1496', perm='0775')
|
||||
# patch updater_check.sh
|
||||
bashfp = diagnosis_push_file(
|
||||
dpt,
|
||||
localfp='python_api/assets/updater_check.sh',
|
||||
folder='/usr/local/bin',
|
||||
overwrite=True)
|
||||
if bashfp is None:
|
||||
dpt.err_print("Failed to patch updater_check.sh!!")
|
||||
return False
|
||||
dpt.diagnosis_set_perm(bashfp, owner='1496.1496', perm='0775')
|
||||
# success
|
||||
dpt.info_print("Success!")
|
||||
return True
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue