Makefile 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  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 armada-xp-gp
  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. ifneq ($(CONFIG_TARGET_ROOTFS_INITRAMFS),)
  27. $(call Image/Build/Initramfs)
  28. endif
  29. endef
  30. define Image/Build/squashfs
  31. $(STAGING_DIR_HOST)/bin/padjffs2 $(KDIR)/root.squashfs 128
  32. endef
  33. define Image/Build/Initramfs
  34. $(foreach dtb,$(TARGET_DTBS),$(call Image/Build/DTB,$(dtb),-initramfs))
  35. endef
  36. define Image/Build
  37. $(call Image/Build/$(1))
  38. dd if=$(KDIR)/root.$(1) of=$(BIN_DIR)/$(IMG_PREFIX)-root.$(1) bs=128k conv=sync
  39. ifneq ($(CONFIG_TARGET_ROOTFS_INITRAMFS),)
  40. $(call Image/Build/Initramfs)
  41. endif
  42. endef
  43. $(eval $(call BuildImage))