upgrade.sh 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. #!/bin/bash
  2. para="$1"
  3. case ${para} in
  4. pre)
  5. cd /userdata
  6. rm -rf /userdata/*
  7. sync
  8. [ ! -d /userdata/upgrade ] && mkdir -p /userdata/upgrade
  9. [ ! -d /userdata/recovery ] && mkdir -p /userdata/recovery
  10. [ ! -d /userdata/lost+found ] && mkdir -p /userdata/lost+found
  11. [ ! -f /userdata/ispeaker.log ] && touch /userdata/ispeaker.log
  12. [ ! -f /userdata/tmp_state.conf ] && touch /userdata/tmp_state.conf
  13. cat << END > /userdata/tmp_state.conf
  14. [intercom]
  15. onekey_state=idle
  16. END
  17. sync
  18. ;;
  19. *)
  20. sync
  21. [ ! -f ${para} ] && exit 1
  22. model="`/etc/scripts/getmodel.sh`"
  23. [ -z ${model} ] && exit 1
  24. /usr/bin/rk_parser ${para} ${model}
  25. recode_check="$?"
  26. if [ "foo${recode_check}" != "foo0" ];then
  27. rm -rf ${para}
  28. sync
  29. exit 1
  30. fi
  31. sync
  32. reset_default="`sysconf /etc/speaker.conf get upgrade reset_default`"
  33. updatetime="`sysconf /etc/speaker.conf get upgrade date`"
  34. if [ ! -f /userdata/updatetime.txt ];then
  35. touch /userdata/updatetime.txt
  36. cat << END > /userdata/updatetime.txt
  37. [upgrade]
  38. date=2019-12-02
  39. END
  40. fi
  41. sysconf /userdata/updatetime.txt set upgrade date ${updatetime}
  42. if [ "foo${reset_default}" = "foono" ];then
  43. rm -rf /oem/.upgrade
  44. #updateEngine --image_url=${para} --misc=update --savepath=${para} --reboot
  45. tar -zxvf ${para} -C /
  46. recode="$?"
  47. if [ "${recode}" = 255 ];then
  48. touch /oem/.upgrade
  49. rm -rf ${para}
  50. sync
  51. exit 1
  52. fi
  53. else
  54. rm -rf /oem/.userdata
  55. # updateEngine --image_url=${para} --misc=update --savepath=${para} --reboot
  56. tar -zxvf ${para} -C /
  57. recode="$?"
  58. if [ "${recode}" = 255 ];then
  59. touch /oem/.userdata
  60. rm -rf ${para}
  61. sync
  62. exit 1
  63. fi
  64. fi
  65. /usr/sbin/reboot
  66. esac
  67. sync
  68. exit 0