# # 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 DEVICE_VARS += UBOOT_DEVICE_NAME FAT32_BLOCK_SIZE=1024 FAT32_BLOCKS=$(shell echo $$(($(CONFIG_TARGET_KERNEL_PARTSIZE)*1024*1024/$(FAT32_BLOCK_SIZE)))) define Build/boot-script # Make an U-boot image and copy it to the boot partition mkimage -A arm -O linux -T script -C none -a 0 -e 0 -n "boot.scr" -d boot.txt $(KDIR)/boot.scr endef define Build/emmc-common $(RM) -f $@.boot mkfs.fat -C $@.boot $(FAT32_BLOCKS) mkdir -p $(KDIR)/boot.fat $(CP) $(KDIR)/boot.scr $(KDIR)/boot.fat/boot.scr mcopy -i $@.boot $(KDIR)/boot.scr :: $(CP) $(IMAGE_KERNEL) $(KDIR)/boot.fat/uImage mcopy -i $@.boot $(KDIR)/boot.fat/uImage :: $(foreach dts,$(shell echo $(DEVICE_DTS)),$(CP) $(DTS_DIR)/$(dts).dtb $(KDIR)/boot.fat/dtb;) mcopy -i $@.boot $(KDIR)/boot.fat/dtb :: $(RM) -rf $(KDIR)/boot.fat ./gen_aml_emmc_img.sh $@ $@.boot $(IMAGE_ROOTFS) \ $(CONFIG_TARGET_KERNEL_PARTSIZE) $(CONFIG_TARGET_ROOTFS_PARTSIZE) endef ### Image scripts ### define Build/boot-common # This creates a new folder copies the dtb (as amlogic.dtb) # and the kernel image (as kernel.img) rm -fR $@.boot mkdir -p $@.boot $(CP) $(KDIR)/image-$(firstword $(DEVICE_DTS)).dtb $@.boot/amlogic.dtb $(CP) $(IMAGE_KERNEL) $@.boot/kernel.img $(CP) "$(STAGING_DIR_IMAGE)"/$(UBOOT_DEVICE_NAME)-u-boot-overlay.bin $@.boot/u-boot.emmc endef define Build/boot-combined # This creates a new folder copies the dtbs (as amlogic*.dtb) # and the kernel image (as kernel.img) rm -fR $@.boot mkdir -p $@.boot i=0; \ for dts in $(DEVICE_DTS); do \ $(CP) $(KDIR)/image-$${dts}.dtb $@.boot/amlogic$$(perl -e 'printf "%b\n",'$$i).dtb; \ let i+=1; \ done $(CP) $(IMAGE_KERNEL) $@.boot/kernel.img $(CP) "$(STAGING_DIR_IMAGE)"/$(UBOOT_DEVICE_NAME)-u-boot-overlay.bin $@.boot/u-boot.emmc endef define Build/boot-combined-script # Make an U-boot image and copy it to the boot partition mkimage -A arm -O linux -T script -C none -a 0 -e 0 -d aml_autoscript.cmd $@.boot/aml_autoscript mkimage -A arm -O linux -T script -C none -a 0 -e 0 -d emmc_autoscript.cmd $@.boot/emmc_autoscript mkimage -A arm -O linux -T script -C none -a 0 -e 0 -d s905_autoscript.cmd $@.boot/s905_autoscript mkimage -A arm -O linux -T script -C none -a 0 -e 0 -d $(if $(1),$(1),amlogic).bootscript $@.boot/boot.scr endef define Build/aml-img # Creates the final SD/USB images, # combining boot partition, root partition SIGNATURE="$(IMG_PART_SIGNATURE)" \ ./gen_amlogic_image.sh \ $@ \ 64 $@.boot \ 256 $(IMAGE_ROOTFS) \ 2048 endef ### Devices ### include $(SUBTARGET).mk $(eval $(call BuildImage))