X-Git-Url: http://git.openwrt.org/?p=openwrt%2Fstaging%2Fwigyori.git;a=blobdiff_plain;f=target%2Flinux%2Framips%2Fimage%2FMakefile;h=f93ea8ab2aea0e02b4ffdb5027d7db1d4c3fea25;hp=181c82587397e770019c390438601cbfc4e72d59;hb=a10537f67400e910da153ebf3b478d931dd557f2;hpb=402138d12dca1a24d2837145c8d31c9d35769b9d diff --git a/target/linux/ramips/image/Makefile b/target/linux/ramips/image/Makefile index 181c825873..f93ea8ab2a 100644 --- a/target/linux/ramips/image/Makefile +++ b/target/linux/ramips/image/Makefile @@ -7,7 +7,8 @@ include $(TOPDIR)/rules.mk include $(INCLUDE_DIR)/image.mk -DEVICE_VARS += DTS IMAGE_SIZE NETGEAR_BOARD_ID NETGEAR_HW_ID +DEVICE_VARS += LOADER_TYPE +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 DEVICE_VARS += SERCOMM_HWID SERCOMM_HWVER SERCOMM_SWVER @@ -17,20 +18,28 @@ loadaddr-y := 0x80000000 loadaddr-$(CONFIG_TARGET_ramips_rt288x) := 0x88000000 loadaddr-$(CONFIG_TARGET_ramips_mt7621) := 0x80001000 +ldrplatform-y := ralink +ldrplatform-$(CONFIG_TARGET_ramips_mt7621) := mt7621 + KERNEL_LOADADDR := $(loadaddr-y) +LOADER_PLATFORM := $(ldrplatform-y) KERNEL_DTB = kernel-bin | append-dtb | lzma define Device/Default PROFILES = Default KERNEL := $(KERNEL_DTB) | uImage lzma - MTK_SOC := + SOC := $(DEFAULT_SOC) DEVICE_DTS_DIR := ../dts - DEVICE_DTS = $$(MTK_SOC)_$(1) + DEVICE_DTS = $$(SOC)_$(1) IMAGES := sysupgrade.bin - IMAGE_SIZE := $(ralink_default_fw_size_8M) SUPPORTED_DEVICES := $(subst _,$(comma),$(1)) sysupgrade_bin := append-kernel | append-rootfs | pad-rootfs - IMAGE/sysupgrade.bin := append-kernel | append-rootfs | pad-rootfs | append-metadata | check-size $$$$(IMAGE_SIZE) + IMAGE/sysupgrade.bin := append-kernel | append-rootfs | pad-rootfs | append-metadata | check-size +endef + +define Device/uimage-lzma-loader + LOADER_TYPE := bin + KERNEL := kernel-bin | append-dtb | lzma | loader-kernel | uImage none endef define Device/seama @@ -42,21 +51,23 @@ define Device/seama # - 36 bytes of META data (4-bytes aligned) IMAGE/default := append-kernel | pad-offset $$$$(BLOCKSIZE) 64 | append-rootfs IMAGE/sysupgrade.bin := \ - $$(IMAGE/default) | seama | pad-rootfs | append-metadata | check-size $$$$(IMAGE_SIZE) + $$(IMAGE/default) | seama | pad-rootfs | append-metadata | check-size IMAGE/factory.bin := \ - $$(IMAGE/default) | pad-rootfs -x 64 | seama | seama-seal | check-size $$$$(IMAGE_SIZE) + $$(IMAGE/default) | pad-rootfs -x 64 | seama | seama-seal | check-size SEAMA_SIGNATURE := endef define Build/jcg-header - $(STAGING_DIR_HOST)/bin/jcgimage -v $(1) $(if $(JCG_MAXSIZE), -m $(JCG_MAXSIZE),) -u $@ -o $@.new + $(STAGING_DIR_HOST)/bin/jcgimage -v $(1) \ + $(if $(JCG_MAXSIZE), -m $$(($(subst k, * 1024,$(JCG_MAXSIZE)))),) \ + -u $@ -o $@.new mv $@.new $@ endef define Build/trx $(STAGING_DIR_HOST)/bin/trx $(1) \ -o $@ \ - -m $(IMAGE_SIZE) \ + -m $$(($(subst k, * 1024,$(IMAGE_SIZE)))) \ -f $(IMAGE_KERNEL) \ -a 4 -f $(IMAGE_ROOTFS) endef @@ -66,7 +77,7 @@ define Build/loader-common $(MAKE) -C lzma-loader \ PKG_BUILD_DIR="$@.src" \ TARGET_DIR="$(dir $@)" LOADER_NAME="$(notdir $@)" \ - BOARD="$(BOARDNAME)" PLATFORM="$(PLATFORM)" \ + BOARD="$(BOARDNAME)" PLATFORM="$(LOADER_PLATFORM)" \ LZMA_TEXT_START=0x82000000 LOADADDR=$(KERNEL_LOADADDR) \ $(1) compile loader.$(LOADER_TYPE) mv "$@.$(LOADER_TYPE)" "$@" @@ -90,6 +101,26 @@ define Build/relocate-kernel rm -rf $@.relocate endef +define Build/elx-header + $(eval hw_id=$(word 1,$(1))) + $(eval xor_pattern=$(word 2,$(1))) + ( \ + echo -ne "\x00\x00\x00\x00\x00\x00\x00\x03" | \ + dd bs=42 count=1 conv=sync; \ + hw_id="$(hw_id)"; \ + echo -ne "\x$${hw_id:0:2}\x$${hw_id:2:2}\x$${hw_id:4:2}\x$${hw_id:6:2}" | \ + dd bs=20 count=1 conv=sync; \ + echo -ne "$$(printf '%08x' $$(stat -c%s $@) | fold -s2 | xargs -I {} echo \\x{} | tr -d '\n')" | \ + dd bs=8 count=1 conv=sync; \ + echo -ne "$$($(STAGING_DIR_HOST)/bin/mkhash md5 $@ | fold -s2 | xargs -I {} echo \\x{} | tr -d '\n')" | \ + dd bs=58 count=1 conv=sync; \ + ) > $(KDIR)/tmp/$(DEVICE_NAME).header + $(call Build/xor-image,-p $(xor_pattern) -x) + cat $(KDIR)/tmp/$(DEVICE_NAME).header $@ > $@.new + mv $@.new $@ + rm -rf $(KDIR)/tmp/$(DEVICE_NAME).header +endef + define Build/umedia-header fix-u-media-header -T 0x46 -B $(1) -i $@ -o $@.new && mv $@.new $@ endef @@ -148,10 +179,10 @@ define Build/sercom-footer $(call Build/sercom-seal,-f) endef -ralink_default_fw_size_4M=3866624 -ralink_default_fw_size_8M=8060928 -ralink_default_fw_size_16M=16121856 -ralink_default_fw_size_32M=33226752 +define Build/fonfxcimage + uimage_padhdr -i $@ -o $@.new + mv $@.new $@ +endef ifeq ($(SUBTARGET),rt288x) include rt288x.mk