2 # Copyright (C) 2013 OpenWrt.org
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
7 include $(TOPDIR)/rules.mk
8 include $(INCLUDE_DIR)/image.mk
14 # emit FIT images, DTB's and generic zImage
15 define Image/BuildKernel
16 $(foreach board,$(BOARDS),
17 cp $(LINUX_DIR)/arch/arm/boot/dts/$(board).dtb $(BIN_DIR)/$(IMG_PREFIX)-$(board).dtb
19 $(call Image/BuildKernel/MkFIT,$(board),$(KDIR)/zImage,$(BIN_DIR)/$(IMG_PREFIX)-$(board).dtb,none,0x10008000,0x10008000)
20 cp $(KDIR)/fit-$(board).itb $(BIN_DIR)/$(IMG_PREFIX)-$(board)-uImage.itb
22 ifneq ($(CONFIG_TARGET_ROOTFS_INITRAMFS),)
23 $(call Image/BuildKernel/MkFIT,$(board),$(KDIR)/zImage-initramfs,$(BIN_DIR)/$(IMG_PREFIX)-$(board).dtb,none,0x10008000,0x10008000,-initramfs)
24 cp $(KDIR)/fit-$(board)-initramfs.itb $(BIN_DIR)/$(IMG_PREFIX)-$(board)-uImage-initramfs.itb
28 cp $(KDIR)/zImage $(BIN_DIR)/$(IMG_PREFIX)-zImage
30 ifneq ($(CONFIG_TARGET_ROOTFS_INITRAMFS),)
31 cp $(KDIR)/zImage-initramfs $(BIN_DIR)/$(IMG_PREFIX)-zImage-initramfs
35 # board-specific sysupgrade image
36 define BuildFirmware/Generic
37 dd if=$(BIN_DIR)/openwrt-$(1)-uImage.itb of=$(KDIR)/uImage.pad bs=64k conv=sync; \
38 dd if=$(KDIR)/root.$(2) of=$(KDIR)/root.$(2).pad bs=128k conv=sync; \
39 sh $(TOPDIR)/scripts/combined-image.sh \
41 $(KDIR)/root.$(2).pad \
42 $(BIN_DIR)/$(IMG_PREFIX)-$(patsubst jffs2-%,jffs2,$(patsubst squashfs-%,squashfs,$(1)))-sysupgrade.bin
46 $(call Image/Build/$(1),$(1))
47 $(foreach board,$(BOARDS),
48 $(call BuildFirmware/Generic,$(board),$(1))
52 # rootfs and board-specific combined kernel+rootfs for convenience
53 define Image/Build/squashfs
54 $(call prepare_generic_squashfs,$(KDIR)/root.$(1))
55 dd if=$(KDIR)/root.$(1) of=$(BIN_DIR)/openwrt-$(BOARD)-$(1).img bs=128k conv=sync
56 $(foreach board,$(BOARDS),
58 dd if=$(BIN_DIR)/openwrt-$(board)-uImage.itb bs=2048k conv=sync; \
59 dd if=$(KDIR)/root.$(1) bs=64k conv=sync; \
60 ) > $(BIN_DIR)/$(IMG_PREFIX)-$(board)-$(1).bin
64 $(eval $(call BuildImage))