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
13 # board-specific Flattened Image Tree
15 /bin
/sh
$(LINUX_DIR
)/scripts
/mkits.sh
-A arm
-C none
-a
$(2) -e
$(2) \
16 -v
'OpenWrt Linux-$(LINUX_VERSION)' \
17 -d
$(LINUX_DIR
)/arch
/arm
/boot
/dts
/$(1).dtb
-k
$(LINUX_DIR
)/arch
/arm
/boot
/zImage \
18 -o
$(KDIR
)/$(1)-uImage.its
19 mkimage
-B
$(LINUX_DIR
)/scripts
/dtc
/dtc
-f
$(KDIR
)/$(1)-uImage.its
$(BIN_DIR
)/openwrt-
$(1)-uImage.itb
22 # emit FIT images, DTB's and generic zImage
23 define Image
/BuildKernel
24 $(foreach board
,$(BOARDS
),
25 $(call mkfit
,$(board
),0x10008000)
26 cp
$(LINUX_DIR
)/arch
/arm
/boot
/dts
/$(board
).dtb
$(BIN_DIR
)
28 cp
$(LINUX_DIR
)/arch
/arm
/boot
/zImage
$(BIN_DIR
)/openwrt-
$(BOARD
)-zImage
31 # board-specific sysupgrade image
32 define BuildFirmware
/Generic
33 dd if
=$(BIN_DIR
)/openwrt-
$(1)-uImage.itb of
=$(KDIR
)/uImage.pad bs
=64k conv
=sync
; \
34 dd if
=$(KDIR
)/root.
$(2) of
=$(KDIR
)/root.
$(2).pad bs
=128k conv
=sync
; \
35 sh
$(TOPDIR
)/scripts
/combined-image.sh \
37 $(KDIR
)/root.
$(2).pad \
38 $(BIN_DIR
)/$(IMG_PREFIX
)-$(patsubst jffs2-
%,jffs2
,$(patsubst squashfs-
%,squashfs
,$(1)))-sysupgrade.bin
42 $(call Image
/Build
/$(1),$(1))
43 $(foreach board
,$(BOARDS
),
44 $(call BuildFirmware
/Generic
,$(board
),$(1))
48 # rootfs and board-specific combined kernel+rootfs for convenience
49 define Image
/Build
/squashfs
50 $(call prepare_generic_squashfs
,$(KDIR
)/root.
$(1))
51 dd if
=$(KDIR
)/root.
$(1) of
=$(BIN_DIR
)/openwrt-
$(BOARD
)-$(1).img bs
=128k conv
=sync
52 $(foreach board
,$(BOARDS
),
54 dd if
=$(BIN_DIR
)/openwrt-
$(board
)-uImage.itb bs
=2048k conv
=sync
; \
55 dd if
=$(KDIR
)/root.
$(1) bs
=64k conv
=sync
; \
56 ) > $(BIN_DIR
)/$(IMG_PREFIX
)-$(board
)-$(1).bin
60 $(eval
$(call BuildImage
))