1 # SPDX-License-Identifier: GPL-2.0-only
3 # Copyright (C) 2016 Jiang Yutang <jiangyutang1978@gmail.com>
5 include $(TOPDIR
)/rules.mk
6 include $(INCLUDE_DIR
)/image.mk
8 LS_SD_KERNELPART_SIZE
= 40
9 LS_SD_KERNELPART_OFFSET
= 16
10 LS_SD_ROOTFSPART_OFFSET
= 64
13 LS_SD_IMAGE_SIZE
= $(shell echo
$$((($(LS_SD_ROOTFSPART_OFFSET
) + \
14 $(CONFIG_TARGET_ROOTFS_PARTSIZE
)))))
17 # The limitation of flash sysupgrade.bin is 1MB dtb + 16MB kernel + 32MB rootfs
18 LS_SYSUPGRADE_IMAGE_SIZE
= 49m
21 # Build .dtb for all boards we may run on
22 $(foreach dts
,$(DEVICE_DTS_LIST
),
23 $(call Image
/BuildDTB
,$(DTS_DIR
)/$(dts
).dts
,$(DTS_DIR
)/$(dts
).dtb
)
31 define Build
/ls-append
32 dd if
=$(STAGING_DIR_IMAGE
)/$(1) >> $@
35 define Build
/ls-append-dtb
36 dd if
=$(DTS_DIR
)/$(1).dtb
>> $@
39 define Build
/ls-append-kernel
41 cp
$(IMAGE_KERNEL
) $@.tmp
/fitImage
&& \
42 make_ext4fs
-J
-L kernel
-l
"$(LS_SD_KERNELPART_SIZE)M" \
43 $(if
$(SOURCE_DATE_EPOCH
),-T
$(SOURCE_DATE_EPOCH
)) \
44 "$@.kernel.part" "$@.tmp" && \
45 dd if
=$@.kernel.part
>> $@
&& \
50 define Build
/ls-append-sdhead
51 .
/gen_sdcard_head_img.sh
$(STAGING_DIR_IMAGE
)/$(1)-sdcard-head.img \
52 $(LS_SD_KERNELPART_OFFSET
) $(LS_SD_KERNELPART_SIZE
) \
53 $(LS_SD_ROOTFSPART_OFFSET
) $(CONFIG_TARGET_ROOTFS_PARTSIZE
)
54 dd if
=$(STAGING_DIR_IMAGE
)/$(1)-sdcard-head.img
>> $@
57 define Build
/traverse-fit-ls1088
58 .
/mkits-multiple-config.sh
-o
$@.its
-A
$(LINUX_KARCH
) \
59 -v
$(LINUX_VERSION
) -k
$@
-a
$(KERNEL_LOADADDR
) \
60 -e
$(if
$(KERNEL_ENTRY
),$(KERNEL_ENTRY
),$(KERNEL_LOADADDR
)) \
62 -d
$(DTS_DIR
)/freescale
/fsl-ls1088a-ten64.dtb \
63 -D
"TEN64" -n
"ten64" -a
$(FDT_LOADADDR
) -c
1 \
64 -d
$(DTS_DIR
)/freescale
/fsl-ls1088a-rdb.dtb \
65 -D
"LS1088ARDB" -n
"ls1088ardb" -a
$(FDT_LOADADDR
) -c
2
66 PATH
=$(LINUX_DIR
)/scripts
/dtc
:$(PATH
) mkimage
-f
$@.its
$@.new
70 define Device
/fix-sysupgrade
71 DEVICE_COMPAT_VERSION
:= 2.0
72 DEVICE_COMPAT_MESSAGE
:= DTB was added to sysupgrade. Image format is different. \
73 To use sysupgrade You need to change firmware partition in bootargs to
"49m@0xf00000(firmware)" and saveenv. \
74 After that
, You can use
"sysupgrade -F".
77 define Device
/rework-sdcard-images
78 DEVICE_COMPAT_VERSION
:= 2.0
79 DEVICE_COMPAT_MESSAGE
:= SD-card images were changed to squashfs
+ ext4 overlay combined images. \
80 It is required to flash the entire sd-card again and manually copy config.
83 include $(SUBTARGET
).mk
85 $(eval
$(call BuildImage
))