include $(TOPDIR)/rules.mk
include $(INCLUDE_DIR)/image.mk
-define Build/bcm4908lzma
- $(STAGING_DIR_HOST)/bin/lzma e -lc1 -lp2 -pb2 -d22 $@ $@.new
+DEVICE_VARS += ASUS_PRODUCTID ASUS_BUILD_NO ASUS_FW_REV ASUS_EXT_NO
+DEVICE_VARS += NETGEAR_BOARD_ID NETGEAR_REGION
+DEVICE_VARS += SOC
+
+define Image/Prepare
+ cp bootfs*.its* $(KDIR)/
+ sed -i "s=\$$$${images_dir}=$(STAGING_DIR_IMAGE)=" $(KDIR)/bootfs*.its*
+ sed -i "s=\$$$${dts_dir}=$(DTS_DIR)=" $(KDIR)/bootfs*.its*
+endef
+
+define Build/bootfs
+ cat $@ | $(STAGING_DIR_HOST)/bin/lzma e -eos -si -so > $@.tmp
+ mv $@.tmp $@
+ sed -i "s=\$${kernel}=$@=" $(KDIR)/bootfs*.its*
+ PATH=$(LINUX_DIR)/scripts/dtc:$(PATH) mkimage -f $(KDIR)/bootfs-bcm4908.its $(KDIR)/bootfs-bcm4908.itb
+ PATH=$(LINUX_DIR)/scripts/dtc:$(PATH) mkimage -f $(KDIR)/bootfs-bcm4912.its $(KDIR)/bootfs-bcm4912.itb
+endef
+
+define Build/bcm4908asus
+ $(STAGING_DIR_HOST)/bin/bcm4908asus create -i $@ \
+ -p $(ASUS_PRODUCTID) -b $(ASUS_BUILD_NO) -f $(ASUS_FW_REV) \
+ -e $(ASUS_EXT_NO)
+endef
+
+define Build/bcm4908img
+ rm -fr $@-bootfs
+ mkdir -p $@-bootfs
+ cp -r $(DEVICE_NAME)/* $@-bootfs/
+ touch $@-bootfs/1-openwrt
+ cp $(DTS_DIR)/$(firstword $(DEVICE_DTS)).dtb $@-bootfs/94908.dtb
+ cp $(KDIR)/bcm63xx-cfe/$(subst _,$(comma),$(DEVICE_NAME))/cferam.000 $@-bootfs/
+ cp $(IMAGE_KERNEL) $@-bootfs/vmlinux.lz
+
+ $(STAGING_DIR_HOST)/bin/mkfs.jffs2 --pad=0x800000 --little-endian --squash-uids \
+ -v -e 128KiB -o $@-bootfs.jffs2 -d $@-bootfs -m none -n
+ $(STAGING_DIR_HOST)/bin/bcm4908img create $@.new -f $@-bootfs.jffs2 \
+ -a 0x20000 -f $@
mv $@.new $@
endef
mv $@.new $@
endef
+define Build/bcm4908lzma
+ $(STAGING_DIR_HOST)/bin/lzma e -lc1 -lp2 -pb2 -d22 $@ $@.new
+ mv $@.new $@
+endef
+
+define Build/pkgtb
+ mv $@ $@.rootfs
+ cp pkgtb-$(SOC).its $@.its
+ sed -i "s=\$${bootfs}=$(KDIR)/bootfs-$(SOC).itb=" $@.its
+ sed -i "s=\$${rootfs}=$@.rootfs=" $@.its
+ PATH=$(LINUX_DIR)/scripts/dtc:$(PATH) mkimage -f $@.its $@
+endef
+
define Device/Default
KERNEL := kernel-bin | bcm4908lzma | bcm4908kernel
KERNEL_DEPENDS = $$(wildcard $(DTS_DIR)/$$(DEVICE_DTS).dts)
KERNEL_INITRAMFS := kernel-bin | bcm4908lzma | bcm4908kernel
FILESYSTEMS := squashfs
KERNEL_NAME := Image
- IMAGE_NAME = $$(IMAGE_PREFIX)-$$(1).$$(2)
+ DEVICE_IMG_NAME = $$(DEVICE_IMG_PREFIX)-$$(1).$$(2)
BLOCKSIZE := 128k
PAGESIZE := 2048
+ IMAGE/bin := append-ubi | bcm4908img
endef
define Device/asus_gt-ac5300
- DEVICE_VENDOR := Asus
+ DEVICE_VENDOR := ASUS
DEVICE_MODEL := GT-AC5300
- DEVICE_DTS := broadcom/bcm4908/bcm4908-asus-gt-ac5300
+ DEVICE_DTS := broadcom/bcmbca/bcm4908-asus-gt-ac5300
IMAGES := bin
+ IMAGE/bin := append-ubi | bcm4908img | bcm4908asus
+ ASUS_PRODUCTID := GT-AC5300
+ ASUS_BUILD_NO := 384
+ ASUS_FW_REV := 3.0.0.4
+ ASUS_EXT_NO := 21140
endef
TARGET_DEVICES += asus_gt-ac5300
+define Device/asus_gt-ax6000
+ DEVICE_VENDOR := ASUS
+ DEVICE_MODEL := GT-AX6000
+ DEVICE_DTS := broadcom/bcmbca/bcm4912-asus-gt-ax6000
+ IMAGES := pkgtb
+ IMAGE/pkgtb := append-rootfs | pkgtb
+ SOC := bcm4912
+endef
+# TARGET_DEVICES += asus_gt-ax6000
+
define Device/netgear_r8000p
DEVICE_VENDOR := Netgear
DEVICE_MODEL := R8000P
- DEVICE_DTS := broadcom/bcm4908/bcm4906-netgear-r8000p
+ DEVICE_DTS := broadcom/bcmbca/bcm4906-netgear-r8000p
IMAGES := bin
+ IMAGE/chk := append-ubi | bcm4908img | netgear-chk
+ NETGEAR_BOARD_ID := U12H359T00_NETGEAR
+ NETGEAR_REGION := 1
endef
TARGET_DEVICES += netgear_r8000p
+define Device/tplink_archer-c2300-v1
+ DEVICE_VENDOR := TP-Link
+ DEVICE_MODEL := Archer C2300
+ DEVICE_VARIANT := v1
+ DEVICE_DTS := broadcom/bcmbca/bcm4906-tplink-archer-c2300-v1
+ IMAGES := bin
+ IMAGE/bin := append-ubi | bcm4908img
+ BROKEN := y
+endef
+TARGET_DEVICES += tplink_archer-c2300-v1
+
+define Device/netgear
+ DEVICE_VENDOR := NETGEAR
+ KERNEL := kernel-bin | bootfs
+ IMAGES := chk
+ IMAGE/chk := append-rootfs | pkgtb | netgear-chk
+ NETGEAR_REGION := 1
+endef
+
+define Device/netgear_raxe500
+ DEVICE_MODEL := RAXE500
+ $(Device/netgear)
+ SOC := bcm4908
+ NETGEAR_BOARD_ID := U12H449T00_NETGEAR
+endef
+# TARGET_DEVICES += netgear_raxe500
+
$(eval $(call BuildImage))