7161a4b84ed9dad248436b221d1c6196528e1cf2
[openwrt/openwrt.git] / target / linux / mediatek / base-files / lib / upgrade / platform.sh
1 #
2 # Copyright (C) 2016 OpenWrt.org
3 #
4
5 platform_do_upgrade() {
6 local tar_file="$1"
7 local board="$(board_name)"
8
9 echo "flashing kernel"
10 tar xf $tar_file sysupgrade-$board/kernel -O | mtd write - kernel
11
12 echo "flashing rootfs"
13 tar xf $tar_file sysupgrade-$board/root -O | mtd write - rootfs
14
15 return 0
16 }
17
18 platform_check_image() {
19 local tar_file="$1"
20 local board=$(board_name)
21
22 case "$board" in
23 mediatek,mt7623-rfb-nand-ephy |\
24 mediatek,mt7623-rfb-nand)
25 nand_do_platform_check $board $1
26 return $?
27 ;;
28 bananapi,bpi-r2 |\
29 mediatek,mt7623-rfb-emmc)
30 local kernel_length=`(tar xf $tar_file sysupgrade-$board/kernel -O | wc -c) 2> /dev/null`
31 local rootfs_length=`(tar xf $tar_file sysupgrade-$board/root -O | wc -c) 2> /dev/null`
32 ;;
33
34 *)
35 echo "Sysupgrade is not supported on your board yet."
36 return 1
37 ;;
38 esac
39
40 [ "$kernel_length" = 0 -o "$rootfs_length" = 0 ] && {
41 echo "The upgarde image is corrupt."
42 return 1
43 }
44
45 return 0
46 }
47
48 platform_pre_upgrade() {
49 case "$(board_name)" in
50 mediatek,mt7623-rfb-nand-ephy |\
51 mediatek,mt7623-rfb-nand)
52 nand_do_upgrade $1
53 ;;
54 esac
55 }