# # 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 ################################################# # $(1): rootfs contents directory define Image/mkfs/cpio ( cd $(call mkfs_target_dir,$(1))/; find . | cpio -o -H newc | gzip -9n > $@ ) endef # $(1): zynq board id define Build/dtb $(call Image/BuildDTB,$(DTS_DIR)/zynq-$(1).dts,$@.dtb) endef define Build/uRamdisk # Create uboot cpio.gz mkimage -A arm -T ramdisk -C gzip -n "$(PROFILE) OpenWRT rootfs" \ -d $(IMAGE_ROOTFS) $@.new mv $@.new $@ endef # $(1): FIT name/description define Build/fit # create FIT image with rootfs ./mkits.sh \ -D $(1) -o $@.its -k $(IMAGE_KERNEL) -d $(IMAGE_KERNEL).dtb \ -C none -a $(KERNEL_LOADADDR) -e $(KERNEL_ENTRY) \ -A $(ARCH) -v $(LINUX_VERSION) -r $(IMAGE_ROOTFS) -z gzip PATH=$(LINUX_DIR)/scripts/dtc:$(PATH) mkimage -f $@.its $@ endef ################################################# # Devices ################################################# # default kernel load address KERNEL_LOADADDR=0x8000 KERNEL_ENTRY=0x8000 TARGET_FILESYSTEMS += cpio # $(1): canonical device name # $(2): lowercase device id define ZynqDevice define Device/$(1) DEVICE_TITLE := $(1) development board KERNEL := dtb $(2) | kernel-bin | uImage none KERNEL_NAME = zImage IMAGES := uramdisk.image.gz fit.itb IMAGE/uramdisk.image.gz := uRamdisk IMAGE/fit.itb := fit $(2) IMAGE_NAME = $$$$(IMG_PREFIX)-$(2)-$$$$(2) endef TARGET_DEVICES += $(1) endef $(eval $(call ZynqDevice,ZC702,zc702)) $(eval $(call ZynqDevice,ZedBoard,zed)) $(eval $(call ZynqDevice,ZYBO,zybo)) $(eval $(call BuildImage))