123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115 |
- #
- # 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
- include $(INCLUDE_DIR)/host.mk
- FAT32_BLOCK_SIZE=1024
- FAT32_BLOCKS=$(shell echo $$(($(CONFIG_ZYNQ_SD_BOOT_PARTSIZE)*1024*1024/$(FAT32_BLOCK_SIZE))))
- #################################################
- # 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 $(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
- endef
- define Image/Build/Zynq
- # Create SD card image
- rm -f $(KDIR_TMP)/$(IMG_PREFIX)-boot.img
- mkfs.fat $(KDIR_TMP)/$(IMG_PREFIX)-boot.img -C $(FAT32_BLOCKS)
- mcopy -i $(KDIR_TMP)/$(IMG_PREFIX)-boot.img $(KDIR)/uboot-$(IMG_PREFIX)-u-boot.bin ::boot.bin
- mcopy -i $(KDIR_TMP)/$(IMG_PREFIX)-boot.img $(BIN_DIR)/$(DEVICE_DTS)-system.dtb ::devicetree.dtb
- mcopy -i $(KDIR_TMP)/$(IMG_PREFIX)-boot.img $(KDIR)/uboot-$(IMG_PREFIX)-u-boot-dtb.img ::u-boot.img
- mcopy -i $(KDIR_TMP)/$(IMG_PREFIX)-boot.img $(KDIR)/uboot-$(IMG_PREFIX)-uEnv.txt ::uEnv.txt
- mcopy -i $(KDIR_TMP)/$(IMG_PREFIX)-boot.img $(BIN_DIR)/$(IMG_PREFIX)-uImage ::uImage
- ./gen_zynq_sdcard_img.sh \
- $(BIN_DIR)/$(IMG_PREFIX)-sdcard-vfat-$(1).img \
- $(KDIR_TMP)/$(IMG_PREFIX)-boot.img \
- $(KDIR)/root.$(1) \
- $(CONFIG_ZYNQ_SD_BOOT_PARTSIZE) \
- $(CONFIG_TARGET_ROOTFS_PARTSIZE)
- $(if $(CONFIG_TARGET_IMAGES_GZIP),gzip -9n -c $(BIN_DIR)/$(IMG_PREFIX)-sdcard-vfat-$(1).img > $(BIN_DIR)/$(IMG_PREFIX)-sdcard-vfat-$(1).img.gz)
- 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)
- endef
- define Device/ZED
- $(call Device/DefaultConfig,zed)
- endef
- define Device/ZYBO
- $(call Device/DefaultConfig,zybo)
- endef
- define Image/BuildKernel
- $(eval $(call Device/$(PROFILE)))
- $(call Image/boot-imgs)
- endef
- define Image/Build
- $(CP) $(KDIR)/root.$(1) $(BIN_DIR)/$(IMG_PREFIX)-$(1).img
- $(call Image/Build/Zynq,$(1))
- endef
- $(eval $(call BuildImage))
|