Makefile 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. #
  2. # Copyright (C) 2012 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. TARGET_DTBS := armada-xp-db armada-370-db armada-xp-openblocks-ax3-4 armada-370-mirabox \
  10. armada-370-rd
  11. LOADADDR:=0x00008000
  12. JFFS2_BLOCKSIZE = 128k
  13. UIMAGE:=$(BIN_DIR)/$(IMG_PREFIX)-uImage
  14. define Image/Build/MkuImage
  15. mkimage -A arm -O linux -T kernel -a $(LOADADDR) -C none -e $(LOADADDR) \
  16. -n 'ARM OpenWrt Linux-$(LINUX_VERSION)' -d $(1) $(2);
  17. endef
  18. define Image/Build/DTB
  19. cp $(KDIR)/zImage$(2) $(KDIR)/zImage$(2)-$(1);
  20. cat $(LINUX_DIR)/arch/$(ARCH)/boot/dts/$(1).dtb >> $(KDIR)/zImage$(2)-$(1);
  21. $(call Image/Build/MkuImage,$(KDIR)/zImage$(2)-$(1),$(KDIR)/uImage$(2)-$(1))
  22. cp $(KDIR)/uImage$(2)-$(1) $(UIMAGE)$(2)-$(1);
  23. endef
  24. define Image/BuildKernel
  25. $(foreach dtb,$(TARGET_DTBS),$(call Image/Build/DTB,$(dtb)))
  26. $(call Image/Build/Initramfs)
  27. endef
  28. define Image/Build/squashfs
  29. $(STAGING_DIR_HOST)/bin/padjffs2 $(KDIR)/root.squashfs 128
  30. endef
  31. define Image/Build/Initramfs
  32. $(foreach dtb,$(TARGET_DTBS),$(call Image/Build/DTB,$(dtb),-initramfs))
  33. endef
  34. define Image/Build
  35. $(call Image/Build/$(1))
  36. dd if=$(KDIR)/root.$(1) of=$(BIN_DIR)/$(IMG_PREFIX)-root.$(1) bs=128k conv=sync
  37. ifneq ($(CONFIG_TARGET_ROOTFS_INITRAMFS),)
  38. $(call Image/Build/Initramfs)
  39. endif
  40. endef
  41. $(eval $(call BuildImage))