2 # Copyright (C) 2016 Jiang Yutang <jiangyutang1978@gmail.com>
4 # This is free software, licensed under the GNU General Public License v2.
5 # See /LICENSE for more information.
7 include $(TOPDIR
)/rules.mk
8 include $(INCLUDE_DIR
)/image.mk
10 LS_SD_KERNELPART_SIZE
= 40
11 LS_SD_KERNELPART_OFFSET
= 16
12 LS_SD_ROOTFSPART_OFFSET
= 64
13 LS_SD_IMAGE_SIZE
= $(shell echo
$$((($(LS_SD_ROOTFSPART_OFFSET
) + \
14 $(CONFIG_TARGET_ROOTFS_PARTSIZE
)))))
16 # The limitation of flash sysupgrade.bin is 1MB dtb + 16MB kernel + 32MB rootfs
17 LS_SYSUPGRADE_IMAGE_SIZE
= 49m
20 # Build .dtb for all boards we may run on
21 $(foreach dts
,$(DEVICE_DTS_LIST
),
22 $(call Image
/BuildDTB
,$(DTS_DIR
)/$(dts
).dts
,$(DTS_DIR
)/$(dts
).dtb
)
30 define Build
/ls-append
31 dd if
=$(STAGING_DIR_IMAGE
)/$(1) >> $@
34 define Build
/ls-append-dtb
35 dd if
=$(DTS_DIR
)/$(1).dtb
>> $@
38 define Build
/ls-append-kernel
40 cp
$(IMAGE_KERNEL
) $@.tmp
/fitImage
&& \
41 make_ext4fs
-J
-L kernel
-l
"$(LS_SD_KERNELPART_SIZE)M" "$@.kernel.part" "$@.tmp" && \
42 dd if
=$@.kernel.part
>> $@
&& \
47 define Build
/ls-append-sdhead
48 .
/gen_sdcard_head_img.sh
$(STAGING_DIR_IMAGE
)/$(1)-sdcard-head.img \
49 $(LS_SD_KERNELPART_OFFSET
) $(LS_SD_KERNELPART_SIZE
) \
50 $(LS_SD_ROOTFSPART_OFFSET
) $(CONFIG_TARGET_ROOTFS_PARTSIZE
)
51 dd if
=$(STAGING_DIR_IMAGE
)/$(1)-sdcard-head.img
>> $@
54 define Build
/traverse-fit
55 .
/mkits-multiple-config.sh
-o
$@.its
-A
$(LINUX_KARCH
) \
56 -v
$(LINUX_VERSION
) -k
$@
-a
$(KERNEL_LOADADDR
) \
57 -e
$(if
$(KERNEL_ENTRY
),$(KERNEL_ENTRY
),$(KERNEL_LOADADDR
)) \
59 -d
$(DEVICE_DTS_DIR
)/freescale
/traverse-ls1043s.dtb \
60 -D
"Traverse_LS1043S" -n
"ls1043s" -a
$(FDT_LOADADDR
) -c
1 \
61 -d
$(DEVICE_DTS_DIR
)/freescale
/traverse-ls1043v.dtb \
62 -D
"Traverse_LS1043V" -n
"ls1043v" -a
$(FDT_LOADADDR
) -c
2
63 PATH
=$(LINUX_DIR
)/scripts
/dtc
:$(PATH
) mkimage
-f
$@.its
$@.new
67 define Device
/fix-sysupgrade
68 DEVICE_COMPAT_VERSION
:= 2.0
69 DEVICE_COMPAT_MESSAGE
:= DTB was added to sysupgrade. Image format is different. \
70 To use sysupgrade You need to change firmware partition in bootargs to
"49m@0xf00000(firmware)" and saveenv. \
71 After that
, You can use
"sysupgrade -F".
74 define Device
/rework-sdcard-images
75 DEVICE_COMPAT_VERSION
:= 2.0
76 DEVICE_COMPAT_MESSAGE
:= SD-card images were changed to squashfs
+ ext4 overlay combined images. \
77 It is required to flash the entire sd-card again and manually copy config.
80 include $(SUBTARGET
).mk
82 $(eval
$(call BuildImage
))