eff2ba967cdcc7b8395b0ebcf260915d97503352
[openwrt/openwrt.git] / target / linux / ramips / base-files / lib / upgrade / platform.sh
1 #
2 # Copyright (C) 2010 OpenWrt.org
3 #
4
5 PART_NAME=firmware
6 REQUIRE_IMAGE_METADATA=1
7
8 RAMFS_COPY_BIN='fw_printenv fw_setenv'
9 RAMFS_COPY_DATA='/etc/fw_env.config /var/lock/fw_printenv.lock'
10
11 platform_check_image() {
12 return 0
13 }
14
15 platform_pre_upgrade() {
16 local board=$(board_name)
17
18 case "$board" in
19 mikrotik,rb750gr3|\
20 mikrotik,rbm11g|\
21 mikrotik,rbm33g)
22 [ -z "$(rootfs_type)" ] && mtd erase firmware
23 ;;
24 esac
25 }
26
27 platform_nand_pre_upgrade() {
28 local board=$(board_name)
29
30 case "$board" in
31 ubnt-erx|\
32 ubnt-erx-sfp)
33 platform_upgrade_ubnt_erx "$1"
34 ;;
35 esac
36 }
37
38 platform_do_upgrade() {
39 local board=$(board_name)
40
41 case "$board" in
42 alfa-network,ac1200rm|\
43 alfa-network,awusfree1|\
44 alfa-network,tube-e4g)
45 [ "$(fw_printenv -n dual_image 2>/dev/null)" = "1" ] &&\
46 [ -n "$(find_mtd_part backup)" ] && {
47 PART_NAME=backup
48 if [ "$(fw_printenv -n bootactive 2>/dev/null)" = "1" ]; then
49 fw_setenv bootactive 2 || exit 1
50 else
51 fw_setenv bootactive 1 || exit 1
52 fi
53 }
54 default_do_upgrade "$1"
55 ;;
56 hc5962|\
57 r6220|\
58 netgear,r6350|\
59 ubnt-erx|\
60 ubnt-erx-sfp|\
61 xiaomi,mir3g|\
62 xiaomi,mir3p)
63 nand_do_upgrade "$1"
64 ;;
65 tplink,c50-v4)
66 MTD_ARGS="-t romfile"
67 default_do_upgrade "$1"
68 ;;
69 *)
70 default_do_upgrade "$1"
71 ;;
72 esac
73 }