ar71xx: add profile and build image for the WNR2200 board
[openwrt.git] / target / linux / ar71xx / image / Makefile
index 4ef0667..9063a4e 100644 (file)
@@ -110,17 +110,9 @@ define CatFiles
        fi; fi
 endef
 
-define Sysupgrade/KR
-       $(call CatFiles,$(2),$(3),$(KDIR)/root.$(1),$(4),$(call sysupname,$(1),$(5)))
-endef
-
-define Sysupgrade/KRuImage
-       $(call CatFiles,$(KDIR_TMP)/vmlinux-$(2).uImage,$(3),$(KDIR)/root.$(1),$(4),$(call sysupname,$(1),$(2)))
-endef
-
-define Sysupgrade/RKuImage
-       $(call CatFiles,$(KDIR)/root.$(1),$(4),$(KDIR_TMP)/vmlinux-$(2).uImage,$(3),$(call sysupname,$(1),$(2)))
-endef
+Sysupgrade/KR=$(call CatFiles,$(2),$(3),$(KDIR)/root.$(1),$(4),$(call sysupname,$(1),$(5)))
+Sysupgrade/KRuImage=$(call CatFiles,$(KDIR_TMP)/vmlinux-$(2).uImage,$(3),$(KDIR)/root.$(1),$(4),$(call sysupname,$(1),$(2)))
+Sysupgrade/RKuImage=$(call CatFiles,$(KDIR)/root.$(1),$(4),$(KDIR_TMP)/vmlinux-$(2).uImage,$(3),$(call sysupname,$(1),$(2)))
 
 define Image/BuildLoader
        -rm -rf $(KDIR)/lzma-loader
@@ -177,6 +169,7 @@ ubdev_mtdlayout=mtdparts=spi0.0:256k(u-boot)ro,64k(u-boot-env)ro,7488k(firmware)
 whrhpg300n_mtdlayout=mtdparts=spi0.0:248k(u-boot)ro,8k(u-boot-env)ro,3712k(firmware),64k(art)ro
 wndap360_mtdlayout=mtdparts=spi0.0:256k(u-boot)ro,64k(u-boot-env)ro,1728k(kernel),6016k(rootfs),64k(nvram)ro,64k(art)ro,7744k@0x50000(firmware)
 wnr2000v3_mtdlayout=mtdparts=spi0.0:256k(u-boot)ro,64k(u-boot-env)ro,1024k(kernel),2688k(rootfs),64k(art)ro,3712k@0x50000(firmware)
+wnr2200_mtdlayout=mtdparts=spi0.0:320k(u-boot)ro,128k(u-boot-env)ro,1152k(kernel),6528k(rootfs),64k(art)ro,7680k@0x70000(firmware)
 wndr3700_mtdlayout=mtdparts=spi0.0:320k(u-boot)ro,128k(u-boot-env)ro,1152k(kernel),6528k(rootfs),64k(art)ro,7680k@0x70000(firmware)
 wndr3700v2_mtdlayout=mtdparts=spi0.0:320k(u-boot)ro,128k(u-boot-env)ro,1152k(kernel),14720k(rootfs),64k(art)ro,15872k@0x70000(firmware)
 wndr4300_mtdlayout=mtdparts=ar934x-nfc:256k(u-boot)ro,256k(u-boot-env)ro,256k(caldata),512k(pot),2048k(language),512k(config),3072k(traffic_meter),1152k(kernel),24448k(rootfs),25600k@0x6c0000(firmware),256k(caldata_backup),-(reserved)
@@ -191,6 +184,7 @@ define Image/BuildKernel
        $(call MkuImage,lzma,,$(KDIR)/vmlinux.bin.lzma,$(UIMAGE)-lzma.bin)
        cp $(KDIR)/loader-generic.elf $(VMLINUX)-lzma.elf
        -mkdir -p $(KDIR_TMP)
+       $(call Image/Build/Profile/$(PROFILE),buildkernel)
 ifneq ($(CONFIG_TARGET_ROOTFS_INITRAMFS),)
        cp $(KDIR)/vmlinux-initramfs.elf $(VMLINUX)-initramfs.elf
        cp $(KDIR)/vmlinux-initramfs $(VMLINUX)-initramfs.bin
