aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/ath79/image/generic.mk
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/ath79/image/generic.mk')
-rw-r--r--target/linux/ath79/image/generic.mk38
1 files changed, 38 insertions, 0 deletions
diff --git a/target/linux/ath79/image/generic.mk b/target/linux/ath79/image/generic.mk
index 1fa9b30c51..3c0aa2ee4d 100644
--- a/target/linux/ath79/image/generic.mk
+++ b/target/linux/ath79/image/generic.mk
@@ -36,6 +36,11 @@ define Build/addpattern
-mv "$@.new" "$@"
endef
+define Build/append-md5sum-bin
+ $(STAGING_DIR_HOST)/bin/mkhash md5 $@ | sed 's/../\\\\x&/g' |\
+ xargs echo -ne >> $@
+endef
+
define Build/cybertan-trx
@echo -n '' > $@-empty.bin
-$(STAGING_DIR_HOST)/bin/trx -o $@.new \
@@ -73,6 +78,17 @@ define Build/pisen_wmb001n-factory
rm -rf "$@.tmp"
endef
+define Build/teltonika-fw-fake-checksum
+ # Teltonika U-Boot web based firmware upgrade/recovery routine compares
+ # 16 bytes from md5sum1[16] field in TP-Link v1 header (offset: 76 bytes
+ # from begin of the firmware file) with 16 bytes stored just before
+ # 0xdeadc0de marker. Values are only compared, MD5 sum is not verified.
+ let \
+ offs="$$(stat -c%s $@) - 20"; \
+ dd if=$@ bs=1 count=16 skip=76 |\
+ dd of=$@ bs=1 count=16 seek=$$offs conv=notrunc
+endef
+
define Device/seama
KERNEL := kernel-bin | append-dtb | relocate-kernel | lzma
KERNEL_INITRAMFS := $$(KERNEL) | seama
@@ -1070,6 +1086,28 @@ define Device/sitecom_wlr-7100
endef
TARGET_DEVICES += sitecom_wlr-7100
+define Device/teltonika_rut955
+ SOC := ar9344
+ DEVICE_VENDOR := Teltonika
+ DEVICE_MODEL := RUT955
+ DEVICE_PACKAGES := kmod-usb2 kmod-usb-acm kmod-usb-net-qmi-wwan \
+ kmod-usb-serial-option kmod-hwmon-mcp3021 uqmi -uboot-envtools
+ IMAGE_SIZE := 15552k
+ TPLINK_HWID := 0x35000001
+ TPLINK_HWREV := 0x1
+ TPLINK_HEADER_VERSION := 1
+ KERNEL := kernel-bin | append-dtb | lzma | tplink-v1-header
+ KERNEL_INITRAMFS := kernel-bin | append-dtb | lzma | uImage lzma
+ IMAGES += factory.bin
+ IMAGE/factory.bin := append-kernel | pad-to $$$$(BLOCKSIZE) | append-rootfs |\
+ pad-rootfs | teltonika-fw-fake-checksum | append-string master |\
+ append-md5sum-bin | check-size $$$$(IMAGE_SIZE)
+ IMAGE/sysupgrade.bin := append-kernel | pad-to $$$$(BLOCKSIZE) |\
+ append-rootfs | pad-rootfs | append-metadata |\
+ check-size $$$$(IMAGE_SIZE)
+endef
+TARGET_DEVICES += teltonika_rut955
+
define Device/trendnet_tew-823dru
SOC := qca9558
DEVICE_VENDOR := Trendnet