aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/ramips/image/mt7621.mk
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/ramips/image/mt7621.mk')
-rw-r--r--target/linux/ramips/image/mt7621.mk33
1 files changed, 33 insertions, 0 deletions
diff --git a/target/linux/ramips/image/mt7621.mk b/target/linux/ramips/image/mt7621.mk
index 986fe5e2f8..623d5c94dd 100644
--- a/target/linux/ramips/image/mt7621.mk
+++ b/target/linux/ramips/image/mt7621.mk
@@ -30,6 +30,25 @@ define Build/elecom-wrc-factory
mv $@.new $@
endef
+define Build/elx-header
+ $(eval hw_id=$(word 1,$(1)))
+ $(eval xor_pattern=$(word 2,$(1)))
+ ( \
+ echo -ne "\x00\x00\x00\x00\x00\x00\x00\x03" | \
+ dd bs=42 count=1 conv=sync; \
+ hw_id="$(hw_id)"; \
+ echo -ne "\x$${hw_id:0:2}\x$${hw_id:2:2}\x$${hw_id:4:2}\x$${hw_id:6:2}" | \
+ dd bs=20 count=1 conv=sync; \
+ echo -ne "$$(printf '%08x' $$(stat -c%s $@) | fold -s2 | xargs -I {} echo \\x{} | tr -d '\n')" | \
+ dd bs=8 count=1 conv=sync; \
+ echo -ne "$$($(STAGING_DIR_HOST)/bin/mkhash md5 $@ | fold -s2 | xargs -I {} echo \\x{} | tr -d '\n')" | \
+ dd bs=58 count=1 conv=sync; \
+ ) > $(KDIR)/tmp/$(DEVICE_NAME).header
+ $(call Build/xor-image,-p $(xor_pattern) -x)
+ cat $(KDIR)/tmp/$(DEVICE_NAME).header $@ > $@.new
+ mv $@.new $@
+endef
+
define Build/iodata-factory
$(eval fw_size=$(word 1,$(1)))
$(eval fw_type=$(word 2,$(1)))
@@ -173,6 +192,20 @@ define Device/d-team_pbr-m1
endef
TARGET_DEVICES += d-team_pbr-m1
+define Device/edimax_rg21s
+ MTK_SOC := mt7621
+ IMAGE_SIZE := 16064k
+ DEVICE_VENDOR := Edimax
+ DEVICE_MODEL := Gemini AC2600 RG21S
+ IMAGES += factory.bin
+ IMAGE/factory.bin := \
+ $$(sysupgrade_bin) | check-size $$$$(IMAGE_SIZE) | \
+ elx-header 02020038 8844A2D168B45A2D
+ DEVICE_PACKAGES := \
+ kmod-mt7615e wpad-basic
+endef
+TARGET_DEVICES += edimax_rg21s
+
define Device/elecom_wrc-1167ghbk2-s
MTK_SOC := mt7621
IMAGE_SIZE := 15488k