Makefile 3.8 KB

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