diff options
Diffstat (limited to 'target/linux/ramips/image/common-sercomm.mk')
-rw-r--r-- | target/linux/ramips/image/common-sercomm.mk | 87 |
1 files changed, 87 insertions, 0 deletions
diff --git a/target/linux/ramips/image/common-sercomm.mk b/target/linux/ramips/image/common-sercomm.mk new file mode 100644 index 0000000000..e96cba879c --- /dev/null +++ b/target/linux/ramips/image/common-sercomm.mk @@ -0,0 +1,87 @@ +DEVICE_VARS += SERCOMM_KERNEL_OFFSET SERCOMM_ROOTFS_OFFSET + +define Build/sercomm-crypto + $(TOPDIR)/scripts/sercomm-crypto.py \ + --input-file $@ \ + --key-file $@.key \ + --output-file $@.ser \ + --version $(SERCOMM_SWVER) + $(STAGING_DIR_HOST)/bin/openssl enc -md md5 -aes-256-cbc \ + -in $@ \ + -out $@.enc \ + -K `cat $@.key` \ + -iv 00000000000000000000000000000000 + dd if=$@.enc >> $@.ser 2>/dev/null + mv $@.ser $@ + rm -f $@.enc $@.key +endef + +define Build/sercomm-kernel + $(TOPDIR)/scripts/sercomm-kernel-header.py \ + --kernel-image $@ \ + --kernel-offset $(SERCOMM_KERNEL_OFFSET) \ + --rootfs-offset $(SERCOMM_ROOTFS_OFFSET) \ + --output-header $@.hdr + dd if=$@ >> $@.hdr 2>/dev/null + mv $@.hdr $@ +endef + +define Build/sercomm-part-tag + $(call Build/sercomm-part-tag-common,$(word 1,$(1)) $@) +endef + +define Build/sercomm-part-tag-common + $(eval file=$(word 2,$(1))) + $(TOPDIR)/scripts/sercomm-partition-tag.py \ + --input-file $(file) \ + --output-file $(file).tmp \ + --part-name $(word 1,$(1)) \ + --part-version $(SERCOMM_SWVER) + mv $(file).tmp $(file) +endef + +define Build/sercomm-payload + $(TOPDIR)/scripts/sercomm-pid.py \ + --hw-version $(SERCOMM_HWVER) \ + --hw-id $(SERCOMM_HWID) \ + --sw-version $(SERCOMM_SWVER) \ + --pid-file $@.pid \ + --extra-padding-size 0x10 \ + --extra-padding-first-byte 0x0a + $(TOPDIR)/scripts/sercomm-payload.py \ + --input-file $@ \ + --output-file $@.tmp \ + --pid "$$(cat $@.pid | od -t x1 -An -v | tr -d '\n')" + mv $@.tmp $@ + rm $@.pid +endef + +define Build/sercomm-prepend-tagged-kernel + $(CP) $(IMAGE_KERNEL) $(IMAGE_KERNEL).tagged + $(call Build/sercomm-part-tag-common,$(word 1,$(1)) \ + $(IMAGE_KERNEL).tagged) + dd if=$@ >> $(IMAGE_KERNEL).tagged 2>/dev/null + mv $(IMAGE_KERNEL).tagged $@ +endef + +define Device/sercomm_dxx + $(Device/dsa-migration) + BLOCKSIZE := 128k + PAGESIZE := 2048 + KERNEL_SIZE := 6144k + UBINIZE_OPTS := -E 5 + LOADER_TYPE := bin + KERNEL_LOADADDR := 0x81001000 + LZMA_TEXT_START := 0x82800000 + KERNEL := kernel-bin | append-dtb | lzma | loader-kernel | lzma -a0 | \ + uImage lzma | sercomm-kernel + KERNEL_INITRAMFS := kernel-bin | append-dtb | lzma | loader-kernel | \ + lzma -a0 | uImage lzma + IMAGES += factory.img + IMAGE/sysupgrade.bin := sysupgrade-tar | append-metadata + IMAGE/factory.img := append-ubi | sercomm-part-tag rootfs | \ + sercomm-prepend-tagged-kernel kernel | gzip | sercomm-payload | \ + sercomm-crypto + SERCOMM_KERNEL_OFFSET := 0x400100 + SERCOMM_ROOTFS_OFFSET := 0x1000000 +endef |