kirkwood: add support for ipTIME NAS1
[openwrt/openwrt.git] / target / linux / kirkwood / base-files / lib / upgrade / platform.sh
index dd06aa7f2258a718a324676aa4844f5eb5a377e8..9885bf7d31d87665eb8d7f6f12f2035fdfed5333 100644 (file)
@@ -1,22 +1,49 @@
-RAMFS_COPY_BIN='fw_printenv fw_setenv'
+RAMFS_COPY_BIN='fw_printenv fw_setenv strings'
 RAMFS_COPY_DATA='/etc/fw_env.config /var/lock/fw_printenv.lock'
 
+PART_NAME=firmware
 REQUIRE_IMAGE_METADATA=1
 
 platform_check_image() {
-       return 1
+       local board="$(board_name)"
+
+       case "$board" in
+       netgear,readynas-duo-v2)
+               # let's store how rootfs is mounted
+               cp /proc/mounts /tmp/mounts
+               return 0
+               ;;
+       *)
+               return 0
+               ;;
+       esac
 }
 
 platform_do_upgrade() {
        local board="$(board_name)"
 
        case "$board" in
-       "linksys-audi"|\
-       "linksys-viper")
-               platform_do_upgrade_linksys "$ARGV"
+       ctera,c200-v1)
+               part=$(find_mtd_part "active_bank")
+
+               if [ -n "$part" ]; then
+                       CI_KERNPART="$(strings $part | grep bank)"
+                       nand_do_upgrade "$1"
+               else
+                       echo "active_bank partition missed!"
+                       return 1
+               fi
+               ;;
+       iptime,nas1)
+               default_do_upgrade "$1"
+               ;;
+       linksys,e4200-v2|\
+       linksys,ea3500|\
+       linksys,ea4500)
+               platform_do_upgrade_linksys "$1"
                ;;
        *)
-               nand_do_upgrade "$ARGV"
+               nand_do_upgrade "$1"
                ;;
        esac
 }