Просмотр исходного кода

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 лет назад
Родитель
Сommit
f560be583a
1 измененных файлов с 9 добавлено и 5 удалено
  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-version $(SERCOMM_HWVER) \
 		--hw-id $(SERCOMM_HWID) \
 		--hw-id $(SERCOMM_HWID) \
 		--sw-version $(SERCOMM_SWVER) \
 		--sw-version $(SERCOMM_SWVER) \
-		--pid-file [email protected]
+		--pid-file [email protected] \
+		--extra-padding-size 0x190
 	printf $$(stat -c%s $(IMAGE_KERNEL)) | \
 	printf $$(stat -c%s $(IMAGE_KERNEL)) | \
 		dd seek=$$((0x70)) [email protected] bs=1 conv=notrunc 2>/dev/null
 		dd seek=$$((0x70)) [email protected] bs=1 conv=notrunc 2>/dev/null
 	printf $$(($$(stat -c%s $@)-$$(stat -c%s $(IMAGE_KERNEL))-$$((0x200)))) | \
 	printf $$(($$(stat -c%s $@)-$$(stat -c%s $(IMAGE_KERNEL))-$$((0x200)))) | \
 		dd seek=$$((0x80)) [email protected] bs=1 conv=notrunc 2>/dev/null
 		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
 	dd if=$@ >> [email protected] 2>/dev/null
 	mv [email protected] $@
 	mv [email protected] $@
 endef
 endef
@@ -60,6 +58,12 @@ define Build/sercomm-kernel-factory
 	mv [email protected] $@
 	mv [email protected] $@
 endef
 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
 define Build/sercomm-part-tag
 	$(call Build/sercomm-part-tag-common,$(word 1,$(1)) $@)
 	$(call Build/sercomm-part-tag-common,$(word 1,$(1)) $@)
 endef
 endef
@@ -118,7 +122,7 @@ define Device/sercomm_cxx
   IMAGE/sysupgrade.bin := append-kernel | sercomm-kernel | \
   IMAGE/sysupgrade.bin := append-kernel | sercomm-kernel | \
 	sysupgrade-tar kernel=$$$$@ | append-metadata
 	sysupgrade-tar kernel=$$$$@ | append-metadata
   IMAGE/factory.img := append-kernel | sercomm-kernel-factory | \
   IMAGE/factory.img := append-kernel | sercomm-kernel-factory | \
-	append-ubi | sercomm-factory-cqr
+	append-ubi | sercomm-factory-cqr | sercomm-mkhash
 endef
 endef
 
 
 define Device/sercomm_dxx
 define Device/sercomm_dxx