Makefile 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126
  1. #
  2. # Copyright (C) 2012-2016 OpenWrt.org
  3. # Copyright (C) 2016 LEDE-project.org
  4. #
  5. # This is free software, licensed under the GNU General Public License v2.
  6. # See /LICENSE for more information.
  7. #
  8. JFFS2_BLOCKSIZE = 128k
  9. include $(TOPDIR)/rules.mk
  10. include $(INCLUDE_DIR)/image.mk
  11. KERNEL_LOADADDR := 0x00008000
  12. SIGNATURE:=$(shell printf "%.8s" $(SOURCE_DATE_EPOCH))
  13. define Build/dtb
  14. $(call Image/BuildDTB,$(DTS_DIR)/$(DEVICE_DTS).dts,[email protected])
  15. endef
  16. define Build/boot-scr
  17. rm -f [email protected]
  18. sed -e 's#@ROOT@#$(SIGNATURE)#g' \
  19. $(DEVICE_NAME).bootscript > [email protected]
  20. mkimage -A arm -O linux -T script -C none -a 0 -e 0 -d [email protected] [email protected]
  21. endef
  22. define Build/boot-img
  23. rm -f [email protected]
  24. mkfs.fat -C [email protected] $$(( $(CONFIG_TARGET_KERNEL_PARTSIZE) * 1024 ))
  25. $(foreach dts,$(DEVICE_DTS), mcopy -i [email protected] $(DTS_DIR)/$(dts).dtb ::$(dts).dtb;)
  26. mcopy -i [email protected] $(IMAGE_KERNEL) ::$(KERNEL_NAME)
  27. -mcopy -i [email protected] [email protected] ::boot.scr
  28. endef
  29. define Build/boot-img-ext4
  30. rm -fR [email protected]
  31. mkdir -p [email protected]
  32. $(foreach dts,$(DEVICE_DTS), $(CP) $(DTS_DIR)/$(dts).dtb [email protected];)
  33. $(CP) $(IMAGE_KERNEL) [email protected]/$(KERNEL_NAME)
  34. -$(CP) [email protected] [email protected]/boot.scr
  35. make_ext4fs -J -l $(CONFIG_TARGET_KERNEL_PARTSIZE)M [email protected] [email protected]
  36. endef
  37. define Build/sdcard-img
  38. if [ -n "$(UBOOT)" ]; then UBOOT="$(STAGING_DIR_IMAGE)/$(UBOOT)"; fi; \
  39. BOOTFS_SIZE=$$(( $(CONFIG_TARGET_KERNEL_PARTSIZE) * 1024 * 2 )); \
  40. ROOTFS_SIZE=$$(( $(CONFIG_TARGET_ROOTFS_PARTSIZE) * 1024 * 2 )); \
  41. SIGNATURE="$(SIGNATURE)" \
  42. ./gen_mvebu_sdcard_img.sh $@ \
  43. $$UBOOT \
  44. c $$BOOTFS_SIZE [email protected] \
  45. 83 $$ROOTFS_SIZE $(IMAGE_ROOTFS)
  46. endef
  47. define Build/sdcard-img-ext4
  48. if [ -n "$(UBOOT)" ]; then UBOOT="$(STAGING_DIR_IMAGE)/$(UBOOT)"; fi; \
  49. BOOTFS_SIZE=$$(( $(CONFIG_TARGET_KERNEL_PARTSIZE) * 1024 * 2 )); \
  50. ROOTFS_SIZE=$$(( $(CONFIG_TARGET_ROOTFS_PARTSIZE) * 1024 * 2 )); \
  51. SIGNATURE="$(SIGNATURE)" \
  52. ./gen_mvebu_sdcard_img.sh $@ \
  53. $$UBOOT \
  54. 83 $$BOOTFS_SIZE [email protected] \
  55. 83 $$ROOTFS_SIZE $(IMAGE_ROOTFS)
  56. endef
  57. define Build/omnia-medkit-initramfs
  58. $(TAR) -c -T /dev/null -f $@
  59. rm -rf $(dir $(IMAGE_KERNEL))boot
  60. mkdir -p $(dir $(IMAGE_KERNEL))boot/boot/
  61. cp $(KDIR)/zImage-initramfs $(dir $(IMAGE_KERNEL))boot/boot/zImage
  62. cp $(DTS_DIR)/$(DEVICE_DTS).dtb $(dir $(IMAGE_KERNEL))boot/boot/dtb
  63. $(TAR) -rp --numeric-owner --owner=0 --group=0 --sort=name \
  64. $(if $(SOURCE_DATE_EPOCH),--mtime="@$(SOURCE_DATE_EPOCH)") \
  65. --file=$@ -C $(dir $(IMAGE_KERNEL))boot/ .
  66. endef
  67. define Device/Default
  68. PROFILES := Default
  69. DEVICE_DTS := $(1)
  70. BOARD_NAME = $$(DEVICE_DTS)
  71. KERNEL_NAME := zImage
  72. KERNEL := kernel-bin | append-dtb | uImage none
  73. SUPPORTED_DEVICES = $$(DEVICE_DTS)
  74. UBOOT :=
  75. endef
  76. DEVICE_VARS += UBOOT
  77. define Device/UBI
  78. IMAGES := sysupgrade.bin
  79. IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata
  80. endef
  81. define Device/UBI-factory
  82. $(Device/UBI)
  83. UBINIZE_OPTS := -E 5
  84. IMAGES += factory.img
  85. IMAGE/factory.img := append-kernel | pad-to $$$$(KERNEL_SIZE) | append-ubi | pad-to $$$$(PAGESIZE)
  86. endef
  87. define Device/NAND-128K
  88. $(Device/UBI)
  89. BLOCKSIZE := 128k
  90. PAGESIZE := 2048
  91. SUBPAGESIZE := 512
  92. VID_HDR_OFFSET := 2048
  93. endef
  94. define Device/NAND-256K
  95. $(Device/UBI)
  96. BLOCKSIZE := 256k
  97. PAGESIZE := 4096
  98. endef
  99. define Device/NAND-512K
  100. $(Device/UBI)
  101. BLOCKSIZE := 512k
  102. PAGESIZE := 4096
  103. endef
  104. include cortex-a9.mk
  105. include cortex-a53.mk
  106. include cortex-a72.mk
  107. $(eval $(call BuildImage))