+define Image/BuildKernel/Initramfs
+ cp $(KDIR)/zImage-initramfs $(BIN_DIR)/$(IMG_PREFIX)-initramfs-zImage
+ifeq ($(SUBTARGET),generic)
+ cp $(KDIR)/cuImage.tl-wdr4900-v1-initramfs $(BIN_DIR)/$(IMG_PREFIX)-tl-wdr4900-v1-initramfs.uImage
+endif
+ifeq ($(SUBTARGET),p1020)
+ cp $(KDIR)/zImage-initramfs $(BIN_DIR)/$(IMG_PREFIX)-hiveap-330-initramfs.zImage
+endif
+endef
+
+define Image/Build/Aerohive
+ $(call Build/empty-initramfs)
+ifeq ($(2),hiveap-330)
+ ( \
+ dd if=$(BIN_DIR)/$(IMG_PREFIX)-$(2).fdt bs=256k conv=sync; \
+ dd if=$(KDIR_TMP)/$(IMG_PREFIX)-empty-initramfs.image bs=256k conv=sync; \
+ dd if=$(BIN_DIR)/$(IMG_PREFIX)-root.$(1) bs=40704k conv=sync; \
+ dd if=$(KDIR)/zImage conv=sync; \
+ ) > $(BIN_DIR)/$(IMG_PREFIX)-$(2)-sysupgrade.img
+endif
+endef
+
+define Image/Build/TPLINK
+ -$(STAGING_DIR_HOST)/bin/mktplinkfw \
+ -H $(4) -W $(5) -F $(6) -N OpenWrt -V $(REVISION) $(7) \
+ -k $(KDIR)/$(3) \
+ -r $(KDIR)/root.$(1) \
+ -o $(call factoryname,$(1),$(2))
+ -$(STAGING_DIR_HOST)/bin/mktplinkfw \
+ -H $(4) -W $(5) -F $(6) -N OpenWrt -V $(REVISION) $(7) -s \
+ -k $(KDIR)/$(3) \
+ -r $(KDIR)/root.$(1) \
+ -o $(call sysupname,$(1),$(2))
+endef
+
+define Image/Build/Profile/hiveap-330
+ $(call Image/Build/Aerohive,$(1),hiveap-330)
+endef
+
+define Image/Build/Profile/TLWDR4900
+ $(call Image/Build/TPLINK,$(1),tl-wdr4900-v1,cuImage.tl-wdr4900-v1,0x49000001,1,16Mppc)
+endef
+
+define Image/Build/Profile/Default
+ $(call Image/Build/Profile/TLWDR4900,$(1))
+endef
+