+DEVICE_VARS += DAP_SIGNATURE NETGEAR_BOARD_ID NETGEAR_HW_ID NETGEAR_KERNEL_MAGIC ROOTFS_SIZE SEAMA_SIGNATURE
+
+define Build/mkbuffaloimg
+ $(STAGING_DIR_HOST)/bin/mkbuffaloimg -B $(BOARDNAME) \
+ -R $$(($(subst k, * 1024,$(ROOTFS_SIZE)))) \
+ -K $$(($(subst k, * 1024,$(KERNEL_SIZE)))) \
+ -i $@ -o $@.new
+ mv $@.new $@
+endef
+
+define Build/mkwrggimg
+ $(STAGING_DIR_HOST)/bin/mkwrggimg -b \
+ -i $@ -o $@.imghdr -d /dev/mtdblock/1 \
+ -m $(BOARDNAME) -s $(DAP_SIGNATURE) \
+ -v LEDE -B $(REVISION)
+ mv $@.imghdr $@
+endef
+
+define Build/netgear-squashfs
+ rm -rf $@.fs $@.squashfs
+ mkdir -p $@.fs/image
+ cp $@ $@.fs/image/uImage
+ $(STAGING_DIR_HOST)/bin/mksquashfs-lzma \
+ $@.fs $@.squashfs \
+ -noappend -root-owned -be -b 65536 \
+ $(if $(SOURCE_DATE_EPOCH),-fixed-time $(SOURCE_DATE_EPOCH))
+
+ dd if=/dev/zero bs=1k count=1 >> $@.squashfs
+ mkimage \
+ -A mips -O linux -T filesystem -C none \
+ -M $(NETGEAR_KERNEL_MAGIC) \
+ -a 0xbf070000 -e 0xbf070000 \
+ -n 'MIPS OpenWrt Linux-$(LINUX_VERSION)' \
+ -d $@.squashfs $@
+ rm -rf $@.squashfs $@.fs
+endef
+
+define Build/netgear-uImage
+ $(call Build/uImage,$(1) -M $(NETGEAR_KERNEL_MAGIC))
+endef
+
+define Build/relocate-kernel
+ rm -rf $@.relocate
+ $(CP) ../../generic/image/relocate $@.relocate
+ $(MAKE) -j1 -C $@.relocate KERNEL_ADDR=$(KERNEL_LOADADDR) CROSS_COMPILE=$(TARGET_CROSS)
+ ( \
+ dd if=$@.relocate/loader.bin bs=32 conv=sync && \
+ perl -e '@s = stat("$@"); print pack("N", @s[7])' && \
+ cat "$@" \
+ ) > "$@.new"
+ mv "$@.new" "$@"
+ rm -rf $@.relocate
+endef
+
+define Build/seama
+ $(STAGING_DIR_HOST)/bin/seama -i $@ $(if $(1),$(1),-m "dev=/dev/mtdblock/1" -m "type=firmware")
+ mv $@.seama $@
+endef
+
+define Build/seama-seal
+ $(call Build/seama,-s $@.seama $(1))
+endef
+
+define Build/uImageHiWiFi
+ # Field ih_name needs to start with "tw150v1"
+ mkimage -A $(LINUX_KARCH) \
+ -O linux -T kernel \
+ -C $(1) -a $(KERNEL_LOADADDR) -e $(if $(KERNEL_ENTRY),$(KERNEL_ENTRY),$(KERNEL_LOADADDR)) \
+ -n 'tw150v1 $(call toupper,$(LINUX_KARCH)) LEDE Linux-$(LINUX_VERSION)' -d $@ $@.new
+ @mv $@.new $@
+endef
+
+define Build/wrgg-pad-rootfs
+ $(STAGING_DIR_HOST)/bin/padjffs2 $(IMAGE_ROOTFS) -c 64 >>$@
+endef
+
+
define Device/ap531b0
DEVICE_TITLE := Rockeetech AP531B0
DEVICE_PACKAGES := kmod-usb-core kmod-usb2
DEVICE_TITLE := Meraki MR12
DEVICE_PACKAGES := kmod-spi-gpio
BOARDNAME = MR12
+ ROOTFS_SIZE := 13440k
IMAGE_SIZE = 15680k
MTDPARTS = spi0.0:256k(u-boot)ro,256k(u-boot-env)ro,13440k(rootfs),2240k(kernel),64k(mac),128k(art)ro,15680k@0x80000(firmware)
IMAGE/kernel.bin = append-kernel
IMAGE/rootfs.bin = append-rootfs | pad-rootfs
- IMAGE/sysupgrade.bin = append-rootfs | pad-rootfs | pad-to 13440k | append-kernel | check-size $$$$(IMAGE_SIZE)
+ IMAGE/sysupgrade.bin = append-rootfs | pad-rootfs | pad-to $$$$(ROOTFS_SIZE) | append-kernel | check-size $$$$(IMAGE_SIZE)
IMAGES := kernel.bin rootfs.bin sysupgrade.bin
endef
TARGET_DEVICES += mr12
DEVICE_TITLE := Meraki MR16
DEVICE_PACKAGES := kmod-spi-gpio
BOARDNAME = MR16
+ ROOTFS_SIZE := 13440k
IMAGE_SIZE = 15680k
MTDPARTS = spi0.0:256k(u-boot)ro,256k(u-boot-env)ro,13440k(rootfs),2240k(kernel),64k(mac),128k(art)ro,15680k@0x80000(firmware)
IMAGE/kernel.bin = append-kernel
IMAGE/rootfs.bin = append-rootfs | pad-rootfs
- IMAGE/sysupgrade.bin = append-rootfs | pad-rootfs | pad-to 13440k | append-kernel | check-size $$$$(IMAGE_SIZE)
+ IMAGE/sysupgrade.bin = append-rootfs | pad-rootfs | pad-to $$$$(ROOTFS_SIZE) | append-kernel | check-size $$$$(IMAGE_SIZE)
IMAGES := kernel.bin rootfs.bin sysupgrade.bin
endef
TARGET_DEVICES += mr16
DEVICE_TITLE := Wallys DR344
BOARDNAME = DR344
KERNEL_SIZE := 1408k
+ ROOTFS_SIZE := 6336k
IMAGE_SIZE = 7744k
MTDPARTS = spi0.0:256k(u-boot)ro,64k(u-boot-env)ro,6336k(rootfs),1408k(kernel),64k(nvram),64k(art)ro,7744k@0x50000(firmware)
- IMAGE/sysupgrade.bin = append-rootfs | pad-rootfs | pad-to 6336k | append-kernel | check-size $$$$(IMAGE_SIZE)
+ IMAGE/sysupgrade.bin = append-rootfs | pad-rootfs | pad-to $$$$(ROOTFS_SIZE) | append-kernel | check-size $$$$(IMAGE_SIZE)
endef
TARGET_DEVICES += dr344
DEVICE_TITLE := NETGEAR WNDRMAC v2
NETGEAR_BOARD_ID = WNDRMACv2
endef
-
TARGET_DEVICES += wndr3700 wndr3700v2 wndr3800 wndr3800ch wndrmac wndrmacv2
define Device/cap324
IMAGE_SIZE = 15296k
MTDPARTS = spi0.0:256k(u-boot)ro,64k(u-boot-env)ro,15296k(firmware),640k(certs),64k(nvram),64k(art)ro
endef
-
TARGET_DEVICES += cap324
define Device/cap324-nocloud
IMAGE_SIZE = 16000k
MTDPARTS = spi0.0:256k(u-boot)ro,64k(u-boot-env)ro,16000k(firmware),64k(art)ro
endef
-
TARGET_DEVICES += cap324-nocloud
define Device/cr3000
IMAGE_SIZE = 7104k
MTDPARTS = spi0.0:256k(u-boot)ro,64k(u-boot-env)ro,7104k(firmware),640k(certs),64k(nvram),64k(art)ro
endef
-
TARGET_DEVICES += cr3000
define Device/cr3000-nocloud
IMAGE_SIZE = 7808k
MTDPARTS = spi0.0:256k(u-boot)ro,64k(u-boot-env)ro,7808k(firmware),64k(art)ro
endef
-
TARGET_DEVICES += cr3000-nocloud
define Device/cr5000
IMAGE_SIZE = 7104k
MTDPARTS = spi0.0:256k(u-boot)ro,64k(u-boot-env)ro,7104k(firmware),640k(certs),64k(nvram),64k(art)ro
endef
-
TARGET_DEVICES += cr5000
define Device/cr5000-nocloud
IMAGE_SIZE = 7808k
MTDPARTS = spi0.0:256k(u-boot)ro,64k(u-boot-env)ro,7808k(firmware),64k(art)ro
endef
-
TARGET_DEVICES += cr5000-nocloud
define Device/pqi-air-pen
CONSOLE = ttyATH0,115200
MTDPARTS = spi0.0:256k(u-boot)ro,64k(u-boot-env)ro,64k(art)ro,64k(NVRAM)ro,7680k(firmware),64k(CONF)
endef
-
TARGET_DEVICES += pqi-air-pen
define Device/antminer-s1
endef
TARGET_DEVICES += oolite
-
define Device/NBG6616
DEVICE_TITLE := ZyXEL NBG6616
DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-ledtrig-usbport kmod-usb-storage kmod-rtc-pcf8563 kmod-ath10k ath10k-firmware-qca988x
#
# The header is padded with 0xff to the erase block size of the device.
endef
-
TARGET_DEVICES += NBG6616
define Device/c-55
MTDPARTS = spi0.0:256k(u-boot)ro,128k(u-boot-env)ro,2048k(kernel),13824k(rootfs),13824k(opt)ro,2624k(failsafe)ro,64k(art)ro,15872k@0x60000(firmware)
IMAGE/sysupgrade.bin = append-kernel | pad-to $$$$(KERNEL_SIZE) | append-rootfs | pad-rootfs | check-size $$$$(IMAGE_SIZE)
endef
-
TARGET_DEVICES += c-55
-
-define Build/uImageHiWiFi
- # Field ih_name needs to start with "tw150v1"
- mkimage -A $(LINUX_KARCH) \
- -O linux -T kernel \
- -C $(1) -a $(KERNEL_LOADADDR) -e $(if $(KERNEL_ENTRY),$(KERNEL_ENTRY),$(KERNEL_LOADADDR)) \
- -n 'tw150v1 $(call toupper,$(LINUX_KARCH)) LEDE Linux-$(LINUX_VERSION)' -d $@ $@.new
- @mv $@.new $@
-endef
-
define Device/hiwifi-hc6361
DEVICE_TITLE := HiWiFi HC6361
DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-storage \
endef
TARGET_DEVICES += hiwifi-hc6361
-
-define Build/seama
- $(STAGING_DIR_HOST)/bin/seama -i $@ $(if $(1),$(1),-m "dev=/dev/mtdblock/1" -m "type=firmware")
- mv $@.seama $@
-endef
-
-define Build/seama-seal
- $(call Build/seama,-s $@.seama $(1))
-endef
-
define Device/seama
LOADER_TYPE := bin
BLOCKSIZE := 64k
seama-seal -m "signature=$$$$(SEAMA_SIGNATURE)" | \
check-size $$$$(IMAGE_SIZE)
SEAMA_SIGNATURE :=
- DEVICE_VARS += SEAMA_SIGNATURE
endef
define Device/dir-869-a1
MTDPARTS = spi0.0:256k(u-boot)ro,64k(u-boot-env),64k(devdata),64k(devconf),15744k(firmware),64k(warm_start),64k(action_image_config),64k(radiocfg)ro;spi0.1:15360k(upgrade2),1024k(privatedata)
SEAMA_SIGNATURE := wrgac26_qihoo360_360rg
endef
-
TARGET_DEVICES += dir-869-a1 mynet-n600 mynet-n750 qihoo-c301
-define Build/mkwrggimg
- $(STAGING_DIR_HOST)/bin/mkwrggimg -b \
- -i $@ -o $@.imghdr -d /dev/mtdblock/1 \
- -m $(BOARDNAME) -s $(DAP_SIGNATURE) \
- -v LEDE -B $(REVISION)
- mv $@.imghdr $@
-endef
-
-define Build/wrgg-pad-rootfs
- $(STAGING_DIR_HOST)/bin/padjffs2 $(IMAGE_ROOTFS) -c 64 >>$@
-endef
-
define Device/dap-2695-a1
DEVICE_TITLE := D-Link DAP-2695 rev. A1
DEVICE_PACKAGES := ath10k-firmware-qca988x kmod-ath10k
KERNEL_INITRAMFS := $$(KERNEL) | mkwrggimg
MTDPARTS = spi0.0:256k(bootloader)ro,64k(bdcfg)ro,64k(rgdb)ro,64k(langpack)ro,15360k(firmware),448k(captival)ro,64k(certificate)ro,64k(radiocfg)ro
DAP_SIGNATURE := wapac02_dkbs_dap2695
- DEVICE_VARS += DAP_SIGNATURE
endef
-
TARGET_DEVICES += dap-2695-a1
-define Build/mkbuffaloimg
- $(STAGING_DIR_HOST)/bin/mkbuffaloimg -B $(BOARDNAME) \
- -R $$(($(subst k, * 1024,$(ROOTFS_SIZE)))) \
- -K $$(($(subst k, * 1024,$(KERNEL_SIZE)))) \
- -i $@ -o $@.new
- mv $@.new $@
-endef
-
define Device/bhr-4grv2
DEVICE_TITLE := Buffalo BHR-4GRV2
BOARDNAME := BHR-4GRV2