aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLinus Walleij <linus.walleij@linaro.org>2019-05-20 22:25:21 +0200
committerPetr Štetiar <ynezz@true.cz>2019-05-23 10:19:52 +0200
commit8a83f17b2407d44489e239f2bc2ab0a69286ce5c (patch)
tree9337bcc5a5672a76d4208a74c65226e68d30dde9
parent4bb9af48ca36605424c57b6af27dd5e5c827395f (diff)
downloadupstream-8a83f17b2407d44489e239f2bc2ab0a69286ce5c.tar.gz
upstream-8a83f17b2407d44489e239f2bc2ab0a69286ce5c.tar.bz2
upstream-8a83f17b2407d44489e239f2bc2ab0a69286ce5c.zip
gemini: Support sysupgrade on DIR-685
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]
-rw-r--r--target/linux/gemini/base-files/lib/upgrade/platform.sh25
-rw-r--r--target/linux/gemini/image/Makefile4
2 files changed, 28 insertions, 1 deletions
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
index 0000000000..4fd169d0de
--- /dev/null
+++ b/target/linux/gemini/base-files/lib/upgrade/platform.sh
@@ -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
+}
diff --git a/target/linux/gemini/image/Makefile b/target/linux/gemini/image/Makefile
index 8fec250f18..ddc2fb9a13 100644
--- a/target/linux/gemini/image/Makefile
+++ b/target/linux/gemini/image/Makefile
@@ -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