-define Device/glinet_ar300m_nand
- ATH_SOC := qca9533
- DEVICE_TITLE := GL-AR300M (NAND)
- DEVICE_PACKAGES := kmod-usb-core kmod-usb2 kmod-usb-storage kmod-usb-ledtrig-usbport
+include ./common-netgear.mk # for netgear-uImage
+
+# attention: only zlib compression is allowed for the boot fs
+define Build/zyxel-buildkerneljffs
+ rm -rf $(KDIR_TMP)/zyxelnbg6716
+ mkdir -p $(KDIR_TMP)/zyxelnbg6716/image/boot
+ cp $@ $(KDIR_TMP)/zyxelnbg6716/image/boot/vmlinux.lzma.uImage
+ $(STAGING_DIR_HOST)/bin/mkfs.jffs2 \
+ --big-endian --squash-uids -v -e 128KiB -q -f -n -x lzma -x rtime \
+ -o $@ \
+ -d $(KDIR_TMP)/zyxelnbg6716/image
+ rm -rf $(KDIR_TMP)/zyxelnbg6716
+endef
+
+define Build/zyxel-factory
+ let \
+ maxsize="$(subst k,* 1024,$(RAS_ROOTFS_SIZE))"; \
+ let size="$$(stat -c%s $@)"; \
+ if [ $$size -lt $$maxsize ]; then \
+ $(STAGING_DIR_HOST)/bin/mkrasimage \
+ -b $(RAS_BOARD) \
+ -v $(RAS_VERSION) \
+ -r $@ \
+ -s $$maxsize \
+ -o $@.new \
+ -l 131072 \
+ && mv $@.new $@ ; \
+ fi
+endef
+
+define Device/aerohive_hiveap-121
+ ATH_SOC := ar9344
+ DEVICE_VENDOR := Aerohive
+ DEVICE_MODEL := HiveAP 121
+ DEVICE_PACKAGES := kmod-usb2
+ BLOCKSIZE := 128k
+ PAGESIZE := 2048
+ IMAGE_SIZE := 116m
+ KERNEL_SIZE := 5120k
+ UBINIZE_OPTS := -E 5
+ SUPPORTED_DEVICES += hiveap-121
+ IMAGES += factory.bin
+ IMAGE/factory.bin := append-kernel | pad-to $$$$(KERNEL_SIZE) | append-ubi | check-size $$$$(IMAGE_SIZE)
+ IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
+endef
+TARGET_DEVICES += aerohive_hiveap-121
+
+define Device/glinet_gl-ar300m-nand
+ ATH_SOC := qca9531
+ DEVICE_VENDOR := GL.iNet
+ DEVICE_MODEL := GL-AR300M
+ DEVICE_VARIANT := NAND
+ DEVICE_PACKAGES := kmod-usb2 kmod-usb-storage kmod-usb-ledtrig-usbport
KERNEL_SIZE := 2048k
BLOCKSIZE := 128k
PAGESIZE := 2048
VID_HDR_OFFSET := 512
- IMAGES := factory.ubi sysupgrade.tar
- IMAGE/sysupgrade.tar := sysupgrade-tar
+ IMAGES += factory.ubi
+ IMAGE/sysupgrade.bin := sysupgrade-tar
IMAGE/factory.ubi := append-kernel | pad-to $$$$(KERNEL_SIZE) | append-ubi
endef
-TARGET_DEVICES += glinet_ar300m_nand
+TARGET_DEVICES += glinet_gl-ar300m-nand
+
+# fake rootfs is mandatory, pad-offset 129 equals (2 * uimage_header + 0xff)
+define Device/netgear_ath79_nand
+ DEVICE_VENDOR := NETGEAR
+ DEVICE_PACKAGES := kmod-usb2 kmod-usb-ledtrig-usbport
+ KERNEL_SIZE := 2048k
+ BLOCKSIZE := 128k
+ PAGESIZE := 2048
+ IMAGE_SIZE := 25600k
+ KERNEL := kernel-bin | append-dtb | lzma -d20 | \
+ pad-offset $$(KERNEL_SIZE) 129 | \
+ netgear-uImage lzma | append-string -e '\xff' | \
+ append-uImage-fakehdr filesystem $$(NETGEAR_KERNEL_MAGIC)
+ KERNEL_INITRAMFS := kernel-bin | append-dtb | lzma -d20 | netgear-uImage lzma
+ IMAGES := sysupgrade.bin factory.img
+ IMAGE/factory.img := append-kernel | append-ubi | netgear-dni | check-size $$$$(IMAGE_SIZE)
+ IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata | check-size $$$$(IMAGE_SIZE)
+ UBINIZE_OPTS := -E 5
+endef
+
+define Device/netgear_wndr4300
+ ATH_SOC := ar9344
+ DEVICE_MODEL := WNDR4300
+ NETGEAR_KERNEL_MAGIC := 0x33373033
+ NETGEAR_BOARD_ID := WNDR4300
+ NETGEAR_HW_ID := 29763948+0+128+128+2x2+3x3
+ SUPPORTED_DEVICES += wndr4300
+ $(Device/netgear_ath79_nand)
+endef
+TARGET_DEVICES += netgear_wndr4300
+
+define Device/zyxel_nbg6716
+ ATH_SOC := qca9558
+ DEVICE_VENDOR := ZyXEL
+ DEVICE_PACKAGES := kmod-usb2 kmod-usb-ledtrig-usbport kmod-ath10k-ct ath10k-firmware-qca988x-ct
+ RAS_BOARD := NBG6716
+ RAS_ROOTFS_SIZE := 29696k
+ RAS_VERSION := "OpenWrt Linux-$(LINUX_VERSION)"
+ KERNEL_SIZE := 4096k
+ BLOCKSIZE := 128k
+ PAGESIZE := 2048
+ KERNEL := kernel-bin | append-dtb | uImage none | \
+ zyxel-buildkerneljffs | check-size 4096k
+ IMAGES := sysupgrade.tar sysupgrade-4M-Kernel.bin factory.bin
+ IMAGE/sysupgrade.tar/squashfs := append-rootfs | pad-to $$$${BLOCKSIZE} | sysupgrade-tar rootfs=$$$$@ | append-metadata
+ IMAGE/sysupgrade-4M-Kernel.bin/squashfs := append-kernel | pad-to $$$$(KERNEL_SIZE) | append-ubi | pad-to 263192576 | gzip
+ IMAGE/factory.bin := append-kernel | pad-to $$$$(KERNEL_SIZE) | append-ubi | zyxel-factory
+ UBINIZE_OPTS := -E 5
+endef
+TARGET_DEVICES += zyxel_nbg6716
+DEVICE_VARS += RAS_ROOTFS_SIZE RAS_BOARD RAS_VERSION