@@ -203,16 +197,22 @@ ifneq ($(CONFIG_TARGET_ROOTFS_INITRAMFS),)
 endif
 endef
 
+Image/Build/WRT400N/buildkernel=$(call MkuImageLzma,$(2),$(3))
+
 define Image/Build/WRT400N
-       $(call MkuImageLzma,$(2),$(3))
        $(call Sysupgrade/KRuImage,$(1),$(2),1310720,6488064)
        if [ -e "$(call sysupname,$(1),$(2))" ]; then \
                wrt400n $(KDIR_TMP)/vmlinux-$(2).uImage $(KDIR)/root.$(1) $(call factoryname,$(1),$(2)); \
        fi
 endef
 
-define Image/Build/DIR825B1
+
+define Image/Build/DIR825B1/buildkernel
        $(call MkuImageLzma,$(2),$(3) $(dir825b1_mtdlayout))
+       $(call MkuImageLzma,$(2)-fat,$(3) $(dir825b1_mtdlayout_fat))
+endef
+
+define Image/Build/DIR825B1
        $(call Sysupgrade/KRuImage,$(1),$(2),65536,5308416)
        if [ -e "$(call sysupname,$(1),$(2))" ]; then \
                ( \
@@ -228,7 +228,6 @@ define Image/Build/DIR825B1
                        ) > $(call factoryname,$(1),$(2)); \
                fi; \
        fi
-       $(call MkuImageLzma,$(2)-fat,$(3) $(dir825b1_mtdlayout_fat))
        $(call CatFiles,$(KDIR_TMP)/vmlinux-$(2)-fat.uImage,65536,$(KDIR)/root.$(1),6946816,$(KDIR_TMP)/$(2)-fat.bin)
        if [ -e "$(KDIR_TMP)/$(2)-fat.bin" ]; then \
                echo -n "" > $(KDIR_TMP)/$(2)-fat.dummy; \
@@ -239,8 +238,13 @@ define Image/Build/DIR825B1
        fi
 endef
 
-define Image/Build/DLRTDEV
+
+define Image/Build/DLRTDEV/buildkernel
        $(call MkuImageLzma,$(2),$(3) $(dlrtdev_mtdlayout))
+       $(call MkuImageLzma,$(2)-fat,$(3) $(dlrtdev_mtdlayout_fat))
+endef
+
+define Image/Build/DLRTDEV
        $(call Sysupgrade/KRuImage,$(1),$(2),65536,5308416)
        if [ -e "$(call sysupname,$(1),$(2))" ]; then \
                ( \
@@ -256,7 +260,6 @@ define Image/Build/DLRTDEV
                        ) > $(call factoryname,$(1),$(2)); \
                fi; \
        fi
-       $(call MkuImageLzma,$(2)-fat,$(3) $(dlrtdev_mtdlayout_fat))
        $(call CatFiles,$(KDIR_TMP)/vmlinux-$(2)-fat.uImage,65536,$(KDIR)/root.$(1),6946816,$(KDIR_TMP)/$(2)-fat.bin)
        if [ -e "$(KDIR_TMP)/$(2)-fat.bin" ]; then \
                echo -n "" > $(KDIR_TMP)/$(2)-fat.dummy; \
@@ -267,8 +270,11 @@ define Image/Build/DLRTDEV
        fi
 endef
 
+
+Image/Build/WZRHP64K/buildkernel=$(call MkuImageLzma,$(2),$(3))
+Image/Build/WZRHP64K/initramfs=$(call MkuImageLzma/initramfs,$(2),$(3) $(4))
+
 define Image/Build/WZRHP64K
