mirror of
https://github.com/coolsnowwolf/lede.git
synced 2025-04-15 18:03:30 +00:00
92 lines
2.7 KiB
Makefile
92 lines
2.7 KiB
Makefile
#
|
|
# 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))
|