Makefile 5.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227
  1. # SPDX-License-Identifier: GPL-2.0-only
  2. #
  3. # Copyright (C) 2013 OpenWrt.org
  4. include $(TOPDIR)/rules.mk
  5. include $(INCLUDE_DIR)/image.mk
  6. #################################################
  7. # Images
  8. #################################################
  9. DEVICE_VARS += MKUBIFS_OPTS UBOOT
  10. define Build/boot-overlay
  11. rm -rf [email protected]
  12. mkdir -p [email protected]
  13. $(CP) $@ [email protected]/$(IMG_PREFIX)-uImage
  14. ln -sf $(IMG_PREFIX)-uImage [email protected]/uImage
  15. $(foreach dts,$(DEVICE_DTS), \
  16. $(CP) \
  17. $(DTS_DIR)/$(dts).dtb \
  18. [email protected]/$(IMG_PREFIX)-$(dts).dtb; \
  19. ln -sf \
  20. $(IMG_PREFIX)-$(dts).dtb \
  21. [email protected]/$(dts).dtb; \
  22. )
  23. mkimage -A arm -O linux -T script -C none -a 0 -e 0 \
  24. -n '$(DEVICE_ID) OpenWrt bootscript' \
  25. -d ./bootscript-$(DEVICE_NAME) \
  26. [email protected]/6x_bootscript-$(DEVICE_NAME)
  27. $(STAGING_DIR_HOST)/bin/mkfs.ubifs \
  28. --space-fixup --compr=zlib --squash-uids \
  29. $(MKUBIFS_OPTS) -c 16248 \
  30. -o [email protected] -d [email protected]
  31. $(TAR) -C [email protected] -cf [email protected] .
  32. endef
  33. define Build/bootfs.tar.gz
  34. rm -rf [email protected]
  35. mkdir -p [email protected]
  36. $(TAR) -C [email protected] -xf $(IMAGE_KERNEL).boot.tar
  37. $(TAR) -C [email protected] \
  38. --numeric-owner --owner=0 --group=0 --transform "s,./,./boot/," \
  39. -czvf $@ .
  40. endef
  41. define Build/recovery-scr
  42. mkimage -A arm -O linux -T script -C none -a 0 -e 0 \
  43. -n '$(DEVICE_ID) OpenWrt recovery bootscript' \
  44. -d ./recovery-$(DEVICE_NAME) $@
  45. endef
  46. define Build/imx6-combined-image-prepare
  47. rm -rf [email protected]
  48. mkdir -p [email protected]
  49. endef
  50. define Build/imx6-combined-image-clean
  51. rm -rf [email protected] [email protected]
  52. endef
  53. define Build/imx6-combined-image
  54. $(CP) $(IMAGE_KERNEL) [email protected]/uImage
  55. $(foreach dts,$(DEVICE_DTS), \
  56. $(CP) \
  57. $(DTS_DIR)/$(dts).dtb \
  58. [email protected]/;
  59. )
  60. mkimage -A arm -O linux -T script -C none -a 0 -e 0 \
  61. -n '$(DEVICE_ID) OpenWrt bootscript' \
  62. -d bootscript-$(DEVICE_NAME) \
  63. [email protected]/boot.scr
  64. cp $@ [email protected]
  65. $(SCRIPT_DIR)/gen_image_generic.sh $@ \
  66. $(CONFIG_TARGET_KERNEL_PARTSIZE) \
  67. [email protected] \
  68. $(CONFIG_TARGET_ROOTFS_PARTSIZE) \
  69. [email protected] \
  70. 1024
  71. endef
  72. define Build/imx6-sdcard
  73. $(Build/imx6-combined-image-prepare)
  74. $(CP) $(STAGING_DIR_IMAGE)/$(UBOOT)-u-boot.img [email protected]/u-boot.img
  75. $(Build/imx6-combined-image)
  76. dd if=$(STAGING_DIR_IMAGE)/$(UBOOT)-SPL of=$@ bs=1024 seek=1 conv=notrunc
  77. $(Build/imx6-combined-image-clean)
  78. endef
  79. define Build/apalis-emmc
  80. $(Build/imx6-combined-image-prepare)
  81. $(Build/imx6-combined-image)
  82. $(Build/imx6-combined-image-clean)
  83. endef
  84. #################################################
  85. # Devices
  86. #################################################
  87. KERNEL_LOADADDR=0x10008000
  88. define Device/Default
  89. PROFILES := Generic
  90. FILESYSTEMS := squashfs ext4
  91. KERNEL_INSTALL := 1
  92. KERNEL_SUFFIX := -uImage
  93. KERNEL_NAME := zImage
  94. KERNEL := kernel-bin | uImage none
  95. IMAGES :=
  96. endef
  97. define Device/gateworks_ventana
  98. DEVICE_VENDOR := Gateworks
  99. DEVICE_MODEL := Ventana family
  100. DEVICE_VARIANT := normal NAND flash
  101. DEVICE_NAME := gateworks_ventana
  102. DEVICE_DTS:= \
  103. imx6dl-gw51xx \
  104. imx6dl-gw52xx \
  105. imx6dl-gw53xx \
  106. imx6dl-gw54xx \
  107. imx6dl-gw551x \
  108. imx6dl-gw552x \
  109. imx6dl-gw553x \
  110. imx6dl-gw5904 \
  111. imx6dl-gw5907 \
  112. imx6dl-gw5910 \
  113. imx6dl-gw5912 \
  114. imx6dl-gw5913 \
  115. imx6q-gw51xx \
  116. imx6q-gw52xx \
  117. imx6q-gw53xx \
  118. imx6q-gw54xx \
  119. imx6q-gw5400-a \
  120. imx6q-gw551x \
  121. imx6q-gw552x \
  122. imx6q-gw553x \
  123. imx6q-gw5904 \
  124. imx6q-gw5907 \
  125. imx6q-gw5910 \
  126. imx6q-gw5912 \
  127. imx6q-gw5913
  128. DEVICE_PACKAGES := kmod-sky2 kmod-sound-core kmod-sound-soc-imx \
  129. kmod-sound-soc-imx-sgtl5000 kmod-can kmod-can-flexcan kmod-can-raw \
  130. kmod-hwmon-gsc kmod-leds-gpio kmod-pps-gpio kobs-ng
  131. KERNEL += | boot-overlay
  132. IMAGES := nand.ubi bootfs.tar.gz dtb
  133. IMAGE/nand.ubi := append-ubi
  134. IMAGE/bootfs.tar.gz := bootfs.tar.gz
  135. IMAGE/dtb := install-dtb
  136. UBINIZE_PARTS = boot=$$(KDIR_KERNEL_IMAGE).boot.ubifs=15
  137. PAGESIZE := 2048
  138. BLOCKSIZE := 128k
  139. MKUBIFS_OPTS := -m $$(PAGESIZE) -e 124KiB
  140. endef
  141. TARGET_DEVICES += gateworks_ventana
  142. define Device/gateworks_ventana-large
  143. $(Device/gateworks_ventana)
  144. DEVICE_VARIANT := large NAND flash
  145. IMAGES := nand.ubi
  146. PAGESIZE := 4096
  147. BLOCKSIZE := 256k
  148. MKUBIFS_OPTS := -m $$(PAGESIZE) -e 248KiB
  149. endef
  150. TARGET_DEVICES += gateworks_ventana-large
  151. define Device/solidrun_cubox-i
  152. DEVICE_VENDOR := SolidRun
  153. DEVICE_MODEL := CuBox-i
  154. DEVICE_DTS := \
  155. imx6q-cubox-i \
  156. imx6dl-cubox-i \
  157. imx6q-hummingboard \
  158. imx6dl-hummingboard
  159. DEVICE_PACKAGES := kmod-drm-imx kmod-drm-imx-hdmi kmod-usb-hid
  160. UBOOT := mx6cuboxi
  161. KERNEL := kernel-bin
  162. KERNEL_SUFFIX := -zImage
  163. FILESYSTEMS := squashfs
  164. IMAGES := combined.bin dtb
  165. IMAGE/combined.bin := append-rootfs | pad-extra 128k | imx6-sdcard
  166. IMAGE/dtb := install-dtb
  167. endef
  168. TARGET_DEVICES += solidrun_cubox-i
  169. define Device/toradex_apalis
  170. DEVICE_VENDOR := Toradex
  171. DEVICE_MODEL := Apalis family
  172. SUPPORTED_DEVICES := apalis,ixora apalis,eval
  173. DEVICE_DTS := \
  174. imx6q-apalis-eval \
  175. imx6q-apalis-ixora \
  176. imx6q-apalis-ixora-v1.1
  177. DEVICE_PACKAGES := \
  178. kmod-can kmod-can-flexcan kmod-can-raw \
  179. kmod-leds-gpio kmod-gpio-button-hotplug \
  180. kmod-pps-gpio kmod-rtc-ds1307
  181. FILESYSTEMS := squashfs
  182. IMAGES := combined.bin sysupgrade.bin
  183. DEVICE_IMG_NAME = $$(DEVICE_IMG_PREFIX)-$$(1).$$(2)
  184. IMAGE/combined.bin := append-rootfs | pad-extra 128k | apalis-emmc
  185. IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
  186. ARTIFACTS := recovery.scr
  187. ARTIFACT/recovery.scr := recovery-scr
  188. endef
  189. TARGET_DEVICES += toradex_apalis
  190. define Device/wandboard_dual
  191. DEVICE_VENDOR := Wandboard
  192. DEVICE_MODEL := Dual
  193. DEVICE_DTS := imx6dl-wandboard
  194. endef
  195. TARGET_DEVICES += wandboard_dual
  196. $(eval $(call BuildImage))