platform.sh 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. #
  2. # Copyright (C) 2010 OpenWrt.org
  3. #
  4. PART_NAME=firmware
  5. REQUIRE_IMAGE_METADATA=1
  6. RAMFS_COPY_BIN='fw_printenv fw_setenv'
  7. RAMFS_COPY_DATA='/etc/fw_env.config /var/lock/fw_printenv.lock'
  8. platform_check_image() {
  9. return 0
  10. }
  11. platform_do_upgrade() {
  12. local board=$(board_name)
  13. case "$board" in
  14. alfa-network,quad-e4g)
  15. [ "$(fw_printenv -n dual_image 2>/dev/null)" = "1" ] &&\
  16. [ -n "$(find_mtd_part backup)" ] && {
  17. PART_NAME=backup
  18. if [ "$(fw_printenv -n bootactive 2>/dev/null)" = "1" ]; then
  19. fw_setenv bootactive 2 || exit 1
  20. else
  21. fw_setenv bootactive 1 || exit 1
  22. fi
  23. }
  24. ;;
  25. mikrotik,routerboard-750gr3|\
  26. mikrotik,routerboard-m11g|\
  27. mikrotik,routerboard-m33g)
  28. [ -z "$(rootfs_type)" ] && mtd erase firmware
  29. ;;
  30. asus,rt-ac65p|\
  31. asus,rt-ac85p)
  32. echo "Backing up firmware"
  33. dd if=/dev/mtd4 bs=1024 count=4096 > /tmp/backup_firmware.bin
  34. dd if=/dev/mtd5 bs=1024 count=52224 >> /tmp/backup_firmware.bin
  35. mtd -e firmware2 write /tmp/backup_firmware.bin firmware2
  36. ;;
  37. esac
  38. case "$board" in
  39. asus,rt-ac65p|\
  40. asus,rt-ac85p|\
  41. hiwifi,hc5962|\
  42. linksys,ea7500-v2|\
  43. netgear,r6220|\
  44. netgear,r6260|\
  45. netgear,r6350|\
  46. netgear,r6700-v2|\
  47. netgear,r6800|\
  48. netgear,r6850|\
  49. netis,wf2881|\
  50. xiaomi,mir3g|\
  51. xiaomi,mir3p|\
  52. xiaomi,redmi-router-ac2100)
  53. nand_do_upgrade "$1"
  54. ;;
  55. iodata,wn-ax1167gr2|\
  56. iodata,wn-ax2033gr|\
  57. iodata,wn-dx1167r)
  58. iodata_mstc_upgrade_prepare
  59. nand_do_upgrade "$1"
  60. ;;
  61. ubnt,edgerouter-x|\
  62. ubnt,edgerouter-x-sfp)
  63. platform_upgrade_ubnt_erx "$1"
  64. ;;
  65. *)
  66. default_do_upgrade "$1"
  67. ;;
  68. esac
  69. }