platform.sh 2.0 KB

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