base-files: automatically handle paths and symlinks for RAMFS_COPY_BIN
[openwrt/openwrt.git] / target / linux / mvebu / base-files / lib / upgrade / platform.sh
index f5e44c357afd15d36324f28cd80975a02877dc25..dd21c0958e3664504662b664c376225da71cd074 100755 (executable)
@@ -1,43 +1,48 @@
 #
-# Copyright (C) 2014 OpenWrt.org
+# Copyright (C) 2014-2016 OpenWrt.org
+# Copyright (C) 2016 LEDE-Project.org
 #
 
 . /lib/mvebu.sh
 
-RAMFS_COPY_DATA=/lib/mvebu.sh
+RAMFS_COPY_BIN='fw_printenv fw_setenv'
+RAMFS_COPY_DATA='/lib/mvebu.sh /etc/fw_env.config /var/lock/fw_printenv.lock'
+REQUIRE_IMAGE_METADATA=1
 
 platform_check_image() {
-       local board=$(mvebu_board_name)
-       local magic_long="$(get_magic_long "$1")"
-
-       [ "$#" -gt 1 ] && return 1
-
-       case "$board" in
-       armada-xp-mamba )
-               [ "$magic_long" != "27051956" -a "$magic_long" != "73797375" ] && {
-                       echo "Invalid image type."
-                       return 1
-               }
-               return 0;
-               ;;
-       esac
-
-       echo "Sysupgrade is not yet supported on $board."
-       return 1
+       return 0
 }
 
 platform_do_upgrade() {
        local board=$(mvebu_board_name)
 
        case "$board" in
-       armada-xp-mamba)
+       armada-385-linksys-caiman|armada-385-linksys-cobra|armada-385-linksys-rango|armada-385-linksys-shelby|armada-xp-linksys-mamba)
                platform_do_upgrade_linksys "$ARGV"
                ;;
+       armada-388-clearfog-pro)
+               platform_do_upgrade_clearfog "$ARGV"
+               ;;
+       armada-388-clearfog-base)
+               platform_do_upgrade_clearfog "$ARGV"
+               ;;
        *)
                default_do_upgrade "$ARGV"
                ;;
        esac
 }
+platform_copy_config() {
+       local board=$(mvebu_board_name)
+
+       case "$board" in
+       armada-385-linksys-caiman|armada-385-linksys-cobra|armada-385-linksys-rango|armada-385-linksys-shelby|armada-xp-linksys-mamba)
+               platform_copy_config_linksys
+               ;;
+       armada-388-clearfog)
+               platform_copy_config_clearfog "$ARGV"
+               ;;
+       esac
+}
 
 disable_watchdog() {
        killall watchdog