Makefile 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182
  1. # SPDX-License-Identifier: GPL-2.0-only
  2. #
  3. # Copyright (C) 2010-2016 OpenWrt.org
  4. # boards missing since devicetree update
  5. #EASY50712 ARV3527P
  6. KERNEL_LOADADDR = 0x80002000
  7. KERNEL_ENTRY = 0x80002000
  8. include $(TOPDIR)/rules.mk
  9. include $(INCLUDE_DIR)/image.mk
  10. ifeq ($(SUBTARGET),xway)
  11. UBIFS_OPTS := -m 512 -e 15872 -c 1959
  12. else
  13. UBIFS_OPTS := -m 2048 -e 126KiB -c 4096
  14. endif
  15. define Build/append-avm-fakeroot
  16. cat ./eva.dummy.squashfs >> $@
  17. endef
  18. define Build/dgn3500-sercom-footer
  19. $(STAGING_DIR_HOST)/bin/dgn3500sum $@ $(1) $(2)
  20. endef
  21. define Build/mkbrncmdline
  22. mkbrncmdline -i $@ -o [email protected] BRN-BOOT
  23. mv [email protected] $@
  24. endef
  25. define Build/mkbrnimg
  26. mkbrnimg -s $(SIGNATURE) -m $(MAGIC) -p $(CRC32_POLY) -o $@ $(IMAGE_KERNEL) $(IMAGE_ROOTFS)
  27. endef
  28. define Build/fullimage
  29. mkimage -A mips -O linux -C lzma -T filesystem -a 0x00 \
  30. -e 0x00 -n '$(VERSION_DIST) RootFS' \
  31. -d $(IMAGE_ROOTFS) $(IMAGE_ROOTFS).new
  32. cat $(IMAGE_KERNEL) $(IMAGE_ROOTFS).new > [email protected]
  33. mkimage -A mips -O linux -T multi -a 0x00 -C none \
  34. -e 0x00 -n 'OpenWrt fullimage' \
  35. -d [email protected] $@
  36. rm $(IMAGE_ROOTFS).new
  37. rm [email protected]
  38. endef
  39. define Build/loader-common
  40. rm -rf [email protected]
  41. $(MAKE) -C lzma-loader \
  42. PKG_BUILD_DIR="[email protected]" \
  43. TARGET_DIR="$(dir $@)" LOADER_NAME="$(notdir $@)" \
  44. BOARD="$(BOARDNAME)" PLATFORM="lantiq" \
  45. LZMA_TEXT_START=0x82000000 \
  46. LOADADDR=0x80002000 \
  47. $(1) compile loader.bin
  48. mv "[email protected]" "$@"
  49. rm -rf [email protected]
  50. endef
  51. define Build/loader-kernel
  52. $(call Build/loader-common,LOADER_DATA="$@")
  53. endef
  54. define Build/loader-okli-compile
  55. $(call Build/loader-common, \
  56. FLASH_START=0x10000000 \
  57. FLASH_OFFS=$(LOADER_FLASH_OFFS) \
  58. FLASH_MAX=0x0 \
  59. )
  60. endef
  61. define Build/prepend-loader-okli
  62. cat "$(KDIR)/loader-$(word 1,$(1)).bin" "$@" >> "[email protected]"
  63. mv "[email protected]" "$@"
  64. endef
  65. DEVICE_VARS += SIGNATURE MAGIC CRC32_POLY LOADER_FLASH_OFFS
  66. DTS_DIR := $(DTS_DIR)/lantiq
  67. # Shared device definition: applies to every defined device
  68. define Device/Default
  69. PROFILES = Default
  70. COMPILE :=
  71. KERNEL_DEPENDS = $$(wildcard $(DTS_DIR)/$$(DEVICE_DTS).dts)
  72. KERNEL_INITRAMFS_NAME = $$(KERNEL_NAME)-initramfs
  73. KERNEL := kernel-bin | append-dtb | lzma | uImage lzma
  74. KERNEL_INITRAMFS := kernel-bin | append-dtb | lzma | uImage lzma
  75. FILESYSTEMS := squashfs
  76. SOC := $(DEFAULT_SOC)
  77. DEVICE_DTS = $$(SOC)_$(1)
  78. IMAGES := sysupgrade.bin
  79. IMAGE/sysupgrade.bin := append-kernel | append-rootfs | pad-rootfs | check-size | append-metadata
  80. endef
  81. define Device/NAND/xway
  82. BLOCKSIZE := 16k
  83. PAGESIZE := 512
  84. SUBPAGESIZE := 256
  85. FILESYSTEMS += ubifs
  86. endef
  87. define Device/NAND/xrx200
  88. BLOCKSIZE := 128k
  89. PAGESIZE := 2048
  90. SUBPAGESIZE := 512
  91. FILESYSTEMS += ubifs
  92. endef
  93. define Device/NAND
  94. $(Device/NAND/$(SUBTARGET))
  95. IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
  96. endef
  97. define Device/lantiqBrnImage
  98. KERNEL := kernel-bin | append-dtb | mkbrncmdline | lzma-no-dict
  99. IMAGES := factory.bin
  100. IMAGE/factory.bin := mkbrnimg | check-size
  101. endef
  102. define Device/lantiqFullImage
  103. KERNEL := kernel-bin | append-dtb | lzma | uImage lzma | pad-offset 4 0
  104. IMAGES := sysupgrade.bin fullimage.bin
  105. IMAGE/fullimage.bin := fullimage | check-size
  106. endef
  107. define Device/AVM
  108. DEVICE_VENDOR := AVM
  109. KERNEL := kernel-bin | append-dtb | lzma | eva-image
  110. KERNEL_INITRAMFS := $$(KERNEL)
  111. IMAGE/sysupgrade.bin := append-kernel | pad-to 64k | append-avm-fakeroot | \
  112. append-rootfs | pad-rootfs | check-size | append-metadata
  113. endef
  114. define Device/AVM_preloader
  115. DEVICE_VENDOR := AVM
  116. COMPILE := loader-$(1).bin
  117. COMPILE/loader-$(1).bin := loader-okli-compile | lzma | eva-image | \
  118. pad-to 64k | append-avm-fakeroot | pad-to 4k
  119. KERNEL := kernel-bin | append-dtb | lzma | uImage lzma -M 0x4f4b4c49 | \
  120. prepend-loader-okli $(1)
  121. KERNEL_INITRAMFS := kernel-bin | append-dtb | lzma | eva-image
  122. endef
  123. ifeq ($(SUBTARGET),ase)
  124. DEFAULT_SOC := amazonse
  125. include amazonse.mk
  126. endif
  127. ifeq ($(SUBTARGET),xway_legacy)
  128. DEFAULT_SOC := danube
  129. include xway_legacy.mk
  130. endif
  131. ifeq ($(SUBTARGET),xway)
  132. include danube.mk
  133. include ar9.mk
  134. endif
  135. ifeq ($(SUBTARGET),xrx200_legacy)
  136. DEFAULT_SOC := vr9
  137. include tp-link_legacy.mk
  138. include vr9_legacy.mk
  139. endif
  140. ifeq ($(SUBTARGET),xrx200)
  141. DEFAULT_SOC := vr9
  142. include tp-link.mk
  143. include vr9.mk
  144. endif
  145. ifeq ($(SUBTARGET),falcon)
  146. DEFAULT_SOC := falcon
  147. include falcon.mk
  148. endif
  149. $(eval $(call BuildImage))