Makefile 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  1. # SPDX-License-Identifier: GPL-2.0-only
  2. #
  3. # Copyright (C) 2013-2015 OpenWrt.org
  4. include $(TOPDIR)/rules.mk
  5. include $(INCLUDE_DIR)/image.mk
  6. FAT32_BLOCK_SIZE = 1024
  7. FAT32_BLOCKS = $(shell echo $$(($(CONFIG_MXS_SD_BOOT_PARTSIZE)*1024*1024/$(FAT32_BLOCK_SIZE))))
  8. KERNEL_LOADADDR := 0x40008000
  9. define Build/mxs-ext4-rootfs-with-boot
  10. rm -rf $(call mkfs_target_dir,$(1))/boot
  11. mkdir -p $(call mkfs_target_dir,$(1))/boot
  12. $(CP) --no-preserve=mode $(KDIR)/$(KERNEL_NAME) $(call mkfs_target_dir,$(1))/boot/
  13. $(foreach dts,$(DEVICE_DTS), \
  14. $(CP) \
  15. $(DTS_DIR)/$(dts).dtb \
  16. $(call mkfs_target_dir,$(1))/boot/; \
  17. )
  18. rm -rf [email protected]
  19. $(STAGING_DIR_HOST)/bin/make_ext4fs -L rootfs \
  20. -l $(ROOTFS_PARTSIZE) -b $(CONFIG_TARGET_EXT4_BLOCKSIZE) \
  21. $(if $(CONFIG_TARGET_EXT4_RESERVED_PCT),-m $(CONFIG_TARGET_EXT4_RESERVED_PCT)) \
  22. $(if $(CONFIG_TARGET_EXT4_JOURNAL),,-J) \
  23. $(if $(SOURCE_DATE_EPOCH),-T $(SOURCE_DATE_EPOCH)) \
  24. [email protected] $(call mkfs_target_dir,$(1))/
  25. mv [email protected] $@
  26. endef
  27. define Build/mxs-sdcard-ext4-ext4
  28. mv $@ [email protected]
  29. ./gen_sdcard_ext4_ext4.sh \
  30. $@ \
  31. $(STAGING_DIR_IMAGE)/$(DEVICE_NAME)/u-boot.sb \
  32. [email protected] \
  33. $(CONFIG_TARGET_ROOTFS_PARTSIZE)
  34. endef
  35. define Build/mxs-sdcard-vfat-ext4
  36. rm -f [email protected]
  37. mkfs.fat [email protected] -C $(FAT32_BLOCKS)
  38. mcopy -i [email protected] $(DTS_DIR)/$(DEVICE_DTS).dtb ::$(DEVICE_DTS).dtb
  39. mcopy -i [email protected] $(IMAGE_KERNEL) ::uImage
  40. ./gen_sdcard_vfat_ext4.sh \
  41. $@ \
  42. $(STAGING_DIR_IMAGE)/$(DEVICE_NAME)/u-boot.sb \
  43. [email protected] \
  44. $(IMAGE_ROOTFS) \
  45. $(CONFIG_MXS_SD_BOOT_PARTSIZE) \
  46. $(CONFIG_TARGET_ROOTFS_PARTSIZE)
  47. endef
  48. define Device/Default
  49. PROFILES := Default
  50. KERNEL_NAME := zImage
  51. KERNEL := kernel-bin | uImage none
  52. IMAGES := sdcard.img.gz
  53. DTS_DIR := $(DTS_DIR)/nxp/mxs
  54. DEVICE_DTS = $$(SOC)-$(lastword $(subst _, ,$(1)))
  55. endef
  56. define Device/i2se_duckbill
  57. DEVICE_VENDOR := I2SE
  58. DEVICE_MODEL := Duckbill
  59. DEVICE_PACKAGES := -dnsmasq -firewall4 -mtd -nftables -odhcpd-ipv6only -ppp -kmod-nft-offload \
  60. uboot-envtools kmod-leds-gpio
  61. SUPPORTED_DEVICES := i2se,duckbill
  62. SOC := imx28
  63. KERNEL := kernel-bin
  64. DEVICE_DTS := imx28-duckbill imx28-duckbill-2 imx28-duckbill-2-485 imx28-duckbill-2-spi
  65. IMAGE/sdcard.img.gz = mxs-ext4-rootfs-with-boot | mxs-sdcard-ext4-ext4 | append-metadata | gzip
  66. endef
  67. TARGET_DEVICES += i2se_duckbill
  68. define Device/olinuxino_maxi
  69. DEVICE_VENDOR := Olimex
  70. DEVICE_MODEL := OLinuXino Maxi
  71. DEVICE_PACKAGES := kmod-usb-net-smsc95xx kmod-pinctrl-mcp23s08-i2c \
  72. kmod-pinctrl-mcp23s08-spi kmod-leds-gpio kmod-sound-core
  73. SUPPORTED_DEVICES := olimex,imx23-olinuxino
  74. SOC := imx23
  75. DEVICE_DTS := imx23-olinuxino
  76. IMAGE/sdcard.img.gz = mxs-sdcard-vfat-ext4 | append-metadata | gzip
  77. endef
  78. TARGET_DEVICES += olinuxino_maxi
  79. define Device/olinuxino_micro
  80. DEVICE_VENDOR := Olimex
  81. DEVICE_MODEL := OLinuXino Micro
  82. DEVICE_PACKAGES := kmod-pinctrl-mcp23s08-spi kmod-pinctrl-mcp23s08-i2c \
  83. kmod-leds-gpio
  84. SUPPORTED_DEVICES := olimex,imx23-olinuxino
  85. SOC := imx23
  86. DEVICE_DTS := imx23-olinuxino
  87. IMAGE/sdcard.img.gz = mxs-sdcard-vfat-ext4 | append-metadata | gzip
  88. endef
  89. TARGET_DEVICES += olinuxino_micro
  90. $(eval $(call BuildImage))