summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjuhosg <juhosg@3c298f89-4303-0410-b956-a3cf2f4a3e73>2009-11-28 08:25:56 +0000
committerjuhosg <juhosg@3c298f89-4303-0410-b956-a3cf2f4a3e73>2009-11-28 08:25:56 +0000
commit00f04685a2c8254d08d3440325b096a88b121416 (patch)
tree77399e17234d1639417d8c769022cbea61853ece
parentebd0fd5ff93fe2a439143d06506dd46cf53668d8 (diff)
ar71xx: create sysupgrade image for the WNDR3700
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@18570 3c298f89-4303-0410-b956-a3cf2f4a3e73
-rwxr-xr-xtarget/linux/ar71xx/base-files/lib/upgrade/platform.sh7
-rw-r--r--target/linux/ar71xx/image/Makefile45
2 files changed, 52 insertions, 0 deletions
diff --git a/target/linux/ar71xx/base-files/lib/upgrade/platform.sh b/target/linux/ar71xx/base-files/lib/upgrade/platform.sh
index 8ee412ed0..97c3a41da 100755
--- a/target/linux/ar71xx/base-files/lib/upgrade/platform.sh
+++ b/target/linux/ar71xx/base-files/lib/upgrade/platform.sh
@@ -82,6 +82,13 @@ platform_check_image() {
}
return 0
;;
+ wndr3700)
+ [ "$magic" != "3337" ] && {
+ echo "Invalid image type."
+ return 1
+ }
+ return 0
+ ;;
wrt160nl)
[ "$magic" != "4e4c" ] && {
echo "Invalid image type."
diff --git a/target/linux/ar71xx/image/Makefile b/target/linux/ar71xx/image/Makefile
index 79f7b7c5f..4c88a85e6 100644
--- a/target/linux/ar71xx/image/Makefile
+++ b/target/linux/ar71xx/image/Makefile
@@ -215,6 +215,34 @@ define Image/Build/CyberTAN
-o $(call imgname,$(1),$(2)).bin
endef
+wndr3700_mtdlayout=mtdparts=spi0.0:320k(u-boot)ro,128k(u-boot-env)ro,1024k(kernel),6656k(rootfs),64k(art)ro,7680k@0x70000(firmware)
+define Image/Build/WNDR3700
+ $(call PatchKernelLzma,$(2),$(3) $(wndr3700_mtdlayout))
+ $(call MkImageLzma,$(KDIR)/vmlinux-$(2).bin.lzma,$(KDIR)/vmlinux-$(2).uImage)
+ mkdir $(KDIR)/wndr3700
+ mkdir $(KDIR)/wndr3700/image
+ $(STAGING_DIR_HOST)/bin/wndr3700 \
+ $(KDIR)/vmlinux-$(2).uImage \
+ $(KDIR)/wndr3700/image/uImage
+ $(STAGING_DIR_HOST)/bin/mksquashfs-lzma \
+ $(KDIR)/wndr3700 $(KDIR)/vmlinux-$(2).uImage.squashfs.tmp \
+ -nopad -noappend -root-owned -be
+ -rm -rf $(KDIR)/wndr3700
+ mkimage -A mips -O linux -T filesystem -C none \
+ -a 0xbf070000 -e 0xbf070000 \
+ -n 'MIPS OpenWrt Linux-$(LINUX_VERSION)' \
+ -d $(KDIR)/vmlinux-$(2).uImage.squashfs.tmp \
+ $(KDIR)/vmlinux-$(2).uImage.squashfs.tmp2
+ $(STAGING_DIR_HOST)/bin/wndr3700 \
+ $(KDIR)/vmlinux-$(2).uImage.squashfs.tmp2 \
+ $(KDIR)/vmlinux-$(2).uImage.squashfs
+ -rm -f $(KDIR)/vmlinux-$(2).uImage.squashfs.tmp*
+ ( \
+ dd if=$(KDIR)/vmlinux-$(2).uImage.squashfs bs=1M conv=sync; \
+ dd if=$(KDIR)/root.$(1) bs=64k; \
+ ) > $(call imgname,$(1),$(2))-sysupgrade.bin
+endef
+
define Image/Build/Template/Compex
$(call Image/Build/MyLoader,$(1),$(2))
endef
@@ -319,6 +347,18 @@ define Image/Build/Template/Planex/jffs2-64k
$(call Image/Build/Template/Planex,jffs2-64k,$(1),$(2))
endef
+define Image/Build/Template/WNDR3700
+ $(call Image/Build/WNDR3700,$(1),$(2),$(3))
+endef
+
+define Image/Build/Template/WNDR3700/squashfs
+ $(call Image/Build/Template/WNDR3700,squashfs,$(1),$(2))
+endef
+
+define Image/Build/Template/WNDR3700/jffs2-64k
+ $(call Image/Build/Template/WNDR3700,jffs2-64k,$(1),$(2))
+endef
+
define Image/Build/Profile/AP83
$(call Image/Build/Template/AP83/$(1),ap83,board=AP83)
endef
@@ -400,6 +440,10 @@ define Image/Build/Profile/TLWR941NDV2
$(call Image/Build/Template/TPLINK/$(1),tl-wr941ndv2,board=TL-WR941ND,TL-WR941NDv2)
endef
+define Image/Build/Profile/WNDR3700
+ $(call Image/Build/Template/WNDR3700/$(1),wndr3700,board=WNDR3700)
+endef
+
define Image/Build/Profile/WRT400N
$(call Image/Build/Template/WRT400N/$(1),wrt400n,board=WRT400N)
endef
@@ -422,6 +466,7 @@ define Image/Build/Profile/Default
$(call Image/Build/Profile/TLWR941NDV2,$(1))
$(call Image/Build/Profile/UBNT,$(1))
$(call Image/Build/Profile/WP543,$(1))
+ $(call Image/Build/Profile/WNDR3700,$(1))
$(call Image/Build/Profile/WRT400N,$(1))
$(call Image/Build/Profile/WRT160NL,$(1))
endef