gemini: Support sysupgrade on DIR-685
authorLinus Walleij <linus.walleij@linaro.org>
Mon, 20 May 2019 20:25:21 +0000 (22:25 +0200)
committerPetr Štetiar <ynezz@true.cz>
Thu, 23 May 2019 08:19:52 +0000 (10:19 +0200)
This makes sysupgrade work on the D-Link DIR-685 after
initial factory install.

We create the platform.sh script to support sysupgrade
on more targets as we move on with sysupgrade support.

Cc: Petr Štetiar <ynezz@true.cz>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Signed-off-by: Petr Štetiar <ynezz@true.cz>
[cleanup in platform.sh, removed superfluous SUPPORTED_DEVICES]

target/linux/gemini/base-files/lib/upgrade/platform.sh [new file with mode: 0644]
target/linux/gemini/image/Makefile

diff --git a/target/linux/gemini/base-files/lib/upgrade/platform.sh b/target/linux/gemini/base-files/lib/upgrade/platform.sh
new file mode 100644 (file)
index 0000000..4fd169d
--- /dev/null
@@ -0,0 +1,25 @@
+REQUIRE_IMAGE_METADATA=1
+
+platform_check_image() {
+       local board=$(board_name)
+
+       case "$board" in
+       dlink,dir-685)
+               return 0
+               ;;
+       esac
+
+       echo "Sysupgrade is not yet supported on $board."
+       return 1
+}
+
+platform_do_upgrade() {
+       local board=$(board_name)
+
+       case "$board" in
+       dlink,dir-685)
+               PART_NAME=firmware
+               default_do_upgrade "$ARGV"
+               ;;
+       esac
+}
index 8fec250f186a4900915f0370e04f022bb5f91c6f..ddc2fb9a138ce81138dde136a41d9b33337ae4a8 100644 (file)
@@ -115,6 +115,7 @@ define Device/Default
        KERNEL_NAME := zImage
        KERNEL := kernel-bin | append-dtb
        BLOCKSIZE := 128k
+       SUPPORTED_DEVICES := $(subst _,$(comma),$(1))
 endef
 
 # A reasonable set of default packages handling the NAS type
@@ -143,9 +144,10 @@ define Device/dlink_dir-685
        DEVICE_PACKAGES := $(GEMINI_NAS_PACKAGES) \
                        kmod-switch-rtl8366rb swconfig \
                        kmod-rt2800-pci
-       IMAGES := factory.bin
+       IMAGES := factory.bin sysupgrade.bin
        # Pad to 128k erase blocks with 160 bytes WRGG header
        IMAGE/factory.bin := append-kernel | pad-offset 128k 160 | append-rootfs | dir685-pad-rootfs | dir685-image
+       IMAGE/sysupgrade.bin := append-kernel | pad-offset 128k 160 | dir685-image | append-rootfs | dir685-pad-rootfs | append-metadata
 endef
 TARGET_DEVICES += dlink_dir-685