aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/ath79/image/common-senao.mk
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/ath79/image/common-senao.mk')
-rw-r--r--target/linux/ath79/image/common-senao.mk32
1 files changed, 32 insertions, 0 deletions
diff --git a/target/linux/ath79/image/common-senao.mk b/target/linux/ath79/image/common-senao.mk
new file mode 100644
index 0000000000..dd1a53c969
--- /dev/null
+++ b/target/linux/ath79/image/common-senao.mk
@@ -0,0 +1,32 @@
+DEVICE_VARS += SENAO_IMGNAME
+
+# This needs to make /tmp/_sys/sysupgrade.tgz an empty file prior to
+# sysupgrade, as otherwise it will implant the old configuration from
+# OEM firmware when writing rootfs from factory.bin
+define Build/senao-tar-gz
+ -[ -f "$@" ] && \
+ mkdir -p $@.tmp && \
+ touch $@.tmp/failsafe.bin && \
+ echo '#!/bin/sh' > $@.tmp/before-upgrade.sh && \
+ echo ': > /tmp/_sys/sysupgrade.tgz' >> $@.tmp/before-upgrade.sh && \
+ $(CP) $(KDIR)/loader-$(DEVICE_NAME).uImage \
+ $@.tmp/openwrt-$(word 1,$(1))-uImage-lzma.bin && \
+ $(CP) $@ $@.tmp/openwrt-$(word 1,$(1))-root.squashfs && \
+ $(TAR) -cp --numeric-owner --owner=0 --group=0 --mode=a-s --sort=name \
+ $(if $(SOURCE_DATE_EPOCH),--mtime="@$(SOURCE_DATE_EPOCH)") \
+ -C $@.tmp . | gzip -9n > $@ && \
+ rm -rf $@.tmp
+endef
+
+define Device/senao_loader_okli
+ KERNEL := kernel-bin | append-dtb | lzma | uImage lzma -M 0x4f4b4c49
+ LOADER_TYPE := bin
+ COMPILE := loader-$(1).bin loader-$(1).uImage
+ COMPILE/loader-$(1).bin := loader-okli-compile
+ COMPILE/loader-$(1).uImage := append-loader-okli $(1) | pad-to 64k | lzma | \
+ uImage lzma
+ IMAGES += factory.bin
+ IMAGE/factory.bin := append-squashfs-fakeroot-be | pad-to $$$$(BLOCKSIZE) | \
+ append-kernel | pad-to $$$$(BLOCKSIZE) | append-rootfs | pad-rootfs | \
+ check-size | senao-tar-gz $$$$(SENAO_IMGNAME)
+endef