1 DEVICE_VARS
+= SERCOMM_KERNEL_OFFSET SERCOMM_ROOTFS_OFFSET
2 DEVICE_VARS
+= SERCOMM_KERNEL2_OFFSET SERCOMM_ROOTFS2_OFFSET
4 define Build
/sercomm-append-tail
5 printf
16 | dd seek
=$$((0x90)) of
=$@ bs
=1 conv
=notrunc
2>/dev
/null
6 printf
11223344556677889900112233445566 | \
7 sed
's/../\\x&/g' | xargs
-d . printf
>> $@
10 define Build
/sercomm-crypto
11 $(TOPDIR
)/scripts
/sercomm-crypto.py \
14 --output-file
$@.ser \
15 --version
$(SERCOMM_SWVER
)
16 $(STAGING_DIR_HOST
)/bin
/openssl enc
-md md5
-aes-256-cbc \
20 -iv
00000000000000000000000000000000
21 dd if
=$@.enc
>> $@.ser
2>/dev
/null
26 define Build
/sercomm-factory-cqr
27 $(TOPDIR
)/scripts
/sercomm-pid.py \
28 --hw-version
$(SERCOMM_HWVER
) \
29 --hw-id
$(SERCOMM_HWID
) \
30 --sw-version
$(SERCOMM_SWVER
) \
32 --extra-padding-size
0x190
33 printf
$$(stat
-c
%s
$(IMAGE_KERNEL
)) | \
34 dd seek
=$$((0x70)) of
=$@.fhdr bs
=1 conv
=notrunc
2>/dev
/null
35 printf
$$(($$(stat
-c
%s
$@
)-$$(stat
-c
%s
$(IMAGE_KERNEL
))-$$((0x200)))) | \
36 dd seek
=$$((0x80)) of
=$@.fhdr bs
=1 conv
=notrunc
2>/dev
/null
37 dd if
=$@
>> $@.fhdr
2>/dev
/null
41 define Build
/sercomm-fix-buc-pid
42 printf
1 | dd seek
=$$((0x13)) of
=$@ bs
=1 conv
=notrunc
2>/dev
/null
45 define Build
/sercomm-kernel
46 $(TOPDIR
)/scripts
/sercomm-kernel-header.py \
48 --kernel-offset
$(SERCOMM_KERNEL_OFFSET
) \
49 --rootfs-offset
$(SERCOMM_ROOTFS_OFFSET
) \
50 --output-header
$@.hdr
51 dd if
=$@
>> $@.hdr
2>/dev
/null
55 define Build
/sercomm-kernel-factory
56 $(TOPDIR
)/scripts
/sercomm-kernel-header.py \
58 --kernel-offset
$(SERCOMM_KERNEL_OFFSET
) \
59 --rootfs-offset
$(SERCOMM_ROOTFS_OFFSET
) \
60 --output-header
$@.khdr1
61 $(TOPDIR
)/scripts
/sercomm-kernel-header.py \
63 --kernel-offset
$(SERCOMM_KERNEL2_OFFSET
) \
64 --rootfs-offset
$(SERCOMM_ROOTFS2_OFFSET
) \
65 --output-header
$@.khdr2
66 cat
$@.khdr1
$@.khdr2
> $@.khdr
67 dd if
=$@
>> $@.khdr
2>/dev
/null
71 define Build
/sercomm-mkhash
72 dd bs
=$$((0x400)) skip
=1 if
=$@ conv
=notrunc
2>/dev
/null | \
73 $(MKHASH
) md5 | awk
'{print $$1}' | tr
-d
'\n' | \
74 dd seek
=$$((0x1e0)) of
=$@ bs
=1 conv
=notrunc
2>/dev
/null
77 define Build
/sercomm-part-tag
78 $(call Build
/sercomm-part-tag-common
,$(word 1,$(1)) $@
)
81 define Build
/sercomm-part-tag-common
82 $(eval file
=$(word 2,$(1)))
83 $(TOPDIR
)/scripts
/sercomm-partition-tag.py \
84 --input-file
$(file
) \
85 --output-file
$(file
).tmp \
86 --part-name
$(word 1,$(1)) \
87 --part-version
$(SERCOMM_SWVER
)
88 mv
$(file
).tmp
$(file
)
91 define Build
/sercomm-payload
92 $(TOPDIR
)/scripts
/sercomm-pid.py \
93 --hw-version
$(SERCOMM_HWVER
) \
94 --hw-id
$(SERCOMM_HWID
) \
95 --sw-version
$(SERCOMM_SWVER
) \
97 --extra-padding-size
0x10 \
98 --extra-padding-first-byte
0x0a
99 $(TOPDIR
)/scripts
/sercomm-payload.py \
101 --output-file
$@.tmp \
107 define Build
/sercomm-prepend-tagged-kernel
108 $(CP
) $(IMAGE_KERNEL
) $(IMAGE_KERNEL
).tagged
109 $(call Build
/sercomm-part-tag-common
,$(word 1,$(1)) \
110 $(IMAGE_KERNEL
).tagged
)
111 dd if
=$@
>> $(IMAGE_KERNEL
).tagged
2>/dev
/null
112 mv
$(IMAGE_KERNEL
).tagged
$@
115 define Build
/sercomm-reset-slot1-chksum
116 printf
"\xff\xff\xff\xff" | \
117 dd of
=$@ seek
=$$((0x118)) bs
=1 conv
=notrunc
2>/dev
/null
120 define Device
/sercomm
123 IMAGES
+= factory.img
126 define Device
/sercomm_cxx_dxx
129 KERNEL_LOADADDR
:= 0x81001000
130 LZMA_TEXT_START
:= 0x82800000
131 SERCOMM_KERNEL_OFFSET
:= 0x400100
132 SERCOMM_ROOTFS_OFFSET
:= 0x1000000
135 define Device
/sercomm_cxx
136 $(Device
/sercomm_cxx_dxx
)
137 SERCOMM_KERNEL2_OFFSET
:= 0xa00100
138 SERCOMM_ROOTFS2_OFFSET
:= 0x3000000
139 KERNEL
:= kernel-bin | append-dtb | lzma | loader-kernel | lzma
-a0 | \
141 IMAGE
/sysupgrade.bin
:= append-kernel | sercomm-kernel | \
142 sysupgrade-tar kernel
=$$$$@ | append-metadata
143 IMAGE
/factory.img
:= append-kernel | sercomm-kernel-factory | \
144 append-ubi | sercomm-factory-cqr | sercomm-mkhash
147 define Device
/sercomm_dxx
148 $(Device
/sercomm_cxx_dxx
)
149 KERNEL
:= kernel-bin | append-dtb | lzma | loader-kernel | lzma
-a0 | \
150 uImage lzma | sercomm-kernel
151 KERNEL_INITRAMFS
:= kernel-bin | append-dtb | lzma | loader-kernel | \
152 lzma
-a0 | uImage lzma
153 IMAGE
/sysupgrade.bin
:= sysupgrade-tar | append-metadata
154 IMAGE
/factory.img
:= append-ubi | check-size | \
155 sercomm-part-tag rootfs | sercomm-prepend-tagged-kernel kernel | \
156 gzip | sercomm-payload | sercomm-crypto
159 define Device
/sercomm_s1500
161 SERCOMM_KERNEL_OFFSET
:= 0x1700100
162 SERCOMM_ROOTFS_OFFSET
:= 0x1f00000
163 SERCOMM_KERNEL2_OFFSET
:= 0x1b00100
164 KERNEL
:= kernel-bin | append-dtb | lzma | loader-kernel | lzma
-a0 | \
166 KERNEL_INITRAMFS
:= kernel-bin | append-dtb | lzma | loader-kernel | \
167 lzma
-a0 | uImage lzma
168 IMAGE
/sysupgrade.bin
:= append-kernel | sercomm-kernel | \
169 sysupgrade-tar kernel
=$$$$@ | append-metadata
170 DEVICE_PACKAGES
:= kmod-mt76x2 kmod-usb3