#
-# Copyright (C) 2008-2009 OpenWrt.org
+# Copyright (C) 2008-2010 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
include $(TOPDIR)/rules.mk
include $(INCLUDE_DIR)/image.mk
-IMGNAME:=$(BIN_DIR)/openwrt-$(BOARD)
-
define imgname
-$(IMGNAME)-$(2)-$(patsubst jffs2-%,jffs2,$(patsubst squashfs-%,squashfs,$(1)))
+$(BIN_DIR)/$(IMG_PREFIX)-$(2)-$(patsubst jffs2-%,jffs2,$(patsubst squashfs-%,squashfs,$(1)))
endef
-VMLINUX:=$(IMGNAME)-vmlinux
-UIMAGE:=$(IMGNAME)-uImage
+VMLINUX:=$(IMG_PREFIX)-vmlinux
+UIMAGE:=$(IMG_PREFIX)-uImage
fs_squash:=squashfs-only
fs_all:=all
fs_4k:=4k
fs_4k:=initramfs
fs_64k:=initramfs
fs_128k:=initramfs
- VMLINUX:=$(IMGNAME)-vmlinux-initramfs
- UIMAGE:=$(IMGNAME)-uImage-initramfs
+ VMLINUX:=$(IMG_PREFIX)-vmlinux-initramfs
+ UIMAGE:=$(IMG_PREFIX)-uImage-initramfs
endif
define CompressLzma
fi; fi
endef
-dir600a1_mtdlayout=mtdparts=spi0.0:192k(u-boot)ro,64k(nvram)ro,896k(kernel),2816k(rootfs),64k(mac)ro,64k(art)ro,3712k@0x40000(firmware)
-define Image/Build/DIR600A1
- $(call PatchKernelLzma,$(2),$(3) $(dir600a1_mtdlayout))
- if [ `stat -c%s "$(KDIR)/vmlinux-$(2).bin.lzma"` -gt 917504 ]; then \
- echo "Warning: $(KDIR)/vmlinux-$(2).bin.lzma is too big"; \
- else if [ `stat -c%s $(KDIR)/root.$(1)` -gt 2818048 ]; then \
- echo "Warning: $(KDIR)/root.$(1) is too big"; \
- else \
- mkimage -A mips -O linux -T kernel -a 0x80060000 -C lzma -e \
- 0x80060000 \
- -n 'MIPS OpenWrt Linux-$(LINUX_VERSION)' \
- -d $(KDIR)/vmlinux-$(2).bin.lzma $(KDIR)/vmlinux-$(2).uImage; \
- ( \
- dd if=$(KDIR)/vmlinux-$(2).uImage bs=896k conv=sync; \
- dd if=$(KDIR)/root.$(1) bs=2752k conv=sync; \
- echo -n "AP91-AR7240-RT-090223-00"; \
- ) > $(call imgname,$(1),$(2))-universal.bin; \
- fi; fi
-endef
-
dir825b1_mtdlayout=mtdparts=spi0.0:256k(uboot)ro,64k(config)ro,1024k(kernel),5184k(rootfs),64k(caldata)ro,1600k(unknown)ro,6208k@0x50000(firmware)
define Image/Build/DIR825B1
$(call PatchKernelLzma,$(2),$(3) $(dir825b1_mtdlayout))
0x80060000 \
-n 'MIPS OpenWrt Linux-$(LINUX_VERSION)' \
-d $(KDIR)/vmlinux-$(2).bin.lzma $(KDIR)/vmlinux-$(2).uImage; \
+ ( \
+ dd if=$(KDIR)/vmlinux-$(2).uImage bs=896k conv=sync; \
+ dd if=$(KDIR)/root.$(1) \
+ ) > $(call imgname,$(1),$(2))-sysupgrade.bin; \
( \
dd if=$(KDIR)/vmlinux-$(2).uImage bs=896k conv=sync; \
dd if=$(KDIR)/root.$(1) bs=2880k conv=sync; \
echo -n $(4); \
- ) > $(call imgname,$(1),$(2)).uni; \
+ ) > $(call imgname,$(1),$(2))-factory.bin; \
+ fi; fi
+endef
+
+cameo7240_mtdlayout=mtdparts=spi0.0:192k(u-boot)ro,64k(nvram)ro,896k(kernel),2816k(rootfs),64k(mac)ro,64k(art)ro,3712k@0x40000(firmware)
+define Image/Build/Cameo7240
+ $(call PatchKernelLzma,$(2),$(3) $(cameo7240_mtdlayout))
+ if [ `stat -c%s "$(KDIR)/vmlinux-$(2).bin.lzma"` -gt 917504 ]; then \
+ echo "Warning: $(KDIR)/vmlinux-$(2).bin.lzma is too big"; \
+ else if [ `stat -c%s $(KDIR)/root.$(1)` -gt 2818048 ]; then \
+ echo "Warning: $(KDIR)/root.$(1) is too big"; \
+ else \
+ mkimage -A mips -O linux -T kernel -a 0x80060000 -C lzma -e \
+ 0x80060000 \
+ -n 'MIPS OpenWrt Linux-$(LINUX_VERSION)' \
+ -d $(KDIR)/vmlinux-$(2).bin.lzma $(KDIR)/vmlinux-$(2).uImage; \
+ ( \
+ dd if=$(KDIR)/vmlinux-$(2).uImage bs=896k conv=sync; \
+ dd if=$(KDIR)/root.$(1) \
+ ) > $(call imgname,$(1),$(2))-sysupgrade.bin; \
+ ( \
+ dd if=$(KDIR)/vmlinux-$(2).uImage bs=896k conv=sync; \
+ dd if=$(KDIR)/root.$(1) bs=2752k conv=sync; \
+ echo -n $(4); \
+ ) > $(call imgname,$(1),$(2))-factory.bin; \
fi; fi
endef
fi; fi
endef
+define Image/Build/PB92
+ $(call PatchKernelGzip,$(2),$(3))
+ if [ `stat -c%s $(KDIR)/root.$(1)` -gt 2818048 ]; then \
+ echo "Warning: $(KDIR)/root.$(1) is too big"; \
+ else \
+ mkimage -A mips -O linux -T kernel -a 0x80060000 -C gzip -e \
+ 0x80060000 \
+ -n 'MIPS OpenWrt Linux-$(LINUX_VERSION)' \
+ -d $(KDIR)/vmlinux-$(2).bin.gz \
+ $(KDIR)/vmlinux-$(2).uImage; \
+ dd if=$(KDIR)/vmlinux-$(2).uImage \
+ of=$(call imgname,kernel,$(2)).bin bs=64k conv=sync; \
+ dd if=$(KDIR)/root.$(1) \
+ of=$(call imgname,$(1),$(2)-rootfs).bin bs=128k conv=sync; \
+ ( \
+ dd if=$(KDIR)/vmlinux-$(2).uImage bs=896k conv=sync; \
+ dd if=$(KDIR)/root.$(1); \
+ ) > $(call imgname,$(1),$(2))-sysupgrade.bin; \
+ fi
+endef
+
define Image/Build/PB4X
$(call PatchKernelLzma,$(2),$(3))
dd if=$(KDIR)/vmlinux-$(2).bin.lzma \
endef
define Image/Build/MyLoader
- -$(STAGING_DIR_HOST)/bin/mkmylofw -B $(2) \
- -p0x030000:0xd0000:al:0x80060000:kernel:$(KDIR)/vmlinux.bin.lzma \
- -p0x100000:0:::rootfs:$(KDIR)/root.$(1) \
- $(call imgname,$(1),$(2))-2M.img
- -$(STAGING_DIR_HOST)/bin/mkmylofw -B $(2) -s 0x400000 \
- -p0x030000:0xd0000:al:0x80060000:kernel:$(KDIR)/vmlinux.bin.lzma \
- -p0x100000:0:::rootfs:$(KDIR)/root.$(1) \
- $(call imgname,$(1),$(2))-4M.img
- -$(STAGING_DIR_HOST)/bin/mkmylofw -B $(2) -s 0x800000 \
- -p0x030000:0xd0000:al:0x80060000:kernel:$(KDIR)/vmlinux.bin.lzma \
- -p0x100000:0:::rootfs:$(KDIR)/root.$(1) \
- $(call imgname,$(1),$(2))-8M.img
- -$(STAGING_DIR_HOST)/bin/mkmylofw -B $(2) -s 0x1000000 \
- -p0x030000:0xd0000:al:0x80060000:kernel:$(KDIR)/vmlinux.bin.lzma \
- -p0x100000:0:::rootfs:$(KDIR)/root.$(1) \
- $(call imgname,$(1),$(2))-16M.img
+ -$(STAGING_DIR_HOST)/bin/mkmylofw -B $(2) -s $(3) \
+ -p0x030000:0xe0000:al:0x80060000:kernel:$(KDIR)/vmlinux.bin.lzma \
+ -p0x110000:0:::rootfs:$(KDIR)/root.$(1) \
+ $(call imgname,$(1),$(2))-$(4)-factory.img
endef
ubntxm_mtdlayout=mtdparts=spi0.0:256k(u-boot)ro,64k(u-boot-env)ro,1024k(kernel),6528k(rootfs),256k(cfg)ro,64k(EEPROM)ro,7552k@0x50000(firmware)
-$(STAGING_DIR_HOST)/bin/mkfwimage \
-B $(4) -v $(5).$(6).OpenWrt.$(REVISION) \
-k $(KDIR)/vmlinux-$(2).uImage \
- -r $(BIN_DIR)/openwrt-$(BOARD)-root.$(1) \
+ -r $(BIN_DIR)/$(IMG_PREFIX)-root.$(1) \
-o $(call imgname,$(1),$(2))-factory.bin
( \
dd if=$(KDIR)/vmlinux-$(2).uImage; \
- dd if=$(BIN_DIR)/openwrt-$(BOARD)-root.$(1); \
+ dd if=$(BIN_DIR)/$(IMG_PREFIX)-root.$(1); \
) > $(call imgname,$(1),$(2))-sysupgrade.bin
endef
-$(STAGING_DIR_HOST)/bin/mkfwimage \
-B $(4) -v $(5).$(6).OpenWrt.$(REVISION) \
-k $(KDIR)/vmlinux-$(2).lzma \
- -r $(BIN_DIR)/openwrt-$(BOARD)-root.$(1) \
+ -r $(BIN_DIR)/$(IMG_PREFIX)-root.$(1) \
-o $(call imgname,$(1),$(2))-factory.bin
-sh $(TOPDIR)/scripts/combined-image.sh \
"$(KDIR)/vmlinux-$(2).lzma" \
- "$(BIN_DIR)/openwrt-$(BOARD)-root.$(1)" \
+ "$(BIN_DIR)/$(IMG_PREFIX)-root.$(1)" \
$(call imgname,$(1),$(2))-sysupgrade.bin
endef
-$(STAGING_DIR_HOST)/bin/mktplinkfw \
-B $(4) -N OpenWrt -V $(REVISION)\
-k $(KDIR)/vmlinux-$(2).bin.gz \
- -r $(BIN_DIR)/openwrt-$(BOARD)-root.$(1) \
- -o $(call imgname,$(1),$(2))-universal.bin
+ -r $(BIN_DIR)/$(IMG_PREFIX)-root.$(1) \
+ -o $(call imgname,$(1),$(2))-factory.bin
+ -$(STAGING_DIR_HOST)/bin/mktplinkfw \
+ -B $(4) -N OpenWrt -V $(REVISION) -s \
+ -k $(KDIR)/vmlinux-$(2).bin.gz \
+ -r $(BIN_DIR)/$(IMG_PREFIX)-root.$(1) \
+ -o $(call imgname,$(1),$(2))-sysupgrade.bin
endef
define Image/Build/TPLINK/initramfs
$(call PatchKernelGzip,$(2),$(3))
-$(STAGING_DIR_HOST)/bin/mktplinkfw -c \
- -B $(4) -N OpenWrt -V $(REVISION)\
+ -B $(4) -N OpenWrt -V $(REVISION) -s \
-k $(KDIR)/vmlinux-$(2).bin.gz \
-o $(call imgname,$(1),$(2))-uImage.bin
endef
define Image/Build/CyberTAN
$(call PatchKernelGzip,$(2),$(3))
$(call MkImageGzip,$(KDIR)/vmlinux-$(2).bin.gz,$(KDIR)/vmlinux-$(2).uImage)
- ( \
- dd if=$(KDIR)/vmlinux-$(2).uImage bs=64k conv=sync; \
- dd if=/dev/zero bs=1 count=65476; \
- dd if=$(KDIR)/root.$(1) bs=64k; \
- ) > $(KDIR)/vmlinux-$(2).image
- $(STAGING_DIR_HOST)/bin/trx -o $(KDIR)/vmlinux-$(2).trx \
- -f $(KDIR)/vmlinux-$(2).image
- -$(STAGING_DIR_HOST)/bin/addpattern -B $(2) -v v$(4) -g \
- -i $(KDIR)/vmlinux-$(2).trx \
+ $(STAGING_DIR_HOST)/bin/trx -o $(KDIR)/image.tmp -f $(KDIR)/vmlinux-$(2).uImage \
+ -x 32 -a 0x10000 -x -32 -f $(KDIR)/root.$(1)
+ -$(STAGING_DIR_HOST)/bin/addpattern -B $(2) -v v$(4) \
+ -i $(KDIR)/image.tmp \
-o $(call imgname,$(1),$(2)).bin
+ rm $(KDIR)/image.tmp
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)
$(call Image/Build/Template/$(fs_64k)/$(1),PB4X,pb44,board=PB44)
endef
+define Image/Build/Profile/PB92
+ $(call Image/Build/Template/$(fs_64k)/$(1),PB92,pb92,board=PB92)
+endef
+
define Image/Build/Profile/WP543
- $(call Image/Build/Template/$(fs_64k)/$(1),MyLoader,wp543)
+ $(call Image/Build/Template/$(fs_64k)/$(1),MyLoader,wp543,0x200000,2M)
+ $(call Image/Build/Template/$(fs_64k)/$(1),MyLoader,wp543,0x400000,4M)
+ $(call Image/Build/Template/$(fs_64k)/$(1),MyLoader,wp543,0x800000,8M)
+ $(call Image/Build/Template/$(fs_64k)/$(1),MyLoader,wp543,0x1000000,16M)
endef
define Image/Build/Profile/DIR600A1
- $(call Image/Build/Template/$(fs_64k)/$(1),DIR600A1,dir-600-a1,board=DIR-600-A1)
+ $(call Image/Build/Template/$(fs_64k)/$(1),Cameo7240,dir-600-a1,board=DIR-600-A1,"AP91-AR7240-RT-090223-00")
+endef
+
+define Image/Build/Profile/FR54RTR
+ $(call Image/Build/Template/$(fs_64k)/$(1),Cameo7240,fr-54rtr,board=DIR-600-A1,"AP91-AR7240-RT-090223-01")
endef
define Image/Build/Profile/DIR615C1
$(call Image/Build/Profile/DIR600A1,$(1))
$(call Image/Build/Profile/DIR615C1,$(1))
$(call Image/Build/Profile/DIR825B1,$(1))
+ $(call Image/Build/Profile/FR54RTR,$(1))
$(call Image/Build/Profile/MZKW04NU,$(1))
$(call Image/Build/Profile/MZKW300NH,$(1))
$(call Image/Build/Profile/PB42,$(1))
$(call Image/Build/Profile/PB44,$(1))
+ $(call Image/Build/Profile/PB92,$(1))
$(call Image/Build/Profile/TEW632BRP,$(1))
$(call Image/Build/Profile/TEW652BRP,$(1))
$(call Image/Build/Profile/TLWR741NDV1,$(1))
$(call prepare_generic_squashfs,$(KDIR)/root.squashfs)
dd if=$(KDIR)/root.squashfs of=$(KDIR)/root.squashfs-4k.tmp0 bs=4k conv=sync
$(call add_jffs2_mark,$(KDIR)/root.squashfs-4k.tmp0)
- dd if=$(KDIR)/root.squashfs-4k.tmp0 of=$(IMGNAME)-root.squashfs-4k bs=4k conv=sync
- $(call add_jffs2_mark,$(IMGNAME)-root.squashfs-4k)
+ dd if=$(KDIR)/root.squashfs-4k.tmp0 of=$(IMG_PREFIX)-root.squashfs-4k bs=4k conv=sync
+ $(call add_jffs2_mark,$(IMG_PREFIX)-root.squashfs-4k)
rm -f $(KDIR)/root.squashfs-4k.tmp0
endef
define Image/Build
$(call Image/Build/$(1))
- dd if=$(KDIR)/root.$(1) of=$(IMGNAME)-root.$(1) bs=128k conv=sync
+ dd if=$(KDIR)/root.$(1) of=$(IMG_PREFIX)-root.$(1) bs=128k conv=sync
$(call Image/Build/Profile/$(PROFILE),$(1))
endef