ar71xx: create firmware images for the TL-WR941ND v3 boards
[oweals/openwrt.git] / target / linux / ar71xx / image / Makefile
index e57808e5c51715160603dae8e99f9455688a5ad5..dfcc5f6f08d1d960ce15c461ad3950658e2ff7c3 100644 (file)
@@ -7,14 +7,12 @@
 include $(TOPDIR)/rules.mk
 include $(INCLUDE_DIR)/image.mk
 
-IMGNAME:=$(BIN_DIR)/openwrt-$(BOARD)
-
 define imgname
-$(IMGNAME)-$(2)-$(patsubst jffs2-%,jffs2,$(patsubst squashfs-%,squashfs,$(1)))
+$(BIN_DIR)/$(IMG_PREFIX)-$(2)-$(patsubst jffs2-%,jffs2,$(patsubst squashfs-%,squashfs,$(1)))
 endef
 
-VMLINUX:=$(IMGNAME)-vmlinux
-UIMAGE:=$(IMGNAME)-uImage
+VMLINUX:=$(BIN_DIR)/$(IMG_PREFIX)-vmlinux
+UIMAGE:=$(BIN_DIR)/$(IMG_PREFIX)-uImage
 fs_squash:=squashfs-only
 fs_all:=all
 fs_4k:=4k
@@ -26,8 +24,8 @@ ifeq ($(CONFIG_TARGET_ROOTFS_INITRAMFS),y)
        fs_4k:=initramfs
        fs_64k:=initramfs
        fs_128k:=initramfs
-       VMLINUX:=$(IMGNAME)-vmlinux-initramfs
-       UIMAGE:=$(IMGNAME)-uImage-initramfs
+       VMLINUX:=$(BIN_DIR)/$(IMG_PREFIX)-vmlinux-initramfs
+       UIMAGE:=$(BIN_DIR)/$(IMG_PREFIX)-uImage-initramfs
 endif
 
 define CompressLzma
@@ -129,7 +127,7 @@ define Image/Build/WZRHPG300NH
        fi; fi
 endef
 
-cameo_mtdlayout=mtdparts=spi0.0:128k(u-boot)ro,64k(config)ro,896k(kernel),2880k(rootfs),64k(art)ro,3776k@0x30000(firmware)
+cameo_mtdlayout=mtdparts=spi0.0:128k(u-boot)ro,64k(config)ro,896k(kernel),2944k(rootfs),64k(art)ro,3840k@0x30000(firmware)
 define Image/Build/Cameo
        $(call PatchKernelLzma,$(2),$(3) $(cameo_mtdlayout))
        if [ `stat -c%s "$(KDIR)/vmlinux-$(2).bin.lzma"` -gt 917504 ]; then \
@@ -248,11 +246,11 @@ define Image/Build/UBNTXM
        -$(STAGING_DIR_HOST)/bin/mkfwimage \
                -B $(4) -v $(5).$(6).OpenWrt.$(REVISION) \
                -k $(KDIR)/vmlinux-$(2).uImage \
-               -r $(BIN_DIR)/openwrt-$(BOARD)-root.$(1) \
+               -r $(BIN_DIR)/$(IMG_PREFIX)-root.$(1) \
                -o $(call imgname,$(1),$(2))-factory.bin
        ( \
                dd if=$(KDIR)/vmlinux-$(2).uImage; \
-               dd if=$(BIN_DIR)/openwrt-$(BOARD)-root.$(1); \
+               dd if=$(BIN_DIR)/$(IMG_PREFIX)-root.$(1); \
        ) > $(call imgname,$(1),$(2))-sysupgrade.bin
 endef
 
@@ -262,11 +260,11 @@ define Image/Build/UBNT
        -$(STAGING_DIR_HOST)/bin/mkfwimage \
                -B $(4) -v $(5).$(6).OpenWrt.$(REVISION) \
                -k $(KDIR)/vmlinux-$(2).lzma \
-               -r $(BIN_DIR)/openwrt-$(BOARD)-root.$(1) \
+               -r $(BIN_DIR)/$(IMG_PREFIX)-root.$(1) \
                -o $(call imgname,$(1),$(2))-factory.bin
        -sh $(TOPDIR)/scripts/combined-image.sh \
                "$(KDIR)/vmlinux-$(2).lzma" \
-               "$(BIN_DIR)/openwrt-$(BOARD)-root.$(1)" \
+               "$(BIN_DIR)/$(IMG_PREFIX)-root.$(1)" \
                $(call imgname,$(1),$(2))-sysupgrade.bin
 endef
 
@@ -298,12 +296,12 @@ define Image/Build/TPLINK
        -$(STAGING_DIR_HOST)/bin/mktplinkfw \
                -B $(4) -N OpenWrt -V $(REVISION)\
                -k $(KDIR)/vmlinux-$(2).bin.gz \
-               -r $(BIN_DIR)/openwrt-$(BOARD)-root.$(1) \
+               -r $(BIN_DIR)/$(IMG_PREFIX)-root.$(1) \
                -o $(call imgname,$(1),$(2))-factory.bin
        -$(STAGING_DIR_HOST)/bin/mktplinkfw \
                -B $(4) -N OpenWrt -V $(REVISION) -s \
                -k $(KDIR)/vmlinux-$(2).bin.gz \
