ramips: fix MikroTik 750Gr3 ports MAC addresses
[openwrt/staging/wigyori.git] / target / linux / ramips / image / Makefile
index 181c82587397e770019c390438601cbfc4e72d59..f93ea8ab2aea0e02b4ffdb5027d7db1d4c3fea25 100644 (file)
@@ -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