diff options
Diffstat (limited to 'target/linux/ramips/image')
| -rw-r--r-- | target/linux/ramips/image/Makefile | 7 | ||||
| -rw-r--r-- | target/linux/ramips/image/common-sercomm.mk | 87 | ||||
| -rw-r--r-- | target/linux/ramips/image/mt7621.mk | 14 |
3 files changed, 106 insertions, 2 deletions
diff --git a/target/linux/ramips/image/Makefile b/target/linux/ramips/image/Makefile index f481e6e4475..d48b2202311 100644 --- a/target/linux/ramips/image/Makefile +++ b/target/linux/ramips/image/Makefile @@ -5,7 +5,7 @@ include $(TOPDIR)/rules.mk include $(INCLUDE_DIR)/image.mk -DEVICE_VARS += LOADER_TYPE LOADER_FLASH_OFFS +DEVICE_VARS += LOADER_TYPE LOADER_FLASH_OFFS LZMA_TEXT_START DEVICE_VARS += NETGEAR_BOARD_ID NETGEAR_HW_ID DEVICE_VARS += BUFFALO_TAG_PLATFORM BUFFALO_TAG_VERSION BUFFALO_TAG_MINOR DEVICE_VARS += SEAMA_SIGNATURE SEAMA_MTDBLOCK @@ -22,6 +22,7 @@ ldrplatform-$(CONFIG_TARGET_ramips_mt7621) := mt7621 ldrflashstart-y := 0x1c000000 ldrflashstart-$(CONFIG_TARGET_ramips_mt7621) := 0x1fc00000 +LOADADDR := $(loadaddr-y) LOADER_PLATFORM := $(ldrplatform-y) LOADER_FLASH_START := $(ldrflashstart-y) @@ -45,7 +46,8 @@ define Build/loader-common PKG_BUILD_DIR="$@.src" \ TARGET_DIR="$(dir $@)" LOADER_NAME="$(notdir $@)" \ BOARD="$(BOARDNAME)" PLATFORM="$(LOADER_PLATFORM)" \ - LZMA_TEXT_START=0x81800000 LOADADDR=$(KERNEL_LOADADDR) \ + LZMA_TEXT_START=$(LZMA_TEXT_START) \ + LOADADDR=$(LOADADDR) \ $(1) compile loader.$(LOADER_TYPE) mv "$@.$(LOADER_TYPE)" "$@" rm -rf $@.src @@ -176,6 +178,7 @@ define Device/Default PROFILES = Default KERNEL := $(KERNEL_DTB) | uImage lzma KERNEL_LOADADDR := $(loadaddr-y) + LZMA_TEXT_START := 0x81800000 SOC := $(DEFAULT_SOC) DEVICE_DTS_DIR := ../dts DEVICE_DTS = $$(SOC)_$(1) diff --git a/target/linux/ramips/image/common-sercomm.mk b/target/linux/ramips/image/common-sercomm.mk new file mode 100644 index 00000000000..e96cba879c4 --- /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 diff --git a/target/linux/ramips/image/mt7621.mk b/target/linux/ramips/image/mt7621.mk index aa7adeee605..f79ba5fb5a4 100644 --- a/target/linux/ramips/image/mt7621.mk +++ b/target/linux/ramips/image/mt7621.mk @@ -2,6 +2,7 @@ # MT7621 Profiles # +include ./common-sercomm.mk include ./common-tp-link.mk DEFAULT_SOC := mt7621 @@ -285,6 +286,19 @@ define Device/beeline_smartbox-flash endef TARGET_DEVICES += beeline_smartbox-flash +define Device/beeline_smartbox-giga + $(Device/sercomm_dxx) + IMAGE_SIZE := 24576k + SERCOMM_HWID := DBE + SERCOMM_HWVER := 10100 + SERCOMM_SWVER := 1001 + DEVICE_VENDOR := Beeline + DEVICE_MODEL := SmartBox GIGA + DEVICE_PACKAGES := kmod-mt7603 kmod-mt7615e kmod-mt7663-firmware-ap \ + kmod-usb3 uboot-envtools +endef +TARGET_DEVICES += beeline_smartbox-giga + define Device/buffalo_wsr-1166dhp $(Device/dsa-migration) $(Device/uimage-lzma-loader) |
