mediatek: sync and patches add support for several boards
[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="$(cat /tmp/sysinfo/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=$(cat /tmp/sysinfo/board_name)
21
22         case "$board" in
23         NAND | \
24         eMMC)
25                 local kernel_length=`(tar xf $tar_file sysupgrade-$board/kernel -O | wc -c) 2> /dev/null`
26                 local rootfs_length=`(tar xf $tar_file sysupgrade-$board/root -O | wc -c) 2> /dev/null`
27                 ;;
28
29         *)
30                 echo "Sysupgrade is not supported on your board yet."
31                 return 1
32                 ;;
33         esac
34
35         [ "$kernel_length" = 0 -o "$rootfs_length" = 0 ] && {
36                 echo "The upgarde image is corrupt."
37                 return 1
38         }
39
40         return 0
41 }