platform.sh 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
  1. REQUIRE_IMAGE_METADATA=1
  2. RAMFS_COPY_BIN='fitblk'
  3. platform_do_upgrade() {
  4. local board=$(board_name)
  5. local file_type=$(identify $1)
  6. case "$board" in
  7. bananapi,bpi-r64|\
  8. linksys,e8450-ubi|\
  9. ubnt,unifi-6-lr-v1-ubootmod|\
  10. ubnt,unifi-6-lr-v2-ubootmod|\
  11. ubnt,unifi-6-lr-v3-ubootmod)
  12. [ -e /dev/fit0 ] && fitblk /dev/fit0
  13. [ -e /dev/fitrw ] && fitblk /dev/fitrw
  14. bootdev="$(fitblk_get_bootdev)"
  15. case "$bootdev" in
  16. mmcblk*)
  17. EMMC_KERN_DEV="/dev/$bootdev"
  18. emmc_do_upgrade "$1"
  19. ;;
  20. mtdblock*)
  21. PART_NAME="/dev/mtd${bootdev:8}"
  22. default_do_upgrade "$1"
  23. ;;
  24. ubiblock*)
  25. CI_KERNPART="fit"
  26. nand_do_upgrade "$1"
  27. ;;
  28. esac
  29. ;;
  30. buffalo,wsr-2533dhp2|\
  31. buffalo,wsr-3200ax4s)
  32. local magic="$(get_magic_long "$1")"
  33. # use "mtd write" if the magic is "DHP2 (0x44485032)"
  34. # or "DHP3 (0x44485033)"
  35. if [ "$magic" = "44485032" -o "$magic" = "44485033" ]; then
  36. buffalo_upgrade_ubinized "$1"
  37. else
  38. CI_KERNPART="firmware"
  39. nand_do_upgrade "$1"
  40. fi
  41. ;;
  42. dlink,eagle-pro-ai-m32-a1|\
  43. dlink,eagle-pro-ai-r32-a1|\
  44. elecom,wrc-x3200gst3|\
  45. mediatek,mt7622-rfb1-ubi|\
  46. netgear,wax206|\
  47. totolink,a8000ru|\
  48. xiaomi,redmi-router-ax6s)
  49. nand_do_upgrade "$1"
  50. ;;
  51. linksys,e8450)
  52. if grep -q mtdparts=slave /proc/cmdline; then
  53. PART_NAME=firmware2
  54. else
  55. PART_NAME=firmware1
  56. fi
  57. default_do_upgrade "$1"
  58. ;;
  59. *)
  60. default_do_upgrade "$1"
  61. ;;
  62. esac
  63. }
  64. PART_NAME=firmware
  65. platform_check_image() {
  66. local board=$(board_name)
  67. local magic="$(get_magic_long "$1")"
  68. [ "$#" -gt 1 ] && return 1
  69. case "$board" in
  70. buffalo,wsr-2533dhp2|\
  71. buffalo,wsr-3200ax4s)
  72. buffalo_check_image "$board" "$magic" "$1" || return 1
  73. ;;
  74. dlink,eagle-pro-ai-m32-a1|\
  75. dlink,eagle-pro-ai-r32-a1|\
  76. elecom,wrc-x3200gst3|\
  77. mediatek,mt7622-rfb1-ubi|\
  78. netgear,wax206|\
  79. totolink,a8000ru|\
  80. xiaomi,redmi-router-ax6s)
  81. nand_do_platform_check "$board" "$1"
  82. return $?
  83. ;;
  84. *)
  85. [ "$magic" != "d00dfeed" ] && {
  86. echo "Invalid image type."
  87. return 1
  88. }
  89. return 0
  90. ;;
  91. esac
  92. return 0
  93. }
  94. platform_copy_config() {
  95. case "$(board_name)" in
  96. bananapi,bpi-r64)
  97. if fitblk_get_bootdev | grep -q mmc; then
  98. emmc_copy_config
  99. fi
  100. ;;
  101. esac
  102. }