Makefile 3.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138
  1. # SPDX-License-Identifier: GPL-2.0-only
  2. include $(TOPDIR)/rules.mk
  3. include $(INCLUDE_DIR)/image.mk
  4. DEVICE_VARS += ASUS_PRODUCTID ASUS_BUILD_NO ASUS_FW_REV ASUS_EXT_NO
  5. DEVICE_VARS += NETGEAR_BOARD_ID NETGEAR_REGION
  6. DEVICE_VARS += SOC
  7. define Image/Prepare
  8. cp bootfs*.its* $(KDIR)/
  9. sed -i "s=\$$$${images_dir}=$(STAGING_DIR_IMAGE)=" $(KDIR)/bootfs*.its*
  10. sed -i "s=\$$$${dts_dir}=$(DTS_DIR)=" $(KDIR)/bootfs*.its*
  11. endef
  12. define Build/bootfs
  13. cat $@ | $(STAGING_DIR_HOST)/bin/lzma e -eos -si -so > [email protected]
  14. mv [email protected] $@
  15. sed -i "s=\$${kernel}=$@=" $(KDIR)/bootfs*.its*
  16. PATH=$(LINUX_DIR)/scripts/dtc:$(PATH) mkimage -f $(KDIR)/bootfs-bcm4908.its $(KDIR)/bootfs-bcm4908.itb
  17. PATH=$(LINUX_DIR)/scripts/dtc:$(PATH) mkimage -f $(KDIR)/bootfs-bcm4912.its $(KDIR)/bootfs-bcm4912.itb
  18. endef
  19. define Build/bcm4908asus
  20. $(STAGING_DIR_HOST)/bin/bcm4908asus create -i $@ \
  21. -p $(ASUS_PRODUCTID) -b $(ASUS_BUILD_NO) -f $(ASUS_FW_REV) \
  22. -e $(ASUS_EXT_NO)
  23. endef
  24. define Build/bcm4908img
  25. rm -fr $@-bootfs
  26. mkdir -p $@-bootfs
  27. cp -r $(DEVICE_NAME)/* $@-bootfs/
  28. touch $@-bootfs/1-openwrt
  29. cp $(DTS_DIR)/$(firstword $(DEVICE_DTS)).dtb $@-bootfs/94908.dtb
  30. cp $(KDIR)/bcm63xx-cfe/$(subst _,$(comma),$(DEVICE_NAME))/cferam.000 $@-bootfs/
  31. cp $(IMAGE_KERNEL) $@-bootfs/vmlinux.lz
  32. $(STAGING_DIR_HOST)/bin/mkfs.jffs2 --pad=0x800000 --little-endian --squash-uids \
  33. -v -e 128KiB -o [email protected] -d $@-bootfs -m none -n
  34. $(STAGING_DIR_HOST)/bin/bcm4908img create [email protected] -f [email protected] \
  35. -a 0x20000 -f $@
  36. mv [email protected] $@
  37. endef
  38. define Build/bcm4908kernel
  39. $(STAGING_DIR_HOST)/bin/bcm4908kernel -i $@ -o [email protected]
  40. mv [email protected] $@
  41. endef
  42. define Build/bcm4908lzma
  43. $(STAGING_DIR_HOST)/bin/lzma e -lc1 -lp2 -pb2 -d22 $@ [email protected]
  44. mv [email protected] $@
  45. endef
  46. define Build/pkgtb
  47. mv $@ [email protected]
  48. cp pkgtb-$(SOC).its [email protected]
  49. sed -i "s=\$${bootfs}=$(KDIR)/bootfs-$(SOC).itb=" [email protected]
  50. sed -i "s=\$${rootfs}[email protected]=" [email protected]
  51. PATH=$(LINUX_DIR)/scripts/dtc:$(PATH) mkimage -f [email protected] $@
  52. endef
  53. define Device/Default
  54. KERNEL := kernel-bin | bcm4908lzma | bcm4908kernel
  55. KERNEL_DEPENDS = $$(wildcard $(DTS_DIR)/$$(DEVICE_DTS).dts)
  56. KERNEL_INITRAMFS_SUFFIX := .bin
  57. KERNEL_INITRAMFS := kernel-bin | bcm4908lzma | bcm4908kernel
  58. FILESYSTEMS := squashfs
  59. KERNEL_NAME := Image
  60. DEVICE_IMG_NAME = $$(DEVICE_IMG_PREFIX)-$$(1).$$(2)
  61. BLOCKSIZE := 128k
  62. PAGESIZE := 2048
  63. IMAGE/bin := append-ubi | bcm4908img
  64. endef
  65. define Device/asus_gt-ac5300
  66. DEVICE_VENDOR := ASUS
  67. DEVICE_MODEL := GT-AC5300
  68. DEVICE_DTS := broadcom/bcmbca/bcm4908-asus-gt-ac5300
  69. IMAGES := bin
  70. IMAGE/bin := append-ubi | bcm4908img | bcm4908asus
  71. ASUS_PRODUCTID := GT-AC5300
  72. ASUS_BUILD_NO := 384
  73. ASUS_FW_REV := 3.0.0.4
  74. ASUS_EXT_NO := 21140
  75. endef
  76. TARGET_DEVICES += asus_gt-ac5300
  77. define Device/asus_gt-ax6000
  78. DEVICE_VENDOR := ASUS
  79. DEVICE_MODEL := GT-AX6000
  80. DEVICE_DTS := broadcom/bcmbca/bcm4912-asus-gt-ax6000
  81. IMAGES := pkgtb
  82. IMAGE/pkgtb := append-rootfs | pkgtb
  83. SOC := bcm4912
  84. endef
  85. # TARGET_DEVICES += asus_gt-ax6000
  86. define Device/netgear_r8000p
  87. DEVICE_VENDOR := Netgear
  88. DEVICE_MODEL := R8000P
  89. DEVICE_DTS := broadcom/bcmbca/bcm4906-netgear-r8000p
  90. IMAGES := bin
  91. IMAGE/chk := append-ubi | bcm4908img | netgear-chk
  92. NETGEAR_BOARD_ID := U12H359T00_NETGEAR
  93. NETGEAR_REGION := 1
  94. endef
  95. TARGET_DEVICES += netgear_r8000p
  96. define Device/tplink_archer-c2300-v1
  97. DEVICE_VENDOR := TP-Link
  98. DEVICE_MODEL := Archer C2300
  99. DEVICE_VARIANT := v1
  100. DEVICE_DTS := broadcom/bcmbca/bcm4906-tplink-archer-c2300-v1
  101. IMAGES := bin
  102. IMAGE/bin := append-ubi | bcm4908img
  103. BROKEN := y
  104. endef
  105. TARGET_DEVICES += tplink_archer-c2300-v1
  106. define Device/netgear
  107. DEVICE_VENDOR := NETGEAR
  108. KERNEL := kernel-bin | bootfs
  109. IMAGES := chk
  110. IMAGE/chk := append-rootfs | pkgtb | netgear-chk
  111. NETGEAR_REGION := 1
  112. endef
  113. define Device/netgear_raxe500
  114. DEVICE_MODEL := RAXE500
  115. $(Device/netgear)
  116. SOC := bcm4908
  117. NETGEAR_BOARD_ID := U12H449T00_NETGEAR
  118. endef
  119. # TARGET_DEVICES += netgear_raxe500
  120. $(eval $(call BuildImage))