summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--target/linux/ar71xx/image/Makefile41
-rw-r--r--target/linux/ar71xx/image/ubinize-nbg6716.ini29
-rw-r--r--target/linux/ar71xx/nand/profiles/zyxel.mk18
3 files changed, 88 insertions, 0 deletions
diff --git a/target/linux/ar71xx/image/Makefile b/target/linux/ar71xx/image/Makefile
index 9295699..8234f88 100644
--- a/target/linux/ar71xx/image/Makefile
+++ b/target/linux/ar71xx/image/Makefile
@@ -285,6 +285,8 @@ wndr4300_mtdlayout=mtdparts=ar934x-nfc:256k(u-boot)ro,256k(u-boot-env)ro,256k(ca
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,6848k@0x130000(filesystem)
+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),-(ubiroot)
+
define Image/BuildKernel
cp $(KDIR)/vmlinux.elf $(VMLINUX).elf
@@ -881,6 +883,43 @@ ifdef CONFIG_PACKAGE_uboot-ar71xx-nbg460n_550n_550nh
endif
+define Image/Build/ZyXELNAND/buildkernel
+ $(eval kernelsize=$(call mtdpartsize,kernel,$(5)))
+ $(call MkuImageLzma,$(2),$(3) $(5) $(6))
+ mkdir -p $(KDIR_TMP)/$(2)/image/boot
+ cp $(KDIR_TMP)/vmlinux-$(2).uImage $(KDIR_TMP)/$(2)/image/boot/vmlinux.lzma.uImage
+ $(STAGING_DIR_HOST)/bin/mkfs.jffs2 \
+ --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 '/^.+$$$$/'
+ -rm -rf $(KDIR_TMP)/$(2)
+endef
+
+define Image/Build/ZyXELNAND
+ if [ "$(1)" != "squashfs" ]; then \
+ echo Only squashfs is supported; \
+ return 0; \
+ fi
+ $(eval firmwaresize=$(call mtdpartsize,firmware,$(4)))
+ $(eval kernelsize=$(call mtdpartsize,kernel,$(4)))
+ $(eval imageraw=$(KDIR_TMP)/$(2)-raw.img)
+ $(CP) $(KDIR)/root.$(1) $(KDIR_TMP)/ubi_root.img
+ echo -ne '\xde\xad\xc0\xde' > $(KDIR_TMP)/jffs2.eof
+ $(call ubinize,ubinize-$(2).ini,$(KDIR_TMP),$(KDIR_TMP)/$(2)-root.ubi,128KiB,2048,-E 5)
+ ( \
+ dd if=$(KDIR_TMP)/$(2)-kernel.jffs2; \
+ dd if=$(KDIR_TMP)/$(2)-root.ubi \
+ ) > $(imageraw)
+ dd if=$(imageraw) of=$(BIN_DIR)/$(IMG_PREFIX)-$(2)-$(1)-factory.bin \
+ bs=128k conv=sync
+ ( \
+ dd if=$(KDIR_TMP)/$(2)-kernel.jffs2; \
+ dd if=$(KDIR)/root.$(1) bs=128k conv=sync \
+ ) > $(BIN_DIR)/$(IMG_PREFIX)-$(2)-$(1)-sysupgrade.bin
+endef
+
+
Image/Build/OpenMesh/buildkernel=$(call MkuImageLzma,$(2))
define Image/Build/OpenMesh
@@ -1180,6 +1219,8 @@ ifeq ($(SUBTARGET),nand)
$(eval $(call SingleProfile,NetgearNAND,64k,WNDR3700V4,wndr3700v4,WNDR4300,ttyS0,115200,$$(wndr4300_mtdlayout),0x33373033,WNDR3700V4,"",-H 29763948+128+128,wndr4300))
$(eval $(call SingleProfile,NetgearNAND,64k,WNDR4300V1,wndr4300,WNDR4300,ttyS0,115200,$$(wndr4300_mtdlayout),0x33373033,WNDR4300,"",-H 29763948+0+128+128+2x2+3x3,wndr4300))
+$(eval $(call SingleProfile,ZyXELNAND,128k,NBG6716,nbg6716,NBG6716,ttyS0,115200,NBG6716,$$(zyx_nbg6716_mtdlayout),ubi.mtd=ubiroot mem=256M))
+
$(eval $(call MultiProfile,WNDR4300,WNDR3700V4 WNDR4300V1))
endif # ifeq ($(SUBTARGET),nand)
diff --git a/target/linux/ar71xx/image/ubinize-nbg6716.ini b/target/linux/ar71xx/image/ubinize-nbg6716.ini
new file mode 100644
index 0000000..ec8d7c7
--- /dev/null
+++ b/target/linux/ar71xx/image/ubinize-nbg6716.ini
@@ -0,0 +1,29 @@
+[rootfs]
+# Volume mode (other option is static)
+mode=ubi
+# Source image
+image=ubi_root.img
+# Volume ID in UBI image
+vol_id=0
+# Allow for dynamic resize
+vol_type=dynamic
+# Volume name
+vol_name=rootfs
+# Autoresize volume at first mount
+# vol_flags=autoresize
+vol_size=40MiB
+
+[rootfs_data]
+# Volume mode (other option is static)
+mode=ubi
+# Source image
+image=jffs2.eof
+# Volume ID in UBI image
+vol_id=1
+# Allow for dynamic resize
+vol_type=dynamic
+# Volume name
+vol_name=rootfs_data
+# Autoresize volume at first mount
+vol_size=100MiB
+#vol_flags=autoresize
diff --git a/target/linux/ar71xx/nand/profiles/zyxel.mk b/target/linux/ar71xx/nand/profiles/zyxel.mk
new file mode 100644
index 0000000..ec813e5
--- /dev/null
+++ b/target/linux/ar71xx/nand/profiles/zyxel.mk
@@ -0,0 +1,18 @@
+#
+# Copyright (C) 2009 OpenWrt.org
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+define Profile/NBG6716
+ NAME:=Zyxel NBG 6716
+ PACKAGES:=kmod-rtc-pcf8563 kmod-ath10k
+endef
+
+define Profile/NBG6716/Description
+ Package set optimized for the Zyxel NBG 6716 Routers.
+endef
+
+$(eval $(call Profile,NBG6716))
+