ar71xx: seama: fix making factory images
[openwrt/openwrt.git] / target / linux / ar71xx / image / legacy.mk
index 35111bef6b316a1c813f9c812747aa1e305a99c6..18eef4dd09bccd4ff25b13e6439b1abc86972990 100644 (file)
@@ -1,3 +1,4 @@
+include ./legacy-devices.mk
 rootfs_type=$(patsubst jffs2-%,jffs2,$(patsubst squashfs-%,squashfs,$(1)))
 
 # $(1): rootfs type.
@@ -145,16 +146,16 @@ endif
 # $(6): padding size.
 define CatFiles
        if [ $(2) -eq 0 ]; then \
-               filename="$(3)"; fstype=$$$${filename##*\.}; \
-               case "$$$${fstype}" in \
+               filename="$(3)"; fstype=$${filename##*\.}; \
+               case "$${fstype}" in \
                "jffs2-64k") bs=65536;; \
                "jffs2-128k") bs=131072;; \
                "jffs2-256k") bs=262144;; \
                *) bs=`stat -c%s $(1)`;; \
                esac; \
-               ( dd if=$(1) bs=$$$${bs} conv=sync;  cat $(3) ) > $(5); \
+               ( dd if=$(1) bs=$${bs} conv=sync;  cat $(3) ) > $(5); \
                if [ -n "$(6)" ]; then \
-                       case "$$$${fstype}" in \
+                       case "$${fstype}" in \
                        squashfs*) \
                                padjffs2 $(5) $(6); \
                                ;; \
