@@ -4,7 +4,7 @@ IMAGE_KERNEL = $(word 1,$^)
4
4
IMAGE_ROOTFS = $(word 2,$^ )
5
5
6
6
define ModelNameLimit16
7
- $(shell expr substr "$(word 2, $(subst _, ,$(1 ) ) ) " 1 16 )
7
+ $(shell printf % .16s "$(word 2, $(subst _, ,$(1 ) ) ) ")
8
8
endef
9
9
10
10
define rootfs_align
@@ -27,8 +27,21 @@ define Build/append-kernel
27
27
dd if=$(IMAGE_KERNEL ) >> $@
28
28
endef
29
29
30
+ define Build/package-kernel-ubifs
31
+ mkdir $@ .kernelubifs
32
+ cp $@ $@ .kernelubifs/kernel
33
+ $(STAGING_DIR_HOST ) /bin/mkfs.ubifs \
34
+ $(KERNEL_UBIFS_OPTS ) \
35
+ -r $@ .kernelubifs $@
36
+ rm -r $@ .kernelubifs
37
+ endef
38
+
30
39
define Build/append-image
31
- dd if=$(BIN_DIR ) /$(DEVICE_IMG_PREFIX ) -$(1 ) >> $@
40
+ cp "$(BIN_DIR ) /$(DEVICE_IMG_PREFIX ) -$(1 ) " "$@ .stripmeta"
41
+ fwtool -s /dev/null -t "$@ .stripmeta" || :
42
+ fwtool -i /dev/null -t "$@ .stripmeta" || :
43
+ dd if="$@ .stripmeta" >> "$@ "
44
+ rm "$@ .stripmeta"
32
45
endef
33
46
34
47
ifdef IB
@@ -37,8 +50,12 @@ define Build/append-image-stage
37
50
endef
38
51
else
39
52
define Build/append-image-stage
40
- dd if=$(BIN_DIR ) /$(DEVICE_IMG_PREFIX ) -$(1 ) of=$(STAGING_DIR_IMAGE ) /$(BOARD )$(if $(SUBTARGET ) ,-$(SUBTARGET ) ) -$(DEVICE_NAME ) -$(1 )
41
- dd if=$(BIN_DIR ) /$(DEVICE_IMG_PREFIX ) -$(1 ) >> $@
53
+ cp "$(BIN_DIR ) /$(DEVICE_IMG_PREFIX ) -$(1 ) " "$@ .stripmeta"
54
+ fwtool -s /dev/null -t "$@ .stripmeta" || :
55
+ fwtool -i /dev/null -t "$@ .stripmeta" || :
56
+ dd if="$@ .stripmeta" of="$(STAGING_DIR_IMAGE ) /$(BOARD )$(if $(SUBTARGET ) ,-$(SUBTARGET ) ) -$(DEVICE_NAME ) -$(1 ) "
57
+ dd if="$@ .stripmeta" >> "$@ "
58
+ rm "$@ .stripmeta"
42
59
endef
43
60
endif
44
61
@@ -72,6 +89,7 @@ metadata_json = \
72
89
73
90
define Build/append-metadata
74
91
$(if $(SUPPORTED_DEVICES ) ,-echo $(call metadata_json) | fwtool -I - $@ )
92
+ sha256sum "$@ " | cut -d" " -f1 > "$@ .sha256sum"
75
93
[ ! -s "$(BUILD_KEY ) " -o ! -s "$(BUILD_KEY ) .ucert" -o ! -s "$@ " ] || { \
76
94
cp "$(BUILD_KEY ) .ucert" "$@ .ucert" ;\
77
95
usign -S -m "$@ " -s "$(BUILD_KEY ) " -x "$@ .sig" ;\
@@ -94,6 +112,15 @@ define Build/append-squashfs-fakeroot-be
94
112
cat $@ .fakesquashfs >> $@
95
113
endef
96
114
115
+ define Build/append-squashfs4-fakeroot
116
+ rm -rf $@ .fakefs $@ .fakesquashfs
117
+ mkdir $@ .fakefs
118
+ $(STAGING_DIR_HOST ) /bin/mksquashfs4 \
119
+ $@ .fakefs $@ .fakesquashfs \
120
+ -nopad -noappend -root-owned
121
+ cat $@ .fakesquashfs >> $@
122
+ endef
123
+
97
124
define Build/append-string
98
125
echo -n $(1 ) >> $@
99
126
endef
@@ -103,7 +130,7 @@ define Build/append-ubi
103
130
$(if $(UBOOTENV_IN_UBI ) ,--uboot-env) \
104
131
$(if $(KERNEL_IN_UBI ) ,--kernel $(IMAGE_KERNEL ) ) \
105
132
$(foreach part,$(UBINIZE_PARTS ) ,--part $(part ) ) \
106
- $(IMAGE_ROOTFS ) \
133
+ --rootfs $(IMAGE_ROOTFS ) \
107
134
$@ .tmp \
108
135
-p $(BLOCKSIZE:%k=%KiB ) -m $(PAGESIZE ) \
109
136
$(if $(SUBPAGESIZE ) ,-s $(SUBPAGESIZE ) ) \
@@ -113,6 +140,18 @@ define Build/append-ubi
113
140
rm $@ .tmp
114
141
endef
115
142
143
+ define Build/ubinize-kernel
144
+ cp $@ $@ .tmp
145
+ sh $(TOPDIR ) /scripts/ubinize-image.sh \
146
+ --kernel $@ .tmp \
147
+ $@ \
148
+ -p $(BLOCKSIZE:%k=%KiB ) -m $(PAGESIZE ) \
149
+ $(if $(SUBPAGESIZE ) ,-s $(SUBPAGESIZE ) ) \
150
+ $(if $(VID_HDR_OFFSET ) ,-O $(VID_HDR_OFFSET ) ) \
151
+ $(UBINIZE_OPTS )
152
+ rm $@ .tmp
153
+ endef
154
+
116
155
define Build/append-uboot
117
156
dd if=$(UBOOT_PATH ) >> $@
118
157
endef
@@ -170,11 +209,15 @@ define Build/check-size
170
209
@imagesize="$$(stat -c%s $@ ) "; \
171
210
limitsize="$$(($(subst k,* 1024,$(subst m, * 1024k,$(if $(1 ) ,$(1 ) ,$(IMAGE_SIZE ) ) ) ) ) )"; \
172
211
[ $$limitsize -ge $$imagesize ] || { \
173
- echo " WARNING: Image file $@ is too big: $$imagesize > $$limitsize" >&2 ; \
212
+ $( call ERROR_MESSAGE, WARNING: Image file $@ is too big: $$imagesize > $$limitsize) ; \
174
213
rm -f $@ ; \
175
214
}
176
215
endef
177
216
217
+ define Build/copy-file
218
+ cat "$(1 ) " > "$@ "
219
+ endef
220
+
178
221
define Build/elecom-product-header
179
222
$(eval product=$(word 1,$(1 ) ) )
180
223
$(eval fw=$(if $(word 2,$(1 ) ) ,$(word 2,$(1 ) ) ,$@ ) )
@@ -187,6 +230,19 @@ define Build/elecom-product-header
187
230
mv $(fw ) .new $(fw )
188
231
endef
189
232
233
+ define Build/elecom-wrc-gs-factory
234
+ $(eval product=$(word 1,$(1 ) ) )
235
+ $(eval version=$(word 2,$(1 ) ) )
236
+ $(eval hash_opt=$(word 3,$(1 ) ) )
237
+ $(MKHASH ) md5 $(hash_opt ) $@ >> $@
238
+ ( \
239
+ echo -n "ELECOM $(product ) v$(version ) " | \
240
+ dd bs=32 count=1 conv=sync; \
241
+ dd if=$@ ; \
242
+ ) > $@ .new
243
+ mv $@ .new $@
244
+ endef
245
+
190
246
define Build/elx-header
191
247
$(eval hw_id=$(word 1,$(1 ) ) )
192
248
$(eval xor_pattern=$(word 2,$(1 ) ) )
@@ -223,15 +279,18 @@ endef
223
279
define Build/fit
224
280
$(TOPDIR ) /scripts/mkits.sh \
225
281
-D $(DEVICE_NAME ) -o $@ .its -k $@ \
226
- -C $(word 1,$(1 ) ) $(if $(word 2,$(1 ) ) ,\
227
- $(if $(DEVICE_DTS_OVERLAY ) ,-d $(KERNEL_BUILD_DIR ) /image-$$(basename $(word 2,$(1 ) ) ) ,\
228
- -d $(word 2,$(1 ) ) ) ) \
282
+ -C $(word 1,$(1 ) ) \
283
+ $(if $(word 2,$(1 ) ) ,\
284
+ $(if $(findstring 11,$(if $(DEVICE_DTS_OVERLAY ) ,1)$(if $(findstring $(KERNEL_BUILD_DIR ) /image-,$(word 2,$(1 ) ) ) ,,1) ) , \
285
+ -d $(KERNEL_BUILD_DIR ) /image-$$(basename $(word 2,$(1 ) ) ) , \
286
+ -d $(word 2,$(1 ) ) ) ) \
229
287
$(if $(findstring with-rootfs,$(word 3,$(1 ) ) ) ,-r $(IMAGE_ROOTFS ) ) \
230
288
$(if $(findstring with-initrd,$(word 3,$(1 ) ) ) , \
231
289
$(if $(CONFIG_TARGET_ROOTFS_INITRAMFS_SEPARATE ) , \
232
290
-i $(KERNEL_BUILD_DIR ) /initrd.cpio$(strip $(call Build/initrd_compression) ) ) ) \
233
291
-a $(KERNEL_LOADADDR ) -e $(if $(KERNEL_ENTRY ) ,$(KERNEL_ENTRY ) ,$(KERNEL_LOADADDR ) ) \
234
292
$(if $(DEVICE_FDT_NUM ) ,-n $(DEVICE_FDT_NUM ) ) \
293
+ $(if $(DEVICE_DTS_DELIMITER ) ,-l $(DEVICE_DTS_DELIMITER ) ) \
235
294
$(if $(DEVICE_DTS_OVERLAY ) ,$(foreach dtso,$(DEVICE_DTS_OVERLAY ) , -O $(dtso ) :$(KERNEL_BUILD_DIR ) /image-$(dtso ) .dtb) ) \
236
295
-c $(if $(DEVICE_DTS_CONFIG ) ,$(DEVICE_DTS_CONFIG ) ,"config-1") \
237
296
-A $(LINUX_KARCH ) -v $(LINUX_VERSION )
@@ -256,6 +315,16 @@ define Build/install-dtb
256
315
)
257
316
endef
258
317
318
+ define Build/iptime-crc32
319
+ $(STAGING_DIR_HOST ) /bin/iptime-crc32 $(1 ) $@ $@ .new
320
+ mv $@ .new $@
321
+ endef
322
+
323
+ define Build/iptime-naspkg
324
+ $(STAGING_DIR_HOST ) /bin/iptime-naspkg $(1 ) $@ $@ .new
325
+ mv $@ .new $@
326
+ endef
327
+
259
328
define Build/jffs2
260
329
rm -rf $(KDIR_TMP ) /$(DEVICE_NAME ) /jffs2 && \
261
330
mkdir -p $(KDIR_TMP ) /$(DEVICE_NAME ) /jffs2/$$(dirname $(1 ) ) && \
@@ -318,6 +387,19 @@ define Build/netgear-dni
318
387
mv $@ .new $@
319
388
endef
320
389
390
+ define Build/netgear-encrypted-factory
391
+ $(TOPDIR ) /scripts/netgear-encrypted-factory.py \
392
+ --input-file $@ \
393
+ --output-file $@ \
394
+ --model $(NETGEAR_ENC_MODEL ) \
395
+ --region $(NETGEAR_ENC_REGION ) \
396
+ --version V1.0.0.0.$(VERSION_DIST ) .$(firstword $(subst -, ,$(REVISION ) ) ) \
397
+ --encryption-block-size 0x20000 \
398
+ --openssl-bin "$(STAGING_DIR_HOST ) /bin/openssl" \
399
+ --key 6865392d342b4d212964363d6d7e7765312c7132613364316e26322a5a5e2538 \
400
+ --iv 4a253169516c38243d6c6d2d3b384145
401
+ endef
402
+
321
403
define Build/openmesh-image
322
404
$(TOPDIR ) /scripts/om-fwupgradecfg-gen.sh \
323
405
"$(call param_get_default,ce_type,$(1 ) ,$(DEVICE_NAME ) ) " \
@@ -370,13 +452,6 @@ define Build/qemu-image
370
452
fi
371
453
endef
372
454
373
- define Build/qsdk-ipq-factory-mmc
374
- $(TOPDIR ) /scripts/mkits-qsdk-ipq-image.sh \
375
- $@ .its kernel $(IMAGE_KERNEL ) rootfs $(IMAGE_ROOTFS )
376
- PATH=$(LINUX_DIR ) /scripts/dtc:$(PATH ) mkimage -f $@ .its $@ .new
377
- @mv $@ .new $@
378
- endef
379
-
380
455
define Build/qsdk-ipq-factory-nand
381
456
$(TOPDIR ) /scripts/mkits-qsdk-ipq-image.sh \
382
457
$@ .its ubi $@
@@ -496,12 +571,12 @@ define Build/xor-image
496
571
endef
497
572
498
573
define Build/zip
574
+ rm -rf $@ .tmp
499
575
mkdir $@ .tmp
500
- mv $@ $@ .tmp/$(1 )
501
-
502
- zip -j -X \
503
- $(if $(SOURCE_DATE_EPOCH ) ,--mtime="$(SOURCE_DATE_EPOCH ) ") \
504
- $@ $@ .tmp/$(if $(1 ) ,$(1 ) ,$@ )
576
+ mv $@ $@ .tmp/$(word 1,$(1 ) )
577
+ TZ=UTC $(STAGING_DIR_HOST ) /bin/zip -j -X \
578
+ $(wordlist 2,$(words $(1 ) ) ,$(1 ) ) \
579
+ $@ $@ .tmp/$(if $(word 1,$(1 ) ) ,$(word 1,$(1 ) ) ,$$(basename $@ ) )
505
580
rm -rf $@ .tmp
506
581
endef
507
582
0 commit comments