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