summaryrefslogtreecommitdiffstats
path: root/target/linux/zynq/image/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'target/linux/zynq/image/Makefile')
-rw-r--r--target/linux/zynq/image/Makefile75
1 files changed, 75 insertions, 0 deletions
diff --git a/target/linux/zynq/image/Makefile b/target/linux/zynq/image/Makefile
new file mode 100644
index 0000000000..2924a5d3ea
--- /dev/null
+++ b/target/linux/zynq/image/Makefile
@@ -0,0 +1,75 @@
+#
+# Copyright (C) 2015 OpenWrt.org
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+include $(TOPDIR)/rules.mk
+include $(INCLUDE_DIR)/image.mk
+
+#################################################
+# Images
+#################################################
+
+define Image/boot-imgs
+ # Copy zImage to BIN_DIR
+ $(CP) $(KDIR)/zImage $(BIN_DIR)/$(IMG_PREFIX)-zImage
+
+ $(call Image/BuildKernel/MkuImage, none, $(KERNEL_LOADADDR), \
+ $(KERNEL_ENTRY_POINT), $(KDIR)/zImage, \
+ $(BIN_DIR)/$(IMG_PREFIX)-uImage)
+
+ $(call Image/BuildDTB,$(DTS_DIR)/$(DEVICE_DTS).dts,\
+ $(BIN_DIR)/$(IMG_PREFIX)-system.dtb)
+
+ $(call Image/mkfs/cpiogz)
+ $(call Image/mkfs/targz)
+
+ # Create uboot cpio.gz
+ mkimage -A arm -T ramdisk -C gzip -n "$(PROFILE) OpenWRT rootfs" \
+ -d $(BIN_DIR)/$(IMG_PREFIX)-rootfs.cpio.gz \
+ $(BIN_DIR)/$(IMG_PREFIX)-uramdisk.image.gz
+
+ # create FIT image with rootfs
+ ./mkits.sh \
+ -D $(1) -o $(KDIR)/fit-$(1).its -k $(KDIR)/zImage \
+ -d $(BIN_DIR)/$(IMG_PREFIX)-system.dtb \
+ -C none -a $(KERNEL_LOADADDR) -e $(KERNEL_ENTRY_POINT) \
+ -A $(ARCH) -v $(LINUX_VERSION) \
+ -r $(BIN_DIR)/$(IMG_PREFIX)-rootfs.cpio.gz -z gzip
+ PATH=$(LINUX_DIR)/scripts/dtc:$(PATH) mkimage -f $(KDIR)/fit-$(1).its $(KDIR)/fit-$(1).itb
+ $(CP) $(KDIR)/fit-$(1).itb $(BIN_DIR)/$(IMG_PREFIX)-fit.itb
+ ln -fs $(IMG_PREFIX)-fit.itb $(BIN_DIR)/fit.itb
+
+endef
+
+#################################################
+# Devices
+#################################################
+
+# default kernel load address
+KERNEL_LOADADDR=0x8000
+KERNEL_ENTRY_POINT=0x8000
+
+### Device macros ###
+define Device/Default
+ IMG_PREFIX := zynq
+ DEVICE_DTS :=
+ PROFILE_SANITIZED :=
+endef
+
+DEVICE_VARS += DEVICE_DTS
+
+### ZC702 ###
+define Device/ZC702
+ DEVICE_DTS := zynq-zc702
+endef
+
+Image/boot-imgs/ZC702=$(call Image/boot-imgs,zc702)
+
+define Image/BuildKernel
+ $(eval $(call Device/$(PROFILE)))
+ $(call Image/boot-imgs/$(PROFILE))
+endef
+
+$(eval $(call BuildImage))