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
11 LS_SD_IMAGE_SIZE
= $(shell echo
$$((($(LS_SD_ROOTFSPART_OFFSET
) + \
12 $(CONFIG_TARGET_ROOTFS_PARTSIZE
)))))
14 # The limitation of flash sysupgrade.bin is 1MB dtb + 16MB kernel + 32MB rootfs
15 LS_SYSUPGRADE_IMAGE_SIZE
= 49m
18 # Build .dtb for all boards we may run on
19 $(foreach dts
,$(DEVICE_DTS_LIST
),
20 $(call Image
/BuildDTB
,$(DTS_DIR
)/$(dts
).dts
,$(DTS_DIR
)/$(dts
).dtb
)
28 define Build
/ls-append
29 dd if
=$(STAGING_DIR_IMAGE
)/$(1) >> $@
32 define Build
/ls-append-dtb
33 dd if
=$(DTS_DIR
)/$(1).dtb
>> $@
36 define Build
/ls-append-kernel
38 cp
$(IMAGE_KERNEL
) $@.tmp
/fitImage
&& \
39 make_ext4fs
-J
-L kernel
-l
"$(LS_SD_KERNELPART_SIZE)M" "$@.kernel.part" "$@.tmp" && \
40 dd if
=$@.kernel.part
>> $@
&& \
45 define Build
/ls-append-sdhead
46 .
/gen_sdcard_head_img.sh
$(STAGING_DIR_IMAGE
)/$(1)-sdcard-head.img \
47 $(LS_SD_KERNELPART_OFFSET
) $(LS_SD_KERNELPART_SIZE
) \
48 $(LS_SD_ROOTFSPART_OFFSET
) $(CONFIG_TARGET_ROOTFS_PARTSIZE
)
49 dd if
=$(STAGING_DIR_IMAGE
)/$(1)-sdcard-head.img
>> $@
52 define Build
/traverse-fit
53 .
/mkits-multiple-config.sh
-o
$@.its
-A
$(LINUX_KARCH
) \
54 -v
$(LINUX_VERSION
) -k
$@
-a
$(KERNEL_LOADADDR
) \
55 -e
$(if
$(KERNEL_ENTRY
),$(KERNEL_ENTRY
),$(KERNEL_LOADADDR
)) \
57 -d
$(DEVICE_DTS_DIR
)/freescale
/traverse-ls1043s.dtb \
58 -D
"Traverse_LS1043S" -n
"ls1043s" -a
$(FDT_LOADADDR
) -c
1 \
59 -d
$(DEVICE_DTS_DIR
)/freescale
/traverse-ls1043v.dtb \
60 -D
"Traverse_LS1043V" -n
"ls1043v" -a
$(FDT_LOADADDR
) -c
2
61 PATH
=$(LINUX_DIR
)/scripts
/dtc
:$(PATH
) mkimage
-f
$@.its
$@.new
65 define Device
/fix-sysupgrade
66 DEVICE_COMPAT_VERSION
:= 2.0
67 DEVICE_COMPAT_MESSAGE
:= DTB was added to sysupgrade. Image format is different. \
68 To use sysupgrade You need to change firmware partition in bootargs to
"49m@0xf00000(firmware)" and saveenv. \
69 After that
, You can use
"sysupgrade -F".
72 define Device
/rework-sdcard-images
73 DEVICE_COMPAT_VERSION
:= 2.0
74 DEVICE_COMPAT_MESSAGE
:= SD-card images were changed to squashfs
+ ext4 overlay combined images. \
75 It is required to flash the entire sd-card again and manually copy config.
78 include $(SUBTARGET
).mk
80 $(eval
$(call BuildImage
))