@@ -285,7 +286,6 @@ f9k1115v2_mtdlayout=mtdparts=spi0.0:256k(u-boot)ro,64k(u-boot-env),14464k(rootfs
 dlrtdev_mtdlayout=mtdparts=spi0.0:256k(uboot)ro,64k(config)ro,6208k(firmware),64k(caldata)ro,640k(certs),960k(unknown)ro,64k@0x7f0000(caldata_copy)
 dlrtdev_mtdlayout_fat=mtdparts=spi0.0:256k(uboot)ro,64k(config)ro,7168k(firmware),640k(certs),64k(caldata)ro,64k@0x660000(caldata_orig),6208k@0x50000(firmware_orig)
 dragino2_mtdlayout=mtdparts=spi0.0:256k(u-boot)ro,16000k(firmware),64k(config)ro,64k(art)ro
-hiwifi_hc6361_mtdlayout=mtdparts=spi0.0:64k(u-boot)ro,64k(bdinfo)ro,1280k(kernel),14848k(rootfs),64k(backup)ro,64k(art)ro,16128k@0x20000(firmware)
 mr12_mtdlayout=mtdparts=spi0.0:256k(u-boot)ro,256k(u-boot-env)ro,13440k(rootfs),2304k(kernel),128k(art)ro,15744k@0x80000(firmware)
 mr16_mtdlayout=mtdparts=spi0.0:256k(u-boot)ro,256k(u-boot-env)ro,13440k(rootfs),2304k(kernel),128k(art)ro,15744k@0x80000(firmware)
 pb92_mtdlayout=mtdparts=spi0.0:256k(u-boot)ro,64k(u-boot-env)ro,2752k(rootfs),896k(kernel),64k(nvram),64k(art)ro,3648k@0x50000(firmware)
@@ -308,12 +308,11 @@ r6100_mtdlayout=mtdparts=ar934x-nfc:128k(u-boot)ro,256k(caldata),256k(caldata-ba
 tew823dru_mtdlayout=mtdparts=spi0.0:192k(u-boot)ro,64k(nvram)ro,15296k(firmware),192k(lang)ro,512k(my-dlink)ro,64k(mac)ro,64k(art)ro
 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),2048k(kernel),23552k(ubi),25600k@0x6c0000(firmware),256k(caldata_backup),-(reserved)
 zcn1523h_mtdlayout=mtdparts=spi0.0:256k(u-boot)ro,64k(u-boot-env)ro,6208k(rootfs),1472k(kernel),64k(configure)ro,64k(mfg)ro,64k(art)ro,7680k@0x50000(firmware)
-mynet_n600_mtdlayout=mtdparts=spi0.0:256k(u-boot)ro,64k(u-boot-env)ro,64k(devdata)ro,64k(devconf)ro,15872k(firmware),64k(radiocfg)ro
 mynet_rext_mtdlayout=mtdparts=spi0.0:256k(u-boot)ro,7808k(firmware),64k(nvram)ro,64k(ART)ro
 zyx_nbg6716_mtdlayout=mtdparts=spi0.0:256k(u-boot)ro,64k(env)ro,64k(RFdata)ro,-(nbu);ar934x-nfc:2048k(zyxel_rfsd),2048k(romd),1024k(header),2048k(kernel),-(ubi)
-qihoo_c301_mtdlayout=mtdparts=spi0.0:256k(u-boot)ro,64k(u-boot-env),64k(devdata),64k(devconf),15744k(firmware),64k(warm_start),64k(action_image_config),64k(radiocfg)ro;spi0.1:15360k(upgrade2),1024k(privatedata)
 yun_mtdlayout_8M=mtdparts=spi0.0:256k(u-boot)ro,64k(u-boot-env)ro,6464k(rootfs),1280k(kernel),64k(nvram),64k(art),7744k@0x50000(firmware)
 yun_mtdlayout_16M=mtdparts=spi0.0:256k(u-boot)ro,64k(u-boot-env)ro,14656k(rootfs),1280k(kernel),64k(nvram),64k(art),15936k@0x50000(firmware)
+wrtnode2q_mtdlayout=mtdparts=spi0.0:192k(u-boot),64k(u-boot-env),64k(art),1472k(kernel),14592k(rootfs),16064k@0x50000(firmware),16384k@0x0(fullflash)
 
 define Image/BuildKernel
        cp $(KDIR)/vmlinux.elf $(VMLINUX).elf
@@ -356,7 +355,7 @@ endef
 define Image/Build/CameoAP94
        $(eval fwsize=$(call mtdpartsize,firmware,$(4)))
        $(eval fwsize_fat=$(call mtdpartsize,firmware,$(5)))
-       $(call Sysupgrade/KRuImage,$(1),$(2),0,$$$$(($(fwsize)-4*64*1024)),64)
+       $(call Sysupgrade/KRuImage,$(1),$(2),0,$$(($(fwsize)-4*64*1024)),64)
        if [ -e "$(call sysupname,$(1),$(2))" ]; then \
                ( \
                        dd if=$(call sysupname,$(1),$(2)); \
@@ -371,7 +370,7 @@ define Image/Build/CameoAP94
                        ) > $(call factoryname,$(1),$(2)); \
                fi; \
        fi
-       $(call CatFiles,$(KDIR_TMP)/vmlinux-$(2)-fat.uImage,0,$(KDIR)/root.$(1),$$$$(($(fwsize_fat)-4*64*1024)),$(KDIR_TMP)/$(2)-fat.bin,64)
+       $(call CatFiles,$(KDIR_TMP)/vmlinux-$(2)-fat.uImage,0,$(KDIR)/root.$(1),$$(($(fwsize_fat)-4*64*1024)),$(KDIR_TMP)/$(2)-fat.bin,64)
        if [ -e "$(KDIR_TMP)/$(2)-fat.bin" ]; then \
                echo -n "" > $(KDIR_TMP)/$(2)-fat.dummy; \
                sh $(TOPDIR)/scripts/combined-image.sh \
@@ -382,7 +381,7 @@ define Image/Build/CameoAP94
 endef
 
 define Image/Build/WZRHP
-       $(call Sysupgrade/KRuImage,$(1),$(2),0,$$$$(($(3)-4*$(4)*1024)),$(4))
+       $(call Sysupgrade/KRuImage,$(1),$(2),0,$$(($(3)-4*$(4)*1024)),$(4))
        if [ -e "$(call sysupname,$(1),$(2))" ]; then \
                ( \
                        echo -n -e "# Airstation Public Fmt1\x00\x00\x00\x00\x00\x00\x00\x00"; \
@@ -412,7 +411,7 @@ Image/Build/WHRHPG300N/initramfs=$(call MkuImageLzma/initramfs,$(2),$(3) $(4))
 
 define Image/Build/WHRHPG300N
        $(eval fwsize=$(call mtdpartsize,firmware,$(4)))
-       $(call Sysupgrade/KRuImage,$(1),$(2),0,$$$$(($(fwsize)-4*64*1024)),64)
+       $(call Sysupgrade/KRuImage,$(1),$(2),0,$$(($(fwsize)-4*64*1024)),64)
        if [ -e "$(call sysupname,$(1),$(2))" ]; then \
                ( \
                        echo -n -e "# Airstation Public Fmt1\x00\x00\x00\x00\x00\x00\x00\x00"; \
@@ -431,11 +430,11 @@ endef
 
 define Image/Build/Cameo
        $(eval fwsize=$(call mtdpartsize,firmware,$(4)))
-       $(call Sysupgrade/KRuImage,$(1),$(2),0,$$$$(($(fwsize)-4*64*1024)),64)
+       $(call Sysupgrade/KRuImage,$(1),$(2),0,$$(($(fwsize)-4*64*1024)),64)
        if [ -e "$(call sysupname,$(1),$(2))" ]; then \
-               factory_size=$$$$(($(fwsize) - $(6))); \
+               factory_size=$$(($(fwsize) - $(6))); \
                ( \
-                       dd if=$(call sysupname,$(1),$(2)) bs=$$$${factory_size} conv=sync; \
+                       dd if=$(call sysupname,$(1),$(2)) bs=$${factory_size} conv=sync; \
                        echo -n $(5); \
                ) > $(call factoryname,$(1),$(2)); \
        fi
@@ -471,15 +470,15 @@ Image/Build/CameoDB120_8M/initramfs=$(call MkuImageLzma/initramfs,$(2),$(3) $(ca
 
 define Image/Build/CameoHornet
        $(eval fwsize=$(call mtdpartsize,firmware,$(4)))
-       $(call Sysupgrade/KRuImage,$(1),$(2),0,$$$$(($(fwsize)-4*64*1024)),64)
+       $(call Sysupgrade/KRuImage,$(1),$(2),0,$$(($(fwsize)-4*64*1024)),64)
        if [ -e "$(call sysupname,$(1),$(2))" ]; then \
                for r in $(7); do \
-                       [ -n "$$$$r" ] && dashr="-$$$$r" || dashr=; \
-                       [ -z "$$$$r" ] && r="DEF"; \
-                       mkcameofw -M HORNET -R "$$$$r" -S $(5) -V $(6) -c \
+                       [ -n "$$r" ] && dashr="-$$r" || dashr=; \
+                       [ -z "$$r" ] && r="DEF"; \
+                       mkcameofw -M HORNET -R "$$r" -S $(5) -V $(6) -c \
                                -K $(8) -I $(fwsize) \
                                -k "$(call sysupname,$(1),$(2))" \
-                               -o $(call imgname,$(1),$(2))-factory$$$$dashr.bin; \
+                               -o $(call imgname,$(1),$(2))-factory$$dashr.bin; \
                        true; \
                done; \
        fi
@@ -541,11 +540,11 @@ define Image/Build/Belkin
        $(eval rootsize=$(call mtdpartsize,rootfs,$(4)))
        $(call Sysupgrade/RKuImage,$(1),$(2),$(kernsize),$(rootsize))
        if [ -e "$(call sysupname,$(1),$(2))" ]; then \
-               edimax_fw_header -m $(5) -v "OpenWrt$(REVISION)" \
+               edimax_fw_header -m $(5) -v "$(shell echo -n LEDE$(REVISION) | cut -c -13)" \
                        -n "uImage" \
                        -i $(KDIR_TMP)/vmlinux-$(2).uImage \
                        -o $(KDIR_TMP)/$(2)-uImage; \
-               edimax_fw_header -m $(5) -v "OpenWrt$(REVISION)" \
+               edimax_fw_header -m $(5) -v "$(shell echo -n LEDE$(REVISION) | cut -c -13)" \
                        -n "rootfs" \
                        -i $(KDIR)/root.$(1) \
                        -o $(KDIR_TMP)/$(2)-rootfs; \
@@ -576,22 +575,6 @@ Image/Build/EnGenius/buildkernel=$(call MkuImageLzma,$(2),$(3) $(4))
 Image/Build/EnGenius/initramfs=$(call MkuImageLzma/initramfs,$(2),$(3) $(4))
 
 
-define MkuImageHiWiFi
-       # Field ih_name needs to start with "tw150v1"
-       mkimage -A mips -O linux -T kernel -a 0x80060000 -C $(1) $(2) \
-               -e 0x80060000 -n 'tw150v1 MIPS OpenWrt Linux-$(LINUX_VERSION)' \
-               -d $(3) $(4)
-endef
-
-define MkuImageLzmaHiWiFi
-       $(call PatchKernelLzma,$(1),$(2),$(3),$(4))
-       $(call MkuImageHiWiFi,lzma,$(5),$(KDIR_TMP)/vmlinux$(4)-$(1).bin.lzma,$(KDIR_TMP)/vmlinux$(4)-$(1).uImage)
-endef
-
-Image/Build/HiWiFi/buildkernel=$(call MkuImageLzmaHiWiFi,$(2),$(3) $(4))
-Image/Build/HiWiFi=$(call Image/Build/Ath,$(1),$(2),$(3),$(4),$(5),$(6),$(7))
-Image/Build/HiWiFi/initramfs=$(call MkuImageLzma/initramfs,$(2),$(3) $(4))
-
 Image/Build/PB4X/buildkernel=$(call PatchKernelLzma,$(2),$(3))
 
 define Image/Build/PB4X
@@ -639,7 +622,7 @@ endef
 
 define Image/Build/Planex
        $(eval fwsize=$(call mtdpartsize,firmware,$(planex_mtdlayout)))
-       $(call Sysupgrade/KRuImage,$(1),$(2),0,$$$$(($(fwsize)-4*64*1024)),64)
+       $(call Sysupgrade/KRuImage,$(1),$(2),0,$$(($(fwsize)-4*64*1024)),64)
        if [ -e "$(call sysupname,$(1),$(2))" ]; then \
                $(STAGING_DIR_HOST)/bin/mkplanexfw \
                        -B $(2) \
@@ -670,39 +653,6 @@ define Image/Build/ALFA
 endef
 
 
-Image/Build/Seama/loader=$(call Image/BuildLoader,$(1),bin,$(2) $(3),0x80060000)
-
-define Image/Build/Seama
-       [ -e "$(KDIR)/loader-$(2).bin" ]
-       $(call CompressLzma,$(KDIR)/loader-$(2).bin,$(KDIR_TMP)/loader-$(2).bin.lzma)
-       -rm -f $(KDIR_TMP)/image-$(2).tmp
-       $(call CatFiles,$(KDIR_TMP)/loader-$(2).bin.lzma,$$$$(($(6) - 64)),$(KDIR)/root.$(1),$(7),$(KDIR_TMP)/image-$(2).tmp)
-       [ -e "$(KDIR_TMP)/image-$(2).tmp" ] && { \
-               head -c -4 "$(KDIR_TMP)/image-$(2).tmp" > "$(KDIR_TMP)/image-$(2).no-jffs2mark.tmp"; \
-               $(STAGING_DIR_HOST)/bin/seama \
-               -i $(KDIR_TMP)/image-$(2).no-jffs2mark.tmp \
-               -m "dev=/dev/mtdblock/1" -m "type=firmware"; \
-               $(STAGING_DIR_HOST)/bin/seama \
-                       -s $(call imgname,$(1),$(2))-factory.bin \
-                       -m "signature=$(5)" \
-                       -i $(KDIR_TMP)/image-$(2).no-jffs2mark.tmp.seama; \
-               tail -c 4 "$(KDIR_TMP)/image-$(2).tmp" >> $(call imgname,$(1),$(2))-factory.bin; \
-       }
-       cat $(KDIR_TMP)/loader-$(2).bin.lzma > $(KDIR_TMP)/image-$(2)-sysupgrade.tmp
-       $(STAGING_DIR_HOST)/bin/seama \
-               -i $(KDIR_TMP)/image-$(2)-sysupgrade.tmp \
-               -m "dev=/dev/mtdblock/1" -m "type=firmware"
-       $(call CatFiles,$(KDIR_TMP)/image-$(2)-sysupgrade.tmp.seama,$(6),$(KDIR)/root.$(1),$(7),$(call sysupname,$(1),$(2)))
-endef
-
-define Image/Build/Seama/initramfs
-       $(call PatchKernelLzma,$(2),$(3) $(4),,-initramfs)
-       $(STAGING_DIR_HOST)/bin/seama \
-               -i $(KDIR_TMP)/vmlinux-initramfs-$(2).bin.lzma \
-               -m "dev=/dev/mtdblock/1" -m "type=firmware"
-       cat $(KDIR_TMP)/vmlinux-initramfs-$(2).bin.lzma.seama > $(call imgname,initramfs,$(2))-seama.bin
-endef
-
 Image/Build/Senao/buildkernel=$(call MkuImageLzma,$(2),$(3) $(4))
 Image/Build/Senao/initramfs=$(call MkuImageLzma/initramfs,$(2),$(3) $(4))
 
@@ -776,11 +726,11 @@ define Image/Build/Netgear
        $(call CatFiles,$(KDIR_TMP)/vmlinux-$(2).uImage.squashfs,0,$(KDIR)/root.$(1),$(fwsize),$(call sysupname,$(1),$(2)),64)
        if [ -e $(call sysupname,$(1),$(2)) ]; then \
                for r in $(7) ; do \
-                       [ -n "$$$$r" ] && dashr="-$$$$r" || dashr= ; \
+                       [ -n "$$r" ] && dashr="-$$r" || dashr= ; \
                        $(STAGING_DIR_HOST)/bin/mkdniimg \
-                               -B $(6) -v OpenWrt.$(REVISION) -r "$$$$r" $(8) \
+                               -B $(6) -v OpenWrt.$(REVISION) -r "$$r" $(8) \
                                -i $(call sysupname,$(1),$(2)) \
-                               -o $(call imgname,$(1),$(2))-factory$$$$dashr.img; \
+                               -o $(call imgname,$(1),$(2))-factory$$dashr.img; \
                done; \
        fi
 endef
@@ -807,7 +757,7 @@ define Image/Build/NetgearNAND/buildkernel
        $(call PatchKernelLzma,$(2),$(3) $(4),-d20)
        dd if=$(KDIR_TMP)/vmlinux-$(2).bin.lzma \
                of=$(KDIR_TMP)/vmlinux-$(2).bin.tmp \
-               bs=$$$$(($(kernelsize)-131072-2*64-1)) \
+               bs=$$(($(kernelsize)-131072-2*64-1)) \
                count=1 conv=sync
        $(call MkuImage,lzma,-M $(5),$(KDIR_TMP)/vmlinux-$(2).bin.tmp,$(KDIR_TMP)/vmlinux-$(2).uImage)
        echo -ne '\xff' >> $(KDIR_TMP)/vmlinux-$(2).uImage
@@ -846,7 +796,7 @@ define Image/Build/NetgearNAND
                dd if=$(KDIR_TMP)/$(2)-root.ubi \
        ) > $(imageraw)
        $(STAGING_DIR_HOST)/bin/mkdniimg \
-               -B $(6) -v OpenWrt.$(REVISION) -r "$$$$r" $(8) \
+               -B $(6) -v OpenWrt.$(REVISION) -r "$$r" $(8) \
                -i $(imageraw) \
                -o $(call imgname,ubi,$(2))-factory.img
 
@@ -881,7 +831,7 @@ define      Image/Build/ZyXELNAND/buildkernel
                --pad=$(kernelsize) --big-endian --squash-uids -v -e 128KiB \
                -o $(KDIR_TMP)/$(2)-kernel.jffs2 \
                -d $(KDIR_TMP)/$(2)/image \
-               2>&1 1>/dev/null | awk '/^.+$$$$/'
+               2>&1 1>/dev/null | awk '/^.+$$/'
        -rm -rf $(KDIR_TMP)/$(2)
 endef
 
@@ -906,6 +856,7 @@ endef
 
 
 Image/Build/OpenMesh/buildkernel=$(call MkuImageLzma,$(2))
+Image/Build/OpenMesh/initramfs=$(call MkuImageLzma/initramfs,$(2),)
 
 define Image/Build/OpenMesh
        -sh $(TOPDIR)/scripts/om-fwupgradecfg-gen.sh \
@@ -918,6 +869,9 @@ define Image/Build/OpenMesh
                "$(BUILD_DIR)/fwupgrade.cfg-$(4)" "fwupgrade.cfg" \
                "$(KDIR_TMP)/vmlinux-$(2).uImage" "kernel" \
                "$(KDIR)/root.$(1)" "rootfs"
+       if [ -e "$(call factoryname,$(1),$(2))" ]; then \
+               cp "$(call factoryname,$(1),$(2))" "$(call sysupname,$(1),$(2))"; \
+       fi
 endef
 
 
@@ -1022,6 +976,7 @@ $(eval $(call SingleProfile,AthLzma,64k,WPJ344_16M,wpj344-16M,WPJ344,ttyS0,11520
 $(eval $(call SingleProfile,AthLzma,64k,DR344,dr344,DR344,ttyS0,115200,$$(dr344_mtdlayout),RKuImage))
 $(eval $(call SingleProfile,AthLzma,64k,WPJ531_16M,wpj531-16M,WPJ531,ttyS0,115200,$$(wpj531_mtdlayout_16M),KRuImage,65536))
 $(eval $(call SingleProfile,AthLzma,64k,WPJ558_16M,wpj558-16M,WPJ558,ttyS0,115200,$$(wpj558_mtdlayout_16M),KRuImage,65536))
+$(eval $(call SingleProfile,AthLzma,64k,WRTNODE2Q,wrtnode2q,WRTNODE2Q,ttyS0,115200,$$(wrtnode2q_mtdlayout),KRuImage))
 $(eval $(call SingleProfile,AthLzma,64k,YUN_8M,yun-8M,Yun,ttyATH0,250000,$$(yun_mtdlayout_8M),RKuImage))
 $(eval $(call SingleProfile,AthLzma,64k,YUN_16M,yun-16M,Yun,ttyATH0,250000,$$(yun_mtdlayout_16M),RKuImage))
 
@@ -1072,8 +1027,6 @@ $(eval $(call SingleProfile,EnGenius,64k,ESR900,esr900,ESR900,ttyS0,115200,$$(es
 $(eval $(call SingleProfile,EnGenius,64k,ESR1750,esr1750,ESR1750,ttyS0,115200,$$(esr1750_mtdlayout),KRuImage,,0x61))
 $(eval $(call SingleProfile,EnGenius,64k,EPG5000,epg5000,EPG5000,ttyS0,115200,$$(epg5000_mtdlayout),KRuImage,,0x71))
 
-$(eval $(call SingleProfile,HiWiFi,64k,HIWIFI_HC6361,hiwifi-hc6361,HiWiFi-HC6361,ttyATH0,115200,$$(hiwifi_hc6361_mtdlayout),KRuImage))
-
 $(eval $(call SingleProfile,MyLoader,64k,WP543_2M,wp543,,ttyS0,115200,0x200000,2M))
 $(eval $(call SingleProfile,MyLoader,64k,WP543_4M,wp543,,ttyS0,115200,0x400000,4M))
 $(eval $(call SingleProfile,MyLoader,64k,WP543_8M,wp543,,ttyS0,115200,0x800000,8M))
@@ -1109,11 +1062,6 @@ $(eval $(call SingleProfile,PB4X,64k,PB44,pb44,PB44,ttyS0,115200))
 $(eval $(call SingleProfile,Planex,64kraw,MZKW04NU,mzk-w04nu,MZK-W04NU,ttyS0,115200))
 $(eval $(call SingleProfile,Planex,64kraw,MZKW300NH,mzk-w300nh,MZK-W300NH,ttyS0,115200))
 
-$(eval $(call SingleProfile,Seama,64k,MYNETN600,mynet-n600,MYNET-N600,ttyS0,115200,$$(mynet_n600_mtdlayout),wrgnd16_wd_db600,65536,16187392))
-$(eval $(call SingleProfile,Seama,64k,MYNETN750,mynet-n750,MYNET-N750,ttyS0,115200,$$(mynet_n600_mtdlayout),wrgnd13_wd_av,65536,16187392))
-
-$(eval $(call SingleProfile,Seama,64k,QIHOO360,qihoo-c301,QIHOO-C301,ttyS0,115200,$$(qihoo_c301_mtdlayout),wrgac26_qihoo360_360rg,65536,16121856))
-
 $(eval $(call SingleProfile,Senao,squashfs-only,EAP300V2,eap300v2,EAP300V2,ttyS0,115200,$$(eap300v2_mtdlayout)))
 
 $(eval $(call SingleProfile,WHRHPG300N,64kraw,WHRG301N,whr-g301n,WHR-G301N,ttyS0,115200,$$(whrhpg300n_mtdlayout),WHR-G301N))
@@ -1158,6 +1106,12 @@ $(eval $(call MultiProfile,Yun,YUN_16M YUN_8M))
 $(eval $(call MultiProfile,Minimal,$(SINGLE_PROFILES)))
 $(eval $(call MultiProfile,Madwifi,EAP7660D WP543))
 
+define LegacyDevice/OM2P
+  DEVICE_TITLE := OpenMesh OM2P/OM2Pv2/OM2P-HS/OM2P-HSv2/OM2P-HSv3/OM2P-LC
+  DEVICE_PACKAGES := kmod-ath9k om-watchdog
+endef
+LEGACY_DEVICES += OM2P
+
 endif # ifeq ($(SUBTARGET),generic)
 
 ifeq ($(SUBTARGET),nand)
@@ -1203,8 +1157,16 @@ endif
        $(call Image/Build/Profile/$(if $(CONFIG_IB),Default,$(IMAGE_PROFILE)),loader)
 endef
 
+define Image/Prepare/Profile
+       $(call Image/Build/Profile/$(1),loader)
+endef
+
+define Image/Build/Profile
+       $(call Image/Build/Profile/$(1),buildkernel)
+       $(call Image/Build/Profile/$(1),$(2))
+endef
+
 # $(1): filesystem type.
 define Image/Build
        $(call Image/Build/$(call rootfs_type,$(1)),$(1))
-       $(call Image/Build/Profile/$(IMAGE_PROFILE),$(1))
 endef