1 # SPDX-License-Identifier: GPL-2.0-only
3 include $(TOPDIR
)/rules.mk
4 include $(INCLUDE_DIR
)/image.mk
6 DEVICE_VARS
+= UBOOT_DEVICE_NAME
9 $(CP
) $(LINUX_DIR
)/COPYING
$(KDIR
)/COPYING.linux
13 define Build
/boot-common
14 # This creates a new folder copies the dtb (as rockchip.dtb)
15 # and the kernel image (as kernel.img)
19 $(CP
) $(DTS_DIR
)/$(DEVICE_DTS
).dtb
$@.boot
/rockchip.dtb
20 $(CP
) $(IMAGE_KERNEL
) $@.boot
/kernel.img
23 define Build
/boot-script
24 # Make an U-boot image and copy it to the boot partition
25 mkimage
-A arm
-O linux
-T script
-C none
-a
0 -e
0 -d
$(if
$(1),$(1),mmc
).bootscript
$@.boot
/boot.scr
28 define Build
/pine64-img
29 # Creates the final SD/eMMC images,
30 # combining boot partition, root partition as well as the u-boot bootloader
32 # Generate a new partition table in $@ with 32 MiB of
33 # alignment padding for the idbloader and u-boot to fit:
34 # http://opensource.rock-chips.com/wiki_Boot_option#Boot_flow
36 # U-Boot SPL expects the U-Boot ITB to be located at sector 0x4000 (8 MiB) on the MMC storage
37 PADDING
=1 $(SCRIPT_DIR
)/gen_image_generic.sh \
39 $(CONFIG_TARGET_KERNEL_PARTSIZE
) $@.boot \
40 $(CONFIG_TARGET_ROOTFS_PARTSIZE
) $(IMAGE_ROOTFS
) \
43 # Copy the idbloader and the u-boot image to the image at sector 0x40 and 0x4000
44 dd if
="$(STAGING_DIR_IMAGE)"/$(UBOOT_DEVICE_NAME
)-idbloader.img of
="$@" seek
=64 conv
=notrunc
45 dd if
="$(STAGING_DIR_IMAGE)"/$(UBOOT_DEVICE_NAME
)-u-boot.itb of
="$@" seek
=16384 conv
=notrunc
52 IMAGES
:= sysupgrade.img.gz
53 DEVICE_DTS
= rockchip
/$$(SOC
)-$(lastword
$(subst _
, ,$(1)))
56 include $(SUBTARGET
).mk
58 $(eval
$(call BuildImage
))