ath79: add support for MikroTik RouterBOARD 493G (rb4xx series)
[openwrt/staging/nbd.git] / target / linux / ath79 / mikrotik / base-files / lib / upgrade / platform.sh
1 # Copyright (C) 2011 OpenWrt.org
2
3 PART_NAME=firmware
4
5 REQUIRE_IMAGE_METADATA=1
6 platform_check_image() {
7 return 0
8 }
9
10 RAMFS_COPY_BIN='fw_printenv fw_setenv nandwrite'
11 RAMFS_COPY_DATA='/etc/fw_env.config /var/lock/fw_printenv.lock'
12
13 platform_do_upgrade_mikrotik_nand() {
14 CI_KERNPART=none
15
16 local fw_mtd=$(find_mtd_part kernel)
17 fw_mtd="${fw_mtd/block/}"
18 [ -n "$fw_mtd" ] || return
19
20 local board_dir=$(tar tf "$1" | grep -m 1 '^sysupgrade-.*/$')
21 board_dir=${board_dir%/}
22 [ -n "$board_dir" ] || return
23
24 mtd erase kernel
25 tar xf "$1" ${board_dir}/kernel -O | nandwrite -o "$fw_mtd" -
26
27 nand_do_upgrade "$1"
28 }
29
30 platform_do_upgrade() {
31 local board=$(board_name)
32
33 case "$board" in
34 mikrotik,routerboard-493g|\
35 mikrotik,routerboard-922uags-5hpacd)
36 platform_do_upgrade_mikrotik_nand "$1"
37 ;;
38 *)
39 default_do_upgrade "$1"
40 ;;
41 esac
42 }