-               -r $(BIN_DIR)/openwrt-$(BOARD)-root.$(1) \
+               -r $(BIN_DIR)/$(IMG_PREFIX)-root.$(1) \
                -o $(call imgname,$(1),$(2))-sysupgrade.bin
 endef
 
@@ -318,16 +316,15 @@ endef
 define Image/Build/CyberTAN
        $(call PatchKernelGzip,$(2),$(3))
        $(call MkImageGzip,$(KDIR)/vmlinux-$(2).bin.gz,$(KDIR)/vmlinux-$(2).uImage)
-       ( \
-               dd if=$(KDIR)/vmlinux-$(2).uImage bs=64k conv=sync; \
-               dd if=/dev/zero bs=1 count=65476; \
-               dd if=$(KDIR)/root.$(1) bs=64k; \
-       ) > $(KDIR)/vmlinux-$(2).image
-       $(STAGING_DIR_HOST)/bin/trx -o $(KDIR)/vmlinux-$(2).trx \
-               -f $(KDIR)/vmlinux-$(2).image
+       $(STAGING_DIR_HOST)/bin/trx -o $(KDIR)/image.tmp -f $(KDIR)/vmlinux-$(2).uImage \
+               -x 32 -a 0x10000 -x -32 -f $(KDIR)/root.$(1)
+       -$(STAGING_DIR_HOST)/bin/addpattern -B $(2) -v v$(4) \
+               -i $(KDIR)/image.tmp \
+               -o $(call imgname,$(1),$(2))-sysupgrade.bin
        -$(STAGING_DIR_HOST)/bin/addpattern -B $(2) -v v$(4) -g \
-               -i $(KDIR)/vmlinux-$(2).trx \
-               -o $(call imgname,$(1),$(2)).bin
+               -i $(KDIR)/image.tmp \
+               -o $(call imgname,$(1),$(2))-factory.bin
+       rm $(KDIR)/image.tmp
 endef
 
 wndr3700_mtdlayout=mtdparts=spi0.0:320k(u-boot)ro,128k(u-boot-env)ro,1024k(kernel),6656k(rootfs),64k(art)ro,7680k@0x70000(firmware)
@@ -521,6 +518,10 @@ define Image/Build/Profile/TLWR941NDV2
        $(call Image/Build/Template/$(fs_squash)/$(1),TPLINK,tl-wr941nd-v2,board=TL-WR941ND,TL-WR941NDv2)
 endef
 
+define Image/Build/Profile/TLWR941NDV3
+       $(call Image/Build/Template/$(fs_squash)/$(1),TPLINK,tl-wr941nd-v3,board=TL-WR941ND,TL-WR941NDv2)
+endef
+
 define Image/Build/Profile/TLWR941NDV4
        $(call Image/Build/Template/$(fs_4k)/$(1),TPLINK,tl-wr941nd-v4,board=TL-WR741ND,TL-WR941NDv4)
 endef
@@ -569,6 +570,7 @@ define Image/Build/Profile/Default
        $(call Image/Build/Profile/TLWR841NDV3,$(1))
        $(call Image/Build/Profile/TLWR841NDV5,$(1))
        $(call Image/Build/Profile/TLWR941NDV2,$(1))
+       $(call Image/Build/Profile/TLWR941NDV3,$(1))
        $(call Image/Build/Profile/TLWR941NDV4,$(1))
        $(call Image/Build/Profile/TLWR1043NDV1,$(1))
        $(call Image/Build/Profile/UBNT,$(1))
@@ -590,8 +592,8 @@ define Image/Build/squashfs
        $(call prepare_generic_squashfs,$(KDIR)/root.squashfs)
        dd if=$(KDIR)/root.squashfs of=$(KDIR)/root.squashfs-4k.tmp0 bs=4k conv=sync
        $(call add_jffs2_mark,$(KDIR)/root.squashfs-4k.tmp0)
-       dd if=$(KDIR)/root.squashfs-4k.tmp0 of=$(IMGNAME)-root.squashfs-4k bs=4k conv=sync
-       $(call add_jffs2_mark,$(IMGNAME)-root.squashfs-4k)
+       dd if=$(KDIR)/root.squashfs-4k.tmp0 of=$(BIN_DIR)/$(IMG_PREFIX)-root.squashfs-4k bs=4k conv=sync
+       $(call add_jffs2_mark,$(BIN_DIR)/$(IMG_PREFIX)-root.squashfs-4k)
        rm -f $(KDIR)/root.squashfs-4k.tmp0
 endef
 
@@ -601,7 +603,7 @@ endef
 
 define Image/Build
        $(call Image/Build/$(1))
-       dd if=$(KDIR)/root.$(1) of=$(IMGNAME)-root.$(1) bs=128k conv=sync
+       dd if=$(KDIR)/root.$(1) of=$(BIN_DIR)/$(IMG_PREFIX)-root.$(1) bs=128k conv=sync
 
        $(call Image/Build/Profile/$(PROFILE),$(1))
 endef