605b1e78819e1c0aaa21b6d3996871ca9d758f80
[openwrt/staging/chunkeey.git] / target / linux / ipq40xx / base-files / lib / upgrade / platform.sh
1 PART_NAME=firmware
2 REQUIRE_IMAGE_METADATA=1
3
4 RAMFS_COPY_BIN='fw_printenv fw_setenv'
5 RAMFS_COPY_DATA='/etc/fw_env.config /var/lock/fw_printenv.lock'
6
7 platform_check_image() {
8 case "$(board_name)" in
9 asus,rt-ac58u)
10 CI_UBIPART="UBI_DEV"
11 local ubidev=$(nand_find_ubi $CI_UBIPART)
12 local asus_root=$(nand_find_volume $ubidev jffs2)
13
14 [ -n "$asus_root" ] || return 0
15
16 cat << EOF
17 jffs2 partition is still present.
18 There's probably no space left
19 to install the filesystem.
20
21 You need to delete the jffs2 partition first:
22 # ubirmvol /dev/ubi0 --name=jffs2
23
24 Once this is done. Retry.
25 EOF
26 return 1
27 ;;
28 esac
29 return 0;
30 }
31
32 askey_do_upgrade() {
33 local tar_file="$1"
34
35 local board_dir=$(tar tf $tar_file | grep -m 1 '^sysupgrade-.*/$')
36 board_dir=${board_dir%/}
37
38 tar Oxf $tar_file ${board_dir}/root | mtd write - rootfs
39
40 nand_do_upgrade "$1"
41 }
42
43 zyxel_do_upgrade() {
44 local tar_file="$1"
45
46 local board_dir=$(tar tf $tar_file | grep -m 1 '^sysupgrade-.*/$')
47 board_dir=${board_dir%/}
48
49 tar Oxf $tar_file ${board_dir}/kernel | mtd write - kernel
50
51 if [ -n "$UPGRADE_BACKUP" ]; then
52 tar Oxf $tar_file ${board_dir}/root | mtd -j "$UPGRADE_BACKUP" write - rootfs
53 else
54 tar Oxf $tar_file ${board_dir}/root | mtd write - rootfs
55 fi
56 }
57
58 platform_do_upgrade() {
59 case "$(board_name)" in
60 8dev,jalapeno |\
61 aruba,ap-303 |\
62 aruba,ap-303h |\
63 aruba,ap-365 |\
64 avm,fritzbox-7530 |\
65 avm,fritzrepeater-1200 |\
66 avm,fritzrepeater-3000 |\
67 buffalo,wtr-m2133hp |\
68 cilab,meshpoint-one |\
69 edgecore,ecw5211 |\
70 edgecore,oap100 |\
71 engenius,eap2200 |\
72 glinet,gl-ap1300 |\
73 luma,wrtq-329acn |\
74 mobipromo,cm520-79f |\
75 netgear,wac510 |\
76 p2w,r619ac-64m |\
77 p2w,r619ac-128m |\
78 qxwlan,e2600ac-c2)
79 nand_do_upgrade "$1"
80 ;;
81 alfa-network,ap120c-ac)
82 part="$(awk -F 'ubi.mtd=' '{printf $2}' /proc/cmdline | sed -e 's/ .*$//')"
83 if [ "$part" = "rootfs1" ]; then
84 fw_setenv active 2 || exit 1
85 CI_UBIPART="rootfs2"
86 else
87 fw_setenv active 1 || exit 1
88 CI_UBIPART="rootfs1"
89 fi
90 nand_do_upgrade "$1"
91 ;;
92 asus,map-ac2200)
93 CI_KERNPART="linux"
94 nand_do_upgrade "$1"
95 ;;
96 asus,rt-ac58u)
97 CI_UBIPART="UBI_DEV"
98 CI_KERNPART="linux"
99 nand_do_upgrade "$1"
100 ;;
101 cellc,rtl30vw)
102 CI_UBIPART="ubifs"
103 askey_do_upgrade "$1"
104 ;;
105 compex,wpj419)
106 nand_do_upgrade "$1"
107 ;;
108 linksys,ea6350v3 |\
109 linksys,ea8300 |\
110 linksys,mr8300)
111 platform_do_upgrade_linksys "$1"
112 ;;
113 meraki,mr33)
114 CI_KERNPART="part.safe"
115 nand_do_upgrade "$1"
116 ;;
117 mikrotik,hap-ac2|\
118 mikrotik,sxtsq-5-ac)
119 [ "$(rootfs_type)" = "tmpfs" ] && mtd erase firmware
120 default_do_upgrade "$1"
121 ;;
122 netgear,rbr50 |\
123 netgear,rbs50 |\
124 netgear,srr60 |\
125 netgear,srs60)
126 platform_do_upgrade_netgear_orbi_upgrade "$1"
127 ;;
128 openmesh,a42 |\
129 openmesh,a62 |\
130 plasmacloud,pa1200 |\
131 plasmacloud,pa2200)
132 PART_NAME="inactive"
133 platform_do_upgrade_dualboot_datachk "$1"
134 ;;
135 zyxel,nbg6617)
136 zyxel_do_upgrade "$1"
137 ;;
138 *)
139 default_do_upgrade "$1"
140 ;;
141 esac
142 }