Makefile 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. #
  2. # Copyright (C) 2013 OpenWrt.org
  3. #
  4. # This is free software, licensed under the GNU General Public License v2.
  5. # See /LICENSE for more information.
  6. #
  7. include $(TOPDIR)/rules.mk
  8. include $(INCLUDE_DIR)/image.mk
  9. BOARDS := \
  10. imx6dl-wandboard
  11. # board-specific Flattened Image Tree
  12. define mkfit
  13. /bin/sh $(LINUX_DIR)/scripts/mkits.sh -A arm -C none -a $(2) -e $(2) \
  14. -v 'OpenWrt Linux-$(LINUX_VERSION)' \
  15. -d $(LINUX_DIR)/arch/arm/boot/dts/$(1).dtb -k $(LINUX_DIR)/arch/arm/boot/zImage \
  16. -o $(KDIR)/$(1)-uImage.its
  17. mkimage -B $(LINUX_DIR)/scripts/dtc/dtc -f $(KDIR)/$(1)-uImage.its $(BIN_DIR)/openwrt-$(1)-uImage.itb
  18. endef
  19. # emit FIT images, DTB's and generic zImage
  20. define Image/BuildKernel
  21. $(foreach board,$(BOARDS),
  22. $(call mkfit,$(board),0x10008000)
  23. cp $(LINUX_DIR)/arch/arm/boot/dts/$(board).dtb $(BIN_DIR)
  24. )
  25. cp $(KDIR)/zImage $(BIN_DIR)/openwrt-$(BOARD)-zImage
  26. endef
  27. # board-specific sysupgrade image
  28. define BuildFirmware/Generic
  29. dd if=$(BIN_DIR)/openwrt-$(1)-uImage.itb of=$(KDIR)/uImage.pad bs=64k conv=sync; \
  30. dd if=$(KDIR)/root.$(2) of=$(KDIR)/root.$(2).pad bs=128k conv=sync; \
  31. sh $(TOPDIR)/scripts/combined-image.sh \
  32. $(KDIR)/uImage.pad \
  33. $(KDIR)/root.$(2).pad \
  34. $(BIN_DIR)/$(IMG_PREFIX)-$(patsubst jffs2-%,jffs2,$(patsubst squashfs-%,squashfs,$(1)))-sysupgrade.bin
  35. endef
  36. define Image/Build
  37. $(call Image/Build/$(1),$(1))
  38. $(foreach board,$(BOARDS),
  39. $(call BuildFirmware/Generic,$(board),$(1))
  40. )
  41. endef
  42. # rootfs and board-specific combined kernel+rootfs for convenience
  43. define Image/Build/squashfs
  44. $(call prepare_generic_squashfs,$(KDIR)/root.$(1))
  45. dd if=$(KDIR)/root.$(1) of=$(BIN_DIR)/openwrt-$(BOARD)-$(1).img bs=128k conv=sync
  46. $(foreach board,$(BOARDS),
  47. ( \
  48. dd if=$(BIN_DIR)/openwrt-$(board)-uImage.itb bs=2048k conv=sync; \
  49. dd if=$(KDIR)/root.$(1) bs=64k conv=sync; \
  50. ) > $(BIN_DIR)/$(IMG_PREFIX)-$(board)-$(1).bin
  51. )
  52. endef
  53. $(eval $(call BuildImage))