-       $(call MkuImageLzma,$(2),$(3))
        $(call Sysupgrade/KRuImage,$(1),$(2),65536,31850496)
        if [ -e "$(call sysupname,$(1),$(2))" ]; then \
                ( \
@@ -285,12 +291,11 @@ define Image/Build/WZRHP64K
        fi
 endef
 
-define Image/Build/WZRHP64K/initramfs
-       $(call MkuImageLzma/initramfs,$(2),$(3) $(4))
-endef
+
+Image/Build/WZRHP128K/buildkernel=$(call MkuImageLzma,$(2),$(3))
+Image/Build/WZRHP128K/initramfs=$(call MkuImageLzma/initramfs,$(2),$(3) $(4))
 
 define Image/Build/WZRHP128K
-       $(call MkuImageLzma,$(2),$(3))
        $(call Sysupgrade/KRuImage,$(1),$(2),131072,31850496)
        if [ -e "$(call sysupname,$(1),$(2))" ]; then \
                ( \
@@ -307,12 +312,11 @@ define Image/Build/WZRHP128K
        fi
 endef
 
-define Image/Build/WZRHP128K/initramfs
-       $(call MkuImageLzma/initramfs,$(2),$(3) $(4))
-endef
+
+Image/Build/WHRHPG300N/buildkernel=$(call MkuImageLzma,$(2),$(3) $(4))
+Image/Build/WHRHPG300N/initramfs=$(call MkuImageLzma/initramfs,$(2),$(3) $(4))
 
 define Image/Build/WHRHPG300N
-       $(call MkuImageLzma,$(2),$(3) $(4))
        $(call Sysupgrade/KRuImage,$(1),$(2),65536,2818048)
        if [ -e "$(call sysupname,$(1),$(2))" ]; then \
                ( \
@@ -329,12 +333,8 @@ define Image/Build/WHRHPG300N
        fi
 endef
 
-define Image/Build/WHRHPG300N/initramfs
-       $(call MkuImageLzma/initramfs,$(2),$(3) $(4))
-endef
 
 define Image/Build/Cameo
-       $(call MkuImageLzma,$(2),$(3) $(4))
        $(call Sysupgrade/KRuImage,$(1),$(2),$(5),$(6))
        if [ -e "$(call sysupname,$(1),$(2))" ]; then \
                ( \
@@ -345,8 +345,20 @@ define Image/Build/Cameo
        fi
 endef
 
+Image/Build/Cameo913x/buildkernel=$(call MkuImageLzma,$(2),$(3) $(cameo913x_mtdlayout))
+Image/Build/Cameo913x=$(call Image/Build/Cameo,$(1),$(2),$(3),$(cameo913x_mtdlayout),65536,2883584,$(4))
+Image/Build/Cameo913x/initramfs=$(call MkuImageLzma/initramfs,$(2),$(3) $(cameo913x_mtdlayout))
+
+Image/Build/Cameo7240/buildkernel=$(call MkuImageLzma,$(2),$(3) $(cameo7240_mtdlayout))
+Image/Build/Cameo7240=$(call Image/Build/Cameo,$(1),$(2),$(3),$(cameo7240_mtdlayout),65536,2752512,$(4))
+Image/Build/Cameo7240/initramfs=$(call MkuImageLzma/initramfs,$(2),$(3) $(cameo7240_mtdlayout))
+
+Image/Build/Cameo934x/buildkernel=$(call MkuImageLzma,$(2),$(3) $(cameo934x_mtdlayout))
+Image/Build/Cameo934x=$(call Image/Build/Cameo,$(1),$(2),$(3),$(cameo934x_mtdlayout),65536,15007718,$(4))
+Image/Build/Cameo934x/initramfs=$(call Image/Build/Cameo,$(1),$(2),$(3) $(cameo934x_mtdlayout))
+
+
 define Image/Build/CameoHornet
-       $(call MkuImageLzma,$(2),$(3) $(4))
        $(call Sysupgrade/KRuImage,$(1),$(2),$(5),$(6))
        if [ -e "$(call sysupname,$(1),$(2))" ]; then \
                for r in $(9); do \
@@ -360,45 +372,14 @@ define Image/Build/CameoHornet
        fi
 endef
 
-define Image/Build/Cameo913x
-       $(call Image/Build/Cameo,$(1),$(2),$(3),$(cameo913x_mtdlayout),65536,2883584,$(4))
-endef
-
-define Image/Build/Cameo913x/initramfs
-       $(call MkuImageLzma/initramfs,$(2),$(3) $(cameo913x_mtdlayout))
-endef
-
-define Image/Build/Cameo7240
-       $(call Image/Build/Cameo,$(1),$(2),$(3),$(cameo7240_mtdlayout),65536,2752512,$(4))
-endef
-
-define Image/Build/Cameo7240/initramfs
-       $(call MkuImageLzma/initramfs,$(2),$(3) $(cameo7240_mtdlayout))
-endef
-
-define Image/Build/Cameo933x
-       $(call Image/Build/CameoHornet,$(1),$(2),$(3),$(cameo933x_mtdlayout),65536,2686976,$(4),$(5),$(6),0xe0000,3735552)
-endef
-
-define Image/Build/Cameo933x/initramfs
-       $(call MkuImageLzma/initramfs,$(2),$(3) $(cameo933x_mtdlayout))
-endef
-
-define Image/Build/Cameo933x_8M
-       $(call Image/Build/CameoHornet,$(1),$(2),$(3),$(cameo933x_mtdlayout_8M),65536,6422528,$(4),$(5),$(6),0x100000,7864320)
-endef
-
-define Image/Build/Cameo933x_8M/initramfs
-       $(call MkuImageLzma/initramfs,$(2),$(3) $(cameo933x_mtdlayout_8M))
-endef
+Image/Build/Cameo933x/buildkernel=$(call MkuImageLzma,$(2),$(3) $(cameo933x_mtdlayout))
+Image/Build/Cameo933x=$(call Image/Build/CameoHornet,$(1),$(2),$(3),$(cameo933x_mtdlayout),65536,2686976,$(4),$(5),$(6),0xe0000,3735552)
+Image/Build/Cameo933x/initramfs=$(call MkuImageLzma/initramfs,$(2),$(3) $(cameo933x_mtdlayout))
 
-define Image/Build/Cameo934x
-       $(call Image/Build/Cameo,$(1),$(2),$(3),$(cameo934x_mtdlayout),65536,15007718,$(4))
-endef
+Image/Build/Cameo933x_8M/buildkernel=$(call MkuImageLzma,$(2),$(3) $(cameo933x_mtdlayout_8M))
+Image/Build/Cameo933x_8M=$(call Image/Build/CameoHornet,$(1),$(2),$(3),$(cameo933x_mtdlayout_8M),65536,6422528,$(4),$(5),$(6),0x100000,7864320)
+Image/Build/Cameo933x_8M/initramfs=$(call MkuImageLzma/initramfs,$(2),$(3) $(cameo933x_mtdlayout_8M))
 
-define Image/Build/Cameo934x/initramfs
-       $(call Image/Build/Cameo,$(1),$(2),$(3) $(cameo934x_mtdlayout))
-endef
 
 define Image/Build/Ath
        $(call Sysupgrade/$(7),$(1),$(2),$(5),$(6))
@@ -410,26 +391,18 @@ define Image/Build/Ath
        fi
 endef
 
-define Image/Build/AthGzip
-       $(call MkuImageGzip,$(2),$(3) $(4))
-       $(call Image/Build/Ath,$(1),$(2),$(3),$(4),$(5),$(6),$(7))
-endef
+Image/Build/AthGzip/buildkernel=$(call MkuImageGzip,$(2),$(3) $(4))
+Image/Build/AthGzip=$(call Image/Build/Ath,$(1),$(2),$(3),$(4),$(5),$(6),$(7))
+Image/Build/AthGzip/initramfs=$(call MkuImageGzip/initramfs,$(2),$(3) $(4))
 
-define Image/Build/AthGzip/initramfs
-       $(call MkuImageGzip/initramfs,$(2),$(3) $(4))
-endef
+Image/Build/AthLzma/buildkernel=$(call MkuImageLzma,$(2),$(3) $(4))
+Image/Build/AthLzma=$(call Image/Build/Ath,$(1),$(2),$(3),$(4),$(5),$(6),$(7))
+Image/Build/AthLzma/initramfs=$(call MkuImageLzma/initramfs,$(2),$(3) $(4))
 
-define Image/Build/AthLzma
-       $(call MkuImageLzma,$(2),$(3) $(4))
-       $(call Image/Build/Ath,$(1),$(2),$(3),$(4),$(5),$(6),$(7))
-endef
 
-define Image/Build/AthLzma/initramfs
-       $(call MkuImageLzma/initramfs,$(2),$(3) $(4))
-endef
+Image/Build/PB4X/buildkernel=$(call PatchKernelLzma,$(2),$(3))
 
 define Image/Build/PB4X
-       $(call PatchKernelLzma,$(2),$(3))
        dd if=$(KDIR_TMP)/vmlinux-$(2).bin.lzma \
           of=$(call imgname,kernel,$(2)).bin bs=64k conv=sync
        dd if=$(KDIR)/root.$(1) \
@@ -441,15 +414,19 @@ define Image/Build/PB4X
 endef
 
 
+Image/Build/MyLoader/buildkernel=$(call PatchKernelLzma,$(2),$(3))
+
 define Image/Build/MyLoader
-       $(call PatchKernelLzma,$(2),$(3))
        -$(STAGING_DIR_HOST)/bin/mkmylofw -B $(2) -s $(4) \
                -p0x030000:0xe0000:al:0x80060000:kernel:$(KDIR_TMP)/vmlinux-$(2).bin.lzma \
                -p0x110000:0:::rootfs:$(KDIR)/root.$(1) \
                $(call imgname,$(1),$(2))-$(5)-factory.img
 endef
 
-define Image/Build/UAPPRO
+
+Image/Build/UAPPRO/initramfs=$(call MkuImageLzma/initramfs,$(2),$(3) $(uap_pro_mtdlayout))
+
+define Image/Build/UAPPRO/buildkernel
        $(call MkuImageLzma,$(2),$(3) $(uap_pro_mtdlayout))
        -rm -rf $(KDIR_TMP)/$(2)
        mkdir -p $(KDIR_TMP)/$(2)/image
@@ -461,20 +438,20 @@ define Image/Build/UAPPRO
                2>&1 1>/dev/null | awk '/^.+$$$$/'
        -rm -rf $(KDIR_TMP)/$(2)
        $(STAGING_DIR_HOST)/bin/padjffs2 $(KDIR_TMP)/$(2)-kernel.jffs2 64
+endef
+
+define Image/Build/UAPPRO
        $(call CatFiles,$(KDIR_TMP)/$(2)-kernel.jffs2,1572864,$(KDIR)/root.$(1),14548992,$(call sysupname,$(1),$(2)))
        -$(STAGING_DIR_HOST)/bin/mkfwimage2 -f 0x9f000000 \
                -v $(5).$(6).v6.0.0-OpenWrt-$(REVISION) \
                -p jffs2:0x50000:0xf60000:0:0:$(call sysupname,$(1),$(2)) \
                -o $(call factoryname,$(1),$(2))
-       -rm -f $(KDIR_TMP)/$(2)-kernel.jffs2
 endef
 
-define Image/Build/UAPPRO/initramfs
-       $(call MkuImageLzma/initramfs,$(2),$(3) $(uap_pro_mtdlayout))
-endef
+
+Image/Build/UBNTXM/buildkernel=$(call MkuImageLzma,$(2),$(3) $(ubntxm_mtdlayout))
 
 define Image/Build/UBNTXM
-       $(call MkuImageLzma,$(2),$(3) $(ubntxm_mtdlayout))
        $(call Sysupgrade/KRuImage,$(1),$(2),65536,6684672)
        dd if=$(KDIR_TMP)/vmlinux-$(2).uImage of=$(KDIR_TMP)/vmlinux-$(2).uImage.bin bs=64k conv=sync
        -$(STAGING_DIR_HOST)/bin/mkfwimage \
@@ -484,8 +461,10 @@ define Image/Build/UBNTXM
                -o $(call factoryname,$(1),$(2))
 endef
 
+
+Image/Build/UBDEV/buildkernel=$(call MkuImageLzma,$(2),$(3) $(ubdev_mtdlayout))
+
 define Image/Build/UBDEV
-       $(call MkuImageLzma,$(2),$(3) $(ubdev_mtdlayout))
        $(call Sysupgrade/KRuImage,$(1),$(2),65536,6684672)
        dd if=$(KDIR_TMP)/vmlinux-$(2).uImage of=$(KDIR_TMP)/vmlinux-$(2).uImage.bin bs=64k conv=sync
        -$(STAGING_DIR_HOST)/bin/mkfwimage \
@@ -495,8 +474,10 @@ define Image/Build/UBDEV
                -o $(call factoryname,$(1),$(2))
 endef
 
+
+Image/Build/UBNT/buildkernel=$(call PatchKernelLzma,$(2),$(3))
+
 define Image/Build/UBNT
-       $(call PatchKernelLzma,$(2),$(3))
        dd if=$(KDIR_TMP)/vmlinux-$(2).bin.lzma of=$(KDIR_TMP)/vmlinux-$(2).lzma bs=64k conv=sync
        -$(STAGING_DIR_HOST)/bin/mkfwimage \
                -B $(4) -v $(5).$(6).OpenWrt.$(REVISION) \
@@ -509,9 +490,8 @@ define Image/Build/UBNT
   $(call sysupname,$(1),$(2))
 endef
 
-define Image/Build/Planex/loader
-       $(call Image/BuildLoaderAlone,$(1),gz,$(2) $(planex_mtdlayout),0x52000,0)
-endef
+
+Image/Build/Planex/loader=$(call Image/BuildLoaderAlone,$(1),gz,$(2) $(planex_mtdlayout),0x52000,0)
 
 define Image/Build/Planex
        [ -e "$(KDIR)/loader-$(2).gz" ]
@@ -531,8 +511,11 @@ define Image/Build/Planex
        fi
 endef
 
+
+Image/Build/ALFA/buildkernel=$(call MkuImageLzma,$(2),$(3) $(4))
+Image/Build/ALFA/initramfs=$(call MkuImageLzma/initramfs,$(2),$(3) $(4))
+
 define Image/Build/ALFA
-       $(call MkuImageLzma,$(2),$(3) $(4))
        $(call Sysupgrade/RKuImage,$(1),$(2),$(5),$(6))
        if [ -e "$(call sysupname,$(1),$(2))" ]; then \
                rm -rf $(KDIR)/$(1); \
@@ -548,13 +531,8 @@ define Image/Build/ALFA
        fi
 endef
 
-define Image/Build/ALFA/initramfs
-       $(call MkuImageLzma/initramfs,$(2),$(3) $(4))
-endef
 
-define Image/Build/TPLINKOLD/loader
-       $(call Image/BuildLoaderAlone,$(1),gz,$(2),0x22000,0)
-endef
+Image/Build/TPLINKOLD/loader=$(call Image/BuildLoaderAlone,$(1),gz,$(2),0x22000,0)
 
 define Image/Build/TPLINKOLD
        [ -e "$(KDIR)/loader-$(2).gz" ]
@@ -583,9 +561,8 @@ define Image/Build/TPLINKOLD/initramfs
                -o $(call imgname,$(1),$(2))-initramfs-uImage.bin
 endef
 
-define Image/Build/TPLINK/loader
-       $(call Image/BuildLoaderAlone,$(1),gz,$(2),0x22000,0)
-endef
+
+Image/Build/TPLINK/loader=$(call Image/BuildLoaderAlone,$(1),gz,$(2),0x22000,0)
 
 define Image/Build/TPLINK
        [ -e "$(KDIR)/loader-$(2).gz" ]
@@ -616,8 +593,10 @@ define Image/Build/TPLINK/initramfs
                -o $(call imgname,$(1),$(2))-uImage.bin
 endef
 
+
+Image/Build/TPLINK-LZMA/buildkernel=$(call PatchKernelLzma,$(2),$(3))
+
 define Image/Build/TPLINK-LZMA
-       $(call PatchKernelLzma,$(2),$(3))
        -$(STAGING_DIR_HOST)/bin/mktplinkfw \
                -H $(4) -W $(5) -F $(6) -N OpenWrt -V $(REVISION) $(7) \
                -k $(KDIR_TMP)/vmlinux-$(2).bin.lzma \
@@ -640,8 +619,10 @@ define Image/Build/TPLINK-LZMA/initramfs
                -o $(call imgname,$(1),$(2))-uImage.bin
 endef
 
+Image/Build/CyberTAN/loader=$(call Image/BuildLoader,$(1),gz,$(2),0x80060000)
+Image/Build/CyberTAN/buildkernel=$(call MkuImage,gzip,,$(KDIR)/loader-$(2).gz,$(KDIR_TMP)/vmlinux-$(2).uImage)
+
 define Image/Build/CyberTAN
-       $(call MkuImageGzip,$(2),$(3))
        $(STAGING_DIR_HOST)/bin/trx -o $(KDIR)/image.tmp -f $(KDIR_TMP)/vmlinux-$(2).uImage \
                -x 32 -a 0x10000 -x -32 -f $(KDIR)/root.$(1)
        -$(STAGING_DIR_HOST)/bin/addpattern -B $(2) -v v$(4) \
@@ -732,17 +713,16 @@ define Image/Build/Netgear/initramfs
        $(call MkuImageLzma,$(2),$(3) $(4),,-initramfs)
        $(STAGING_DIR_HOST)/bin/wndr3700 \
                $(KDIR_TMP)/vmlinux-initramfs-$(2).uImage \
-               $(call imgname,$(1),$(2))-initramfs-uImage.bin \
+               $(call imgname,$(1),$(2))-uImage.bin \
                $(5)
 endef
 
-define Image/Build/NetgearNAND/initramfs
-       $(call Image/Build/Netgear/initramfs,$(1),$(2),$(3),$(4),$(5))
-endef
+Image/Build/NetgearNAND/initramfs=$(call Image/Build/Netgear/initramfs,$(1),$(2),$(3),$(4),$(5))
 
 ifdef CONFIG_PACKAGE_uboot-ar71xx-nbg460n_550n_550nh
+  Image/Build/ZyXEL/buildkernel=$(call MkuImageLzma,$(2),$(3))
+
   define Image/Build/ZyXEL
-       $(call MkuImageLzma,$(2),$(3))
        $(call Sysupgrade/KRuImage,$(1),$(2),917504,2752512)
        if [ -e "$(call sysupname,$(1),$(2))" ]; then \
                if [ ! -f $(BIN_DIR)/$(IMG_PREFIX)-$(2)-u-boot.bin ]; then \
@@ -757,8 +737,10 @@ ifdef CONFIG_PACKAGE_uboot-ar71xx-nbg460n_550n_550nh
   endef
 endif
 
+
+Image/Build/OpenMesh/buildkernel=$(call MkuImageLzma,$(2))
+
 define Image/Build/OpenMesh
-       $(call MkuImageLzma,$(2))
        -sh $(TOPDIR)/scripts/om-fwupgradecfg-gen.sh \
                "$(4)" \
                "$(BUILD_DIR)/fwupgrade.cfg-$(4)" \
@@ -771,8 +753,11 @@ define Image/Build/OpenMesh
                "$(KDIR)/root.$(1)" "rootfs"
 endef
 
+
+Image/Build/Zcomax/buildkernel=$(call MkuImageLzma,$(2),$(3) $(4))
+Image/Build/Zcomax/initramfs=$(call MkuImageLzma/initramfs,$(2),$(3) $(4))
+
 define Image/Build/Zcomax
-       $(call MkuImageLzma,$(2),$(3) $(4))
        $(call Sysupgrade/RKuImage,$(1),$(2),1507328,6356992)
        if [ -e "$(call sysupname,$(1),$(2))" ]; then \
                $(STAGING_DIR_HOST)/bin/mkzcfw \
@@ -783,9 +768,6 @@ define Image/Build/Zcomax
        fi
 endef
 
-define Image/Build/Zcomax/initramfs
-       $(call MkuImageLzma/initramfs,$(2),$(3) $(4))
-endef
 
 define Jffs2Template
   define Image/Build/Template/$(1)/jffs2-$(2)
@@ -800,6 +782,9 @@ define BuildTemplate
   define Image/Build/Template/$(1)/loader
     $$(call Image/Build/$$(1)/loader,$$(2),$$(3),$$(4),$$(5),$$(6),$$(7),$$(8))
   endef
+  define Image/Build/Template/$(1)/buildkernel
+    $$(call Image/Build/$$(1)/buildkernel,,$$(2),$$(3),$$(4),$$(5),$$(6),$$(7),$$(8))
+  endef
   define Image/Build/Template/$(1)/squashfs
     $$(call Image/Build/$$(1),squashfs$(2),$$(2),$$(3),$$(4),$$(5),$$(6),$$(7),$$(8))
   endef
@@ -875,6 +860,7 @@ $(eval $(call SingleProfile,MyLoader,64k,WPE72_16M,wpe72,,ttyS0,115200,0x1000000
 # This is used with AthGzip profile for now
 $(eval $(call SingleProfile,AthGzip,64k,WNDAP360,wndap360,WNDAP360,ttyS0,9600,$$(wndap360_mtdlayout),1769472,6160384,KRuImage))
 $(eval $(call SingleProfile,Netgear,64k,WNR2000V3,wnr2000v3,WNR2000V3,ttyS0,115200,$$(wnr2000v3_mtdlayout),2003,WNR2000V3,"" NA,))
+$(eval $(call SingleProfile,Netgear,64k,WNR2200,wnr2200,WNR2200,ttyS0,115200,$$(wnr2200_mtdlayout),2200,WNR2200,"" NA,))
 $(eval $(call SingleProfile,Netgear,64k,WNR612V2,wnr612v2,WNR612V2,ttyS0,115200,$$(wnr2000v3_mtdlayout),2061,WNR612V2,"",))
 $(eval $(call SingleProfile,Netgear,64k,WNDR3700V1,wndr3700,WNDR3700,ttyS0,115200,$$(wndr3700_mtdlayout),3700,WNDR3700,"" NA,))
 $(eval $(call SingleProfile,Netgear,64k,WNDR3700V2,wndr3700v2,WNDR3700,ttyS0,115200,$$(wndr3700v2_mtdlayout),3701,WNDR3700v2,"",-H 29763654+16+64))
@@ -928,7 +914,8 @@ $(eval $(call SingleProfile,TPLINK-LZMA,64kraw,TLMR10U,tl-mr10u-v1,TL-MR10U,ttyA
 $(eval $(call SingleProfile,TPLINK-LZMA,64kraw,TLMR11UV1,tl-mr11u-v1,TL-MR11U,ttyATH0,115200,0x00110101,1,4Mlzma))
 $(eval $(call SingleProfile,TPLINK-LZMA,64kraw,TLMR11UV2,tl-mr11u-v2,TL-MR11U,ttyATH0,115200,0x00110102,1,4Mlzma))
 $(eval $(call SingleProfile,TPLINK-LZMA,64kraw,TLMR3020,tl-mr3020-v1,TL-MR3020,ttyATH0,115200,0x30200001,1,4Mlzma))
-$(eval $(call SingleProfile,TPLINK-LZMA,64kraw,TLMR3040,tl-mr3040-v1,TL-MR3040,ttyATH0,115200,0x30400001,1,4Mlzma))
+$(eval $(call SingleProfile,TPLINK-LZMA,64kraw,TLMR3040V1,tl-mr3040-v1,TL-MR3040,ttyATH0,115200,0x30400001,1,4Mlzma))
+$(eval $(call SingleProfile,TPLINK-LZMA,64kraw,TLMR3040V2,tl-mr3040-v2,TL-MR3040,ttyATH0,115200,0x30400002,1,4Mlzma))
 $(eval $(call SingleProfile,TPLINK-LZMA,64kraw,TLMR3220V2,tl-mr3220-v2,TL-MR3220-v2,ttyATH0,115200,0x32200002,1,4Mlzma))
 $(eval $(call SingleProfile,TPLINK-LZMA,64kraw,TLMR3420V2,tl-mr3420-v2,TL-MR3420-v2,ttyS0,115200,0x34200002,1,4Mlzma))
 $(eval $(call SingleProfile,TPLINK-LZMA,64kraw,TLWR703,tl-wr703n-v1,TL-WR703N,ttyATH0,115200,0x07030101,1,4Mlzma))
@@ -987,6 +974,7 @@ $(eval $(call MultiProfile,EWDORIN, EWDORINAP EWDORINRT))
 $(eval $(call MultiProfile,OPENMESH,OM2P MR600))
 $(eval $(call MultiProfile,TEW652BRP,TEW652BRP_FW TEW652BRP_RECOVERY))
 $(eval $(call MultiProfile,TLMR11U,TLMR11UV1 TLMR11UV2))
+$(eval $(call MultiProfile,TLMR3040,TLMR3040V1 TLMR3040V2))
 $(eval $(call MultiProfile,TLMR3220,TLMR3220V1 TLMR3220V2))
 $(eval $(call MultiProfile,TLMR3420,TLMR3420V1 TLMR3420V2))
 $(eval $(call MultiProfile,TLWA801,TLWA801NV1))