Browse Source

ramips: sercomm.mk: preparation for Sercomm s1500 devices support

This commit moves a part of the code from the "sercomm-factory-cqr" recipe
to the separate "sercomm-mkhash" recipe. This simplifies recipes and
allows insert additional recipes between these code blocks (required for
the future support for Beeline SmartBox PRO router).

dd automatically fills the file by 0x00 if the filesize is less than
offset where we start writing. We drop such dd command so we need to add
--extra-padding-size 0x190 to the sercomm-pid.py call.

Signed-off-by: Mikhail Zhilkin <[email protected]>
Mikhail Zhilkin 2 years ago
parent
commit
f560be583a
1 changed files with 9 additions and 5 deletions
  1. 9 5
      target/linux/ramips/image/common-sercomm.mk

+ 9 - 5
target/linux/ramips/image/common-sercomm.mk

@@ -22,14 +22,12 @@ define Build/sercomm-factory-cqr
 		--hw-version $(SERCOMM_HWVER) \
 		--hw-id $(SERCOMM_HWID) \
 		--sw-version $(SERCOMM_SWVER) \
-		--pid-file [email protected]
+		--pid-file [email protected] \
+		--extra-padding-size 0x190
 	printf $$(stat -c%s $(IMAGE_KERNEL)) | \
 		dd seek=$$((0x70)) [email protected] bs=1 conv=notrunc 2>/dev/null
 	printf $$(($$(stat -c%s $@)-$$(stat -c%s $(IMAGE_KERNEL))-$$((0x200)))) | \
 		dd seek=$$((0x80)) [email protected] bs=1 conv=notrunc 2>/dev/null
-	dd bs=$$((0x200)) skip=1 if=$@ conv=notrunc 2>/dev/null | \
-		$(MKHASH) md5 | awk '{print $$1}' | tr -d '\n' | \
-		dd seek=$$((0x1e0)) [email protected] bs=1 conv=notrunc 2>/dev/null
 	dd if=$@ >> [email protected] 2>/dev/null
 	mv [email protected] $@
 endef
@@ -60,6 +58,12 @@ define Build/sercomm-kernel-factory
 	mv [email protected] $@
 endef
 
+define Build/sercomm-mkhash
+	dd bs=$$((0x400)) skip=1 if=$@ conv=notrunc 2>/dev/null | \
+		$(MKHASH) md5 | awk '{print $$1}' | tr -d '\n' | \
+		dd seek=$$((0x1e0)) of=$@ bs=1 conv=notrunc 2>/dev/null
+endef
+
 define Build/sercomm-part-tag
 	$(call Build/sercomm-part-tag-common,$(word 1,$(1)) $@)
 endef
@@ -118,7 +122,7 @@ define Device/sercomm_cxx
   IMAGE/sysupgrade.bin := append-kernel | sercomm-kernel | \
 	sysupgrade-tar kernel=$$$$@ | append-metadata
   IMAGE/factory.img := append-kernel | sercomm-kernel-factory | \
-	append-ubi | sercomm-factory-cqr
+	append-ubi | sercomm-factory-cqr | sercomm-mkhash
 endef
 
 define Device/sercomm_dxx