+ $(call MkImageGzip,$(KDIR)/vmlinux.bin.gz,$(UIMAGE)-gzip.bin)
+ $(call MkImageLzma,$(KDIR)/vmlinux.bin.lzma,$(UIMAGE)-lzma.bin)
+ $(call Image/Build/Initramfs)
+endef
+
+define Image/Build/WRT400N
+ $(call PatchKernelLzma,$(2),$(3))
+ if [ `stat -c%s "$(KDIR)/vmlinux-$(2).bin.lzma"` -gt 1310720 ]; then \
+ echo "Warning: $(KDIR)/vmlinux-$(2).bin.lzma is too big"; \
+ else if [ `stat -c%s $(KDIR)/root.$(1)` -gt 6488064 ]; 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=1280k conv=sync; \
+ dd if=$(KDIR)/root.$(1) bs=6336k conv=sync; \
+ echo -n $(4); \
+ ) > $(call imgname,$(1),$(2)).bin; \
+ wrt400n $(KDIR)/vmlinux-$(2).uImage $(KDIR)/root.$(1) $(call imgname,$(1),$(2)).webui; \
+ 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))
+ $(call MkImageLzma,$(KDIR)/vmlinux-$(2).bin.lzma,$(call imgname,$(1),$(2)).bin)
+ if [ `stat -c%s "$(call imgname,$(1),$(2)).bin"` -gt 1048576 ]; then \
+ echo "Warning: $(KDIR)/vmlinux-$(2).bin.lzma is too big"; \
+ rm -f $(call imgname,$(1),$(2)).bin; \
+ else if [ `stat -c%s $(KDIR)/root.$(1)` -gt 5308416 ]; then \
+ echo "Warning: $(KDIR)/root.$(1) is too big"; \
+ rm -f $(call imgname,$(1),$(2)).bin; \
+ else \
+ dd if=$(KDIR)/root.$(1) of=$(call imgname,$(1),$(2)).bin bs=1k seek=1024; \
+ cp $(call imgname,$(1),$(2)).bin $(call imgname,$(1),$(2))-backup-loader.bin; \
+ echo -n "01AP94-AR7161-RT-080619-00" >> $(call imgname,$(1),$(2))-backup-loader.bin; \
+ fi; fi
+endef
+
+define Image/Build/WZRHPG300NH
+ $(call PatchKernelLzma,$(2),$(3))
+ if [ `stat -c%s "$(KDIR)/vmlinux-$(2).bin.lzma"` -gt 1048576 ]; then \
+ echo "Warning: $(KDIR)/vmlinux-$(2).bin.lzma is too big"; \
+ else if [ `stat -c%s $(KDIR)/root.$(1)` -gt 31850496 ]; 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=1024k conv=sync; \
+ dd if=$(KDIR)/root.$(1) bs=128k conv=sync; \
+ ) > $(call imgname,$(1),$(2))-sysupgrade.bin; \
+ ( \
+ echo -n -e "# Airstation Public Fmt1\x00\x00\x00\x00\x00\x00\x00\x00"; \
+ dd if=$(call imgname,$(1),$(2))-sysupgrade.bin; \
+ ) > $(call imgname,$(1),$(2))-tftp.bin; \
+ fi; fi
+endef
+
+cameo_mtdlayout=mtdparts=spi0.0:128k(u-boot)ro,64k(config)ro,896k(kernel),2944k(rootfs),64k(art)ro,3840k@0x30000(firmware)
+define Image/Build/Cameo
+ $(call PatchKernelLzma,$(2),$(3) $(cameo_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 2949120 ]; 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=2880k conv=sync; \
+ echo -n $(4); \
+ ) > $(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
+
+define Image/Build/AP83
+ $(call PatchKernelGzip,$(2),$(3))
+ if [ `stat -c%s "$(KDIR)/vmlinux-$(2).bin.gz"` -gt 1310720 ]; then \
+ echo "Warning: $(KDIR)/vmlinux-$(2).bin.gz is too big"; \
+ else if [ `stat -c%s $(KDIR)/root.$(1)` -gt 6619136 ]; 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=1280k conv=sync; \
+ dd if=$(KDIR)/root.$(1); \
+ ) > $(call imgname,$(1),$(2))-sysupgrade.bin; \
+ 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 \
+ 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
+ -sh $(TOPDIR)/scripts/combined-image.sh \
+ "$(call imgname,kernel,$(2)).bin" \
+ "$(call imgname,$(1),$(2)-rootfs).bin" \
+ $(call imgname,$(1),$(2))-sysupgrade.bin
+endef
+
+define Image/Build/MyLoader
+ -$(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)
+define Image/Build/UBNTXM
+ $(call PatchKernelLzma,$(2),$(3) $(ubntxm_mtdlayout))
+ $(call MkImageLzma,$(KDIR)/vmlinux-$(2).bin.lzma,$(KDIR)/vmlinux-$(2).uImage.bin)
+ dd if=$(KDIR)/vmlinux-$(2).uImage.bin of=$(KDIR)/vmlinux-$(2).uImage bs=1024k conv=sync
+ -$(STAGING_DIR_HOST)/bin/mkfwimage \
+ -B $(4) -v $(5).$(6).OpenWrt.$(REVISION) \
+ -k $(KDIR)/vmlinux-$(2).uImage \
+ -r $(BIN_DIR)/$(IMG_PREFIX)-root.$(1) \
+ -o $(call imgname,$(1),$(2))-factory.bin
+ ( \
+ dd if=$(KDIR)/vmlinux-$(2).uImage; \
+ dd if=$(BIN_DIR)/$(IMG_PREFIX)-root.$(1); \
+ ) > $(call imgname,$(1),$(2))-sysupgrade.bin