include $(INCLUDE_DIR)/image.mk
#################################################
-# Images
+# Default and templates
#################################################
-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 $(DEVICE_LC) -o $(KDIR)/fit-$(DEVICE_LC).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-$(DEVICE_LC).its $(KDIR)/fit-$(DEVICE_LC).itb
- $(CP) $(KDIR)/fit-$(DEVICE_LC).itb $(BIN_DIR)/$(IMG_PREFIX)-fit.itb
- ln -fs $(IMG_PREFIX)-fit.itb $(BIN_DIR)/fit.itb
+define Device/Default
+ PROFILES := Default
+ KERNEL_DEPENDS = $$(wildcard $(DTS_DIR)/$$(DEVICE_DTS).dts)
+ KERNEL_INITRAMFS_PREFIX := $$(IMG_PREFIX)-$(1)-initramfs
+ KERNEL_PREFIX := $$(IMAGE_PREFIX)
+ KERNEL_LOADADDR := 0x8000
+endef
+define Device/FitImageGzip
+ KERNEL_SUFFIX := -fit-uImage.itb
+ KERNEL = kernel-bin | gzip | fit gzip $$(DTS_DIR)/$$(DEVICE_DTS).dtb
+ KERNEL_NAME := Image
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
-
-define Device/DefaultConfig
- DEVICE_LC = $(1)
- IMG_PREFIX = zynq-$(1)
- DEVICE_DTS = zynq-$(1)
-endef
-
-### ZC702 ###
-define Device/ZC702
- $(call Device/DefaultConfig,zc702)
+define Device/digilent_zynq-zybo
+ $(call Device/FitImageGzip)
+ DEVICE_TITLE := ZYBO Development Board
+ DEVICE_DTS := zynq-zybo
endef
+TARGET_DEVICES += digilent_zynq-zybo
-define Device/ZED
- $(call Device/DefaultConfig,zed)
+define Device/xlnx_zynq-zc702
+ $(call Device/FitImageGzip)
+ DEVICE_TITLE := ZC702 Development Board
+ DEVICE_DTS := zynq-zc702
endef
+TARGET_DEVICES += xlnx_zynq-zc702
-define Image/BuildKernel
- $(eval $(call Device/$(PROFILE)))
- $(call Image/boot-imgs)
+define Device/xlnx_zynq-zed
+ $(call Device/FitImageGzip)
+ DEVICE_TITLE := Zed Development Board
+ DEVICE_DTS := zynq-zed
endef
+TARGET_DEVICES += xlnx_zynq-zed
$(eval $(call BuildImage))