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-kernel
42 $(TOPDIR
)/scripts
/sercomm-kernel-header.py \
44 --kernel-offset
$(SERCOMM_KERNEL_OFFSET
) \
45 --rootfs-offset
$(SERCOMM_ROOTFS_OFFSET
) \
46 --output-header
$@.hdr
47 dd if
=$@
>> $@.hdr
2>/dev
/null
51 define Build
/sercomm-kernel-factory
52 $(TOPDIR
)/scripts
/sercomm-kernel-header.py \
54 --kernel-offset
$(SERCOMM_KERNEL_OFFSET
) \
55 --rootfs-offset
$(SERCOMM_ROOTFS_OFFSET
) \
56 --output-header
$@.khdr1
57 $(TOPDIR
)/scripts
/sercomm-kernel-header.py \
59 --kernel-offset
$(SERCOMM_KERNEL2_OFFSET
) \
60 --rootfs-offset
$(SERCOMM_ROOTFS2_OFFSET
) \
61 --output-header
$@.khdr2
62 cat
$@.khdr1
$@.khdr2
> $@.khdr
63 dd if
=$@
>> $@.khdr
2>/dev
/null
67 define Build
/sercomm-mkhash
68 dd bs
=$$((0x400)) skip
=1 if
=$@ conv
=notrunc
2>/dev
/null | \
69 $(MKHASH
) md5 | awk
'{print $$1}' | tr
-d
'\n' | \
70 dd seek
=$$((0x1e0)) of
=$@ bs
=1 conv
=notrunc
2>/dev
/null
73 define Build
/sercomm-part-tag
74 $(call Build
/sercomm-part-tag-common
,$(word 1,$(1)) $@
)
77 define Build
/sercomm-part-tag-common
78 $(eval file
=$(word 2,$(1)))
79 $(TOPDIR
)/scripts
/sercomm-partition-tag.py \
80 --input-file
$(file
) \
81 --output-file
$(file
).tmp \
82 --part-name
$(word 1,$(1)) \
83 --part-version
$(SERCOMM_SWVER
)
84 mv
$(file
).tmp
$(file
)
87 define Build
/sercomm-payload
88 $(TOPDIR
)/scripts
/sercomm-pid.py \
89 --hw-version
$(SERCOMM_HWVER
) \
90 --hw-id
$(SERCOMM_HWID
) \
91 --sw-version
$(SERCOMM_SWVER
) \
93 --extra-padding-size
0x10 \
94 --extra-padding-first-byte
0x0a
95 $(TOPDIR
)/scripts
/sercomm-payload.py \
97 --output-file
$@.tmp \
103 define Build
/sercomm-pid-setbit
104 printf
1 | dd seek
=$$(($(1))) of
=$@ bs
=1 conv
=notrunc
2>/dev
/null
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