diff --git a/target/linux/ar71xx/generic/profiles/zcomax.mk b/target/linux/ar71xx/generic/profiles/zcomax.mk
new file mode 100644
index 0000000000000000000000000000000000000000..8b99e3bef8206f4a42a433a8fcdb07b7ba54aa2c
--- /dev/null
+++ b/target/linux/ar71xx/generic/profiles/zcomax.mk
@@ -0,0 +1,28 @@
+#
+# Copyright (C) 2010 OpenWrt.org
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+define Profile/ZCN1523H28
+	NAME:=Zcomax ZCN-1523H-2-8
+	PACKAGES:=kmod-ath9k wpad-mini
+endef
+
+define Profile/ZCN1523H28/Description
+	Package set optimized for the Zcomax ZCN-1523H-2-8 board.
+endef
+
+$(eval $(call Profile,ZCN1523H28))
+
+define Profile/ZCN1523H516
+	NAME:=Zcomax ZCN-1523H-5-16
+	PACKAGES:=kmod-ath9k wpad-mini
+endef
+
+define Profile/ZCN1523H516/Description
+	Package set optimized for the Zcomax ZCN-1523H-5-16 board.
+endef
+
+$(eval $(call Profile,ZCN1523H516))
diff --git a/target/linux/ar71xx/image/Makefile b/target/linux/ar71xx/image/Makefile
index ea3614cf36d6d45452198b81a1a7b08aad3b174b..718b7e3ad161a5eb99e408875fda212ba7d185c4 100644
--- a/target/linux/ar71xx/image/Makefile
+++ b/target/linux/ar71xx/image/Makefile
@@ -381,6 +381,20 @@ define Image/Build/WNDR3700/initramfs
 		$(call imgname,$(1),$(2))-uImage.bin
 endef
 
+define Image/Build/Zcomax
+	$(call PatchKernelLzma,$(2),$(3))
+	$(call MkImageLzma,$(KDIR)/vmlinux-$(2).bin.lzma,$(KDIR)/vmlinux-$(2).uImage.bin)
+	-$(STAGING_DIR_HOST)/bin/mkzcfw \
+		-B $(2) \
+		-k $(KDIR)/vmlinux-$(2).uImage.bin \
+		-r $(BIN_DIR)/$(IMG_PREFIX)-root.$(1) \
+		-o $(call imgname,$(1),$(2))-factory.img
+	( \
+		dd if=$(BIN_DIR)/$(IMG_PREFIX)-root.$(1) bs=6208k count=1 conv=sync; \
+		dd if=$(KDIR)/vmlinux-$(2).uImage.bin bs=1472k count=1; \
+	) > $(call imgname,$(1),$(2))-sysupgrade.bin
+endef
+
 define Image/Build/Template/initramfs/initramfs
 	$(call Image/Build/$(1)/initramfs,initramfs,$(2),$(3),$(4),$(5),$(6),$(7))
 endef
@@ -573,6 +587,14 @@ define Image/Build/Profile/WZRHPG300NH
 	$(call Image/Build/Template/$(fs_128k)/$(1),WZRHPG300NH,wzr-hp-g300nh,board=WZR-HP-G300NH)
 endef
 
+define Image/Build/Profile/ZCN1523H28
+	$(call Image/Build/Template/$(fs_64k)/$(1),Zcomax,zcn-1523h-2-8,board=ZCN-1523H-2)
+endef
+
+define Image/Build/Profile/ZCN1523H516
+	$(call Image/Build/Template/$(fs_64k)/$(1),Zcomax,zcn-1523h-5-16,board=ZCN-1523H-5)
+endef
+
 define Image/Build/Profile/Default
 	$(call Image/Build/Profile/AP81,$(1))
 	$(call Image/Build/Profile/AP83,$(1))
@@ -604,6 +626,8 @@ define Image/Build/Profile/Default
 	$(call Image/Build/Profile/WRT400N,$(1))
 	$(call Image/Build/Profile/WRT160NL,$(1))
 	$(call Image/Build/Profile/WZRHPG300NH,$(1))
+	$(call Image/Build/Profile/ZCN1523H28,$(1))
+	$(call Image/Build/Profile/ZCN1523H516,$(1))
 endef
 
 define Image/Build/Profile/Minimal