treewide: use new procd sysupgrade $UPGRADE_BACKUP variable
[openwrt/openwrt.git] / target / linux / imx6 / base-files / lib / upgrade / platform.sh
index 0bbf110282e108edd7f5f9f590028f7693be5afc..9414b187106e9b04415570c6b400ee1828580436 100755 (executable)
@@ -4,10 +4,39 @@
 
 . /lib/imx6.sh
 
+RAMFS_COPY_BIN='blkid jffs2reset'
+
+enable_image_metadata_check() {
+       case "$(board_name)" in
+               apalis*)
+                       REQUIRE_IMAGE_METADATA=1
+                       ;;
+       esac
+}
+enable_image_metadata_check
+
+apalis_copy_config() {
+       apalis_mount_boot
+       cp -af "$UPGRADE_BACKUP" "/boot/$BACKUP_FILE"
+       sync
+       umount /boot
+}
+
+apalis_do_upgrade() {
+       apalis_mount_boot
+       get_image "$1" | tar Oxf - sysupgrade-apalis/kernel > /boot/uImage
+       get_image "$1" | tar Oxf - sysupgrade-apalis/root > $(rootpart_from_uuid)
+       sync
+       umount /boot
+}
+
 platform_check_image() {
-       local board=$(imx6_board_name)
+       local board=$(board_name)
 
        case "$board" in
+       apalis*)
+               return 0
+               ;;
        *gw5*)
                nand_do_platform_check $board $1
                return $?;
@@ -18,12 +47,38 @@ platform_check_image() {
        return 1
 }
 
-platform_pre_upgrade() {
-       local board=$(imx6_board_name)
+platform_do_upgrade() {
+       local board=$(board_name)
 
        case "$board" in
+       apalis*)
+               apalis_do_upgrade "$1"
+               ;;
        *gw5*)
                nand_do_upgrade "$1"
                ;;
        esac
 }
+
+platform_copy_config() {
+       local board=$(board_name)
+
+       case "$board" in
+       apalis*)
+               apalis_copy_config
+               ;;
+       esac
+}
+
+platform_pre_upgrade() {
+       local board=$(board_name)
+
+       case "$board" in
+       apalis*)
+               [ "$UPGRADE_OPT_SAVE_CONFIG" -eq 0 ] && {
+                       jffs2reset -y
+                       umount /overlay
+               }
+               ;;
+       esac
+}