base-files: automatically handle paths and symlinks for RAMFS_COPY_BIN
[openwrt/openwrt.git] / target / linux / ipq806x / base-files / lib / upgrade / platform.sh
index 87689306531accb13114e742db873bfdc5de93c2..246361bbf6018b60563439dda142aec08f1e8048 100644 (file)
@@ -1,61 +1,53 @@
 . /lib/ipq806x.sh
 
 PART_NAME=firmware
+REQUIRE_IMAGE_METADATA=1
 
-platform_check_image() {
-       local board=$(ipq806x_board_name)
+RAMFS_COPY_BIN='fw_printenv fw_setenv'
+RAMFS_COPY_DATA='/etc/fw_env.config /var/lock/fw_printenv.lock'
 
-       case "$board" in
-       ap148 |\
-       d7800 |\
-       ea8500 |\
-       r7500 |\
-       r7500v2 |\
-       r7800)
-               nand_do_platform_check $board $1
-               return $?;
-               ;;
-       c2600)
-               local magic_long="$(get_magic_long "$1")"
-               [ "$magic_long" != "27051956" ] && {
-                       echo "Invalid image, bad magic: $magic_long"
-                       return 1
-               }
-               return 0;
-               ;;
-       *)
-               return 1;
-       esac
+platform_check_image() {
+       return 0;
 }
 
-platform_pre_upgrade() {
+platform_do_upgrade() {
        local board=$(ipq806x_board_name)
 
        case "$board" in
        ap148 |\
+       ap-dk04.1-c1 |\
        d7800 |\
+       nbg6817 |\
        r7500 |\
        r7500v2 |\
        r7800)
-               nand_do_upgrade "$1"
+               nand_do_upgrade "$ARGV"
+               ;;
+       c2600)
+               PART_NAME="os-image:rootfs"
+               MTD_CONFIG_ARGS="-s 0x200000"
+               default_do_upgrade "$ARGV"
                ;;
        ea8500)
-               linksys_preupgrade "$1"
+               platform_do_upgrade_linksys "$ARGV"
+               ;;
+       vr2600v)
+               PART_NAME="kernel:rootfs"
+               MTD_CONFIG_ARGS="-s 0x200000"
+               default_do_upgrade "$ARGV"
+               ;;
+       *)
+               default_do_upgrade "$ARGV"
                ;;
        esac
 }
 
-platform_do_upgrade() {
+platform_nand_pre_upgrade() {
        local board=$(ipq806x_board_name)
 
        case "$board" in
-       c2600)
-               PART_NAME="os-image:rootfs"
-               MTD_CONFIG_ARGS="-s 0x200000"
-               default_do_upgrade "$ARGV"
-               ;;
-       ea8500)
-               platform_do_upgrade_linksys "$ARGV"
+       nbg6817)
+               zyxel_do_upgrade "$1"
                ;;
        esac
 }