ralink: add support for firewrt
[openwrt/openwrt.git] / target / linux / ramips / image / Makefile
index 21c8a8ddc95f24329b60b116b76bb9168714f1a7..e4dea9b7b53ee459087dabb9981fb649894f573c 100644 (file)
@@ -51,6 +51,24 @@ define Build/trx
                -a 4 -f $(word 2,$^)
 endef
 
+define Build/seama
+       $(STAGING_DIR_HOST)/bin/seama -i $@ $(1)
+       mv $@.seama $@
+endef
+
+define Build/seama-seal
+       $(call Build/seama,-s $@.seama $(1))
+endef
+
+define Build/relocate-kernel
+       ( \
+               dd if=$(KDIR)/relocate/loader.bin bs=32 conv=sync && \
+               perl -e '@s = stat("$@"); print pack("V", @s[7])' && \
+               cat $@ \
+       ) > $@.new
+       mv $@.new $@
+endef
+
 define MkCombineduImage
        $(call PatchKernelLzma,$(2),$(3))
        if [ `stat -c%s "$(KDIR)/vmlinux-$(2).bin.lzma"` -gt `expr $(4) - 64` ]; then \
@@ -546,6 +564,8 @@ Image/Build/Profile/NCS601W=$(call BuildFirmware/Default8M/$(1),$(1),ncs601W,NCS
 nw718_mtd_size=3801088
 Image/Build/Profile/NW718=$(call BuildFirmware/CustomFlashFactory/$(1),$(1),nw718m,NW718,$(nw718_mtd_size),ARA1B4NCRNW718;1,factory)
 
+Image/Build/Profile/M2M=$(call BuildFirmware/Default8M/$(1),$(1),m2m,M2M,Linux Kernel Image)
+
 Image/Build/Profile/OMNI-EMB=$(call BuildFirmware/Default8M/$(1),$(1),omni-emb,OMNI-EMB)
 
 Image/Build/Profile/OMNI-PLUG=$(call BuildFirmware/Default8M/$(1),$(1),omni-plug,OMNI-PLUG)
@@ -694,6 +714,7 @@ define Image/Build/Profile/Default
        $(call Image/Build/Profile/HT-TM02,$(1))
        $(call Image/Build/Profile/HW550-3G,$(1))
        $(call Image/Build/Profile/IP2202,$(1))
+       $(call Image/Build/Profile/M2M,$(1))
        $(call Image/Build/Profile/M3,$(1))
        $(call Image/Build/Profile/M4,$(1))
        $(call Image/Build/Profile/MOFI3500-3GN,$(1))
@@ -872,7 +893,7 @@ endif
 #
 
 ifeq ($(SUBTARGET),mt7621)
-  TARGET_DEVICES += mt7621 wsr-600 wsr-1166
+  TARGET_DEVICES += mt7621 wsr-600 wsr-1166 dir-860l-b1 firewrt
 endif
 
 define Device/mt7621
@@ -889,6 +910,26 @@ define Device/wsr-1166
   IMAGE/sysupgrade.bin := trx | pad-rootfs
 endef
 
+define Device/dir-860l-b1
+  DTS := DIR-860L-B1
+  IMAGES += factory.bin
+  KERNEL := kernel-bin | patch-dtb | relocate-kernel | lzma | uImage lzma
+  IMAGE/sysupgrade.bin := \
+       append-kernel | pad-offset 65536 64 | append-rootfs | \
+       seama -m "dev=/dev/mtdblock/2" -m "type=firmware" | \
+       pad-rootfs | check-size $$$$(IMAGE_SIZE)
+  IMAGE/factory.bin := \
+       append-kernel | pad-offset 65536 64 | append-rootfs | pad-rootfs -x 64 | \
+       seama -m "dev=/dev/mtdblock/2" -m "type=firmware" | \
+       check-size $$$$(IMAGE_SIZE) | \
+       seama-seal -m "signature=wrgac13_dlink.2013gui_dir860lb"
+endef
+
+define Device/firewrt
+  DTS := FIREWRT
+  IMAGE_SIZE := $(ralink_default_fw_size_8M)
+endef
+
 #
 # MT7628 Profiles
 #
@@ -929,4 +970,12 @@ define Image/Build
 endef
 endif
 
+ifeq ($(SUBTARGET),mt7621)
+define Build/Compile
+       rm -rf $(KDIR)/relocate
+       $(CP) ./relocate $(KDIR)
+       $(MAKE) -C $(KDIR)/relocate KERNEL_ADDR=$(KERNEL_LOADADDR) CROSS_COMPILE=$(TARGET_CROSS)
+endef
+endif
+
 $(eval $(call BuildImage))