treewide: use only board_name function to get name
[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 mediatek,mt7623-rfb-emmc)
29 local kernel_length=`(tar xf $tar_file sysupgrade-$board/kernel -O | wc -c) 2> /dev/null`
30 local rootfs_length=`(tar xf $tar_file sysupgrade-$board/root -O | wc -c) 2> /dev/null`
31 ;;
32
33 *)
34 echo "Sysupgrade is not supported on your board yet."
35 return 1
36 ;;
37 esac
38
39 [ "$kernel_length" = 0 -o "$rootfs_length" = 0 ] && {
40 echo "The upgarde image is corrupt."
41 return 1
42 }
43
44 return 0
45 }
46
47 platform_pre_upgrade() {
48 case "$(board_name)" in
49 mediatek,mt7623-rfb-nand-ephy |\
50 mediatek,mt7623-rfb-nand)
51 nand_do_upgrade $1
52 ;;
53 esac
54 }