48feea4861
Add Netgear WNCE2001. This is a small RT3052 device with 4MB spi flash and 32MB ram. 2 built-in antennas, 1x fastE, no USB, reset & wps switch. On my model the AP/RT switch is unpopulated, but I verified the gpio mapping for it. The stock firmware is running an unprotected tftpd which allows you to read any file from the filesystem. Serial port is present on testpads (See image on the wiki page). There are more testpads below the shield near the SoC, which may have JTAG. Slight annoyance: The bootloader is checksumming kernel&rootfs, but can be tricked by zeroing checksum and length fields in the checksum partition, see target/linux/ramips/base-files/lib/preinit/04_disable_wnce2001_flash_checksumming The manufacturer image is very similar to the DAP one, so I slightly modified mkdapimg to support generating it. The resulting openwrt-ramips-rt305x-wnce2001-squashfs-factory-(worldwide|northamerica).bin can be used to flash from stock to OpenWRT using the stock firmware upgrade function, without using the serial port. http://www.netgear.com/landing/wnce2001.aspx http://wiki.openwrt.org/toh/netgear/wnce2001 Signed-off-by: Tobias Diedrich <ranma+openwrt@tdiedrich.de> SVN-Revision: 36289
522 lines
20 KiB
Makefile
522 lines
20 KiB
Makefile
#
|
|
# Copyright (C) 2008-2011 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
|
|
|
|
define imgname
|
|
$(BIN_DIR)/$(IMG_PREFIX)-$(2)-$(1)
|
|
endef
|
|
|
|
define sysupname
|
|
$(call imgname,$(1),$(2))-sysupgrade.bin
|
|
endef
|
|
|
|
VMLINUX:=$(IMG_PREFIX)-vmlinux
|
|
UIMAGE:=$(IMG_PREFIX)-uImage
|
|
|
|
ifeq ($(CONFIG_TARGET_ROOTFS_INITRAMFS),y)
|
|
VMLINUX:=$(IMG_PREFIX)-vmlinux-initramfs
|
|
UIMAGE:=$(IMG_PREFIX)-uImage-initramfs
|
|
define Image/Build/Initramfs
|
|
$(call Image/Build/Profile/$(PROFILE),initramfs)
|
|
endef
|
|
endif
|
|
|
|
ifeq ($(CONFIG_SOC_RT288X),y)
|
|
define kernel_entry
|
|
-a 0x88000000 -e 0x88000000
|
|
endef
|
|
else
|
|
define kernel_entry
|
|
-a 0x80000000 -e 0x80000000
|
|
endef
|
|
endif
|
|
|
|
define MkCombineduImage
|
|
$(call PatchKernelLzma,$(2),$(3))
|
|
if [ `stat -c%s "$(KDIR)/vmlinux-$(2).bin.lzma"` -gt `expr $(4) - 64` ]; then \
|
|
echo "Warning: $(KDIR)/vmlinux-$(2).bin.lzma is too big" >&2; \
|
|
else if [ `stat -c%s "$(KDIR)/root.$(1)"` -gt $(5) ]; then \
|
|
echo "Warning: $(KDIR)/root.$(1) is too big" >&2; \
|
|
else \
|
|
( dd if=$(KDIR)/vmlinux-$(2).bin.lzma bs=`expr $(4) - 64` conv=sync ; dd if=$(KDIR)/root.$(1) ) > $(KDIR)/vmlinux-$(2).bin.lzma.combined ; \
|
|
fi ; fi
|
|
$(call MkImage,lzma,$(KDIR)/vmlinux-$(2).bin.lzma.combined,$(call sysupname,$(1),$(2)),$(6))
|
|
endef
|
|
|
|
|
|
#
|
|
# The real magic happens inside these templates
|
|
#
|
|
|
|
define MkImage
|
|
$(eval imagename=$(if $(4),$(4),MIPS OpenWrt Linux-$(LINUX_VERSION)))
|
|
-mkimage -A mips -O linux -T kernel -C $(1) $(call kernel_entry)\
|
|
-n "$(imagename)" \
|
|
-d $(2) $(3)
|
|
endef
|
|
|
|
define CompressLzma
|
|
$(STAGING_DIR_HOST)/bin/lzma e $(1) -lc1 -lp2 -pb2 $(2)
|
|
endef
|
|
|
|
define MkImageSysupgrade/squashfs
|
|
$(eval output_name=$(IMG_PREFIX)-$(2)-$(1)-$(if $(4),$(4),sysupgrade).bin)
|
|
cat $(KDIR)/vmlinux-$(2).uImage $(KDIR)/root.$(1) > $(KDIR)/$(output_name)
|
|
$(call prepare_generic_squashfs,$(KDIR)/$(output_name))
|
|
if [ `stat -c%s "$(KDIR)/$(output_name)"` -gt $(3) ]; then \
|
|
echo "Warning: $(KDIR)/$(output_name) is too big" >&2; \
|
|
else \
|
|
$(CP) $(KDIR)/$(output_name) $(BIN_DIR)/$(output_name); \
|
|
fi
|
|
endef
|
|
|
|
define PatchKernelLzmaDtb
|
|
cp $(KDIR)/vmlinux $(KDIR)/vmlinux-$(1)
|
|
$(LINUX_DIR)/scripts/dtc/dtc -O dtb -o $(KDIR)/$(2).dtb ../dts/$(2).dts
|
|
$(STAGING_DIR_HOST)/bin/patch-dtb $(KDIR)/vmlinux-$(1) $(KDIR)/$(2).dtb
|
|
$(call CompressLzma,$(KDIR)/vmlinux-$(1),$(KDIR)/vmlinux-$(1).bin.lzma)
|
|
endef
|
|
|
|
define MkImageLzmaDtb
|
|
$(call PatchKernelLzmaDtb,$(1),$(2))
|
|
$(call MkImage,lzma,$(KDIR)/vmlinux-$(1).bin.lzma,$(KDIR)/vmlinux-$(1).uImage,$(3))
|
|
endef
|
|
|
|
define BuildFirmware/OF
|
|
$(call MkImageLzmaDtb,$(2),$(3),$(5))
|
|
$(call MkImageSysupgrade/$(1),$(1),$(2),$(4),$(6))
|
|
endef
|
|
|
|
define BuildFirmware/OF/initramfs
|
|
$(call MkImageLzmaDtb,$(2),$(3))
|
|
$(CP) $(KDIR)/vmlinux-$(2).uImage $(call imgname,$(1),$(2))-uImage.bin
|
|
endef
|
|
|
|
|
|
# Build images for default ralink layout for 4MB flash
|
|
# kernel + roots = 0x3b0000
|
|
# $(1) = squashfs/initramfs
|
|
# $(2) = lowercase board name
|
|
# $(3) = dts file
|
|
ralink_default_fw_size_4M=3866624
|
|
BuildFirmware/Default4M/squashfs=$(call BuildFirmware/OF,$(1),$(2),$(3),$(ralink_default_fw_size_4M))
|
|
BuildFirmware/Default4M/initramfs=$(call BuildFirmware/OF/initramfs,$(1),$(2),$(3))
|
|
|
|
# Build images for default ralink layout for 8MB flash
|
|
# kernel + roots = 0x7b0000
|
|
# $(1) = squashfs/initramfs
|
|
# $(2) = lowercase board name
|
|
# $(3) = dts file
|
|
ralink_default_fw_size_8M=8060928
|
|
BuildFirmware/Default8M/squashfs=$(call BuildFirmware/OF,$(1),$(2),$(3),$(ralink_default_fw_size_8M))
|
|
BuildFirmware/Default8M/initramfs=$(call BuildFirmware/OF/initramfs,$(1),$(2),$(3))
|
|
|
|
# Build images for a custom sized flash layout
|
|
# $(1) = squashfs/initramfs
|
|
# $(2) = lowercase board name
|
|
# $(3) = dts file
|
|
# $(4) = kernel + rootfs size
|
|
BuildFirmware/CustomFlash/squashfs=$(call BuildFirmware/OF,$(1),$(2),$(3),$(4),$(5),$(6))
|
|
BuildFirmware/CustomFlash/initramfs=$(call BuildFirmware/OF/initramfs,$(1),$(2),$(3))
|
|
|
|
# wrappers for boards that have 4MB and 8MB versions
|
|
define BuildFirmware/DefaultDualSize/squashfs
|
|
$(call BuildFirmware/Default4M/$(1),$(1),$(2)-4M,$(3)-4M)
|
|
$(call BuildFirmware/Default8M/$(1),$(1),$(2)-8M,$(3)-8M)
|
|
endef
|
|
define BuildFirmware/DefaultDualSize/initramfs
|
|
$(call BuildFirmware/OF/initramfs,$(1),$(2)-4M,$(3)-4M)
|
|
$(call BuildFirmware/OF/initramfs,$(1),$(2)-8M,$(3)-8M)
|
|
endef
|
|
|
|
# Some boards need a special header inside the uImage to make them bootable
|
|
define BuildFirmware/CustomFlashFactory/squashfs
|
|
$(call BuildFirmware/CustomFlash/$(1),$(1),$(2),$(3),$(4))
|
|
$(call BuildFirmware/CustomFlash/$(1),$(1),$(2),$(3),$(4),$(5),$(6))
|
|
endef
|
|
BuildFirmware/CustomFlashFactory/initramfs=$(call BuildFirmware/OF/initramfs,$(1),$(2),$(3))
|
|
|
|
# sign an image to make it work with edimax tftp recovery
|
|
define BuildFirmware/Edimax/squashfs
|
|
$(call BuildFirmware/OF,$(1),$(2),$(3),$(4))
|
|
if [ -e "$(call sysupname,$(1),$(2))" ]; then \
|
|
mkedimaximg -i $(call sysupname,$(1),$(2)) \
|
|
-o $(call imgname,$(1),$(2))-factory.bin \
|
|
-s $(5) -m $(6) -f $(7) -S $(8); \
|
|
fi
|
|
endef
|
|
BuildFirmware/Edimax/initramfs=$(call BuildFirmware/OF/initramfs,$(1),$(2),$(3))
|
|
|
|
# build Seama header images
|
|
define BuildFirmware/Seama/squashfs
|
|
$(call BuildFirmware/OF,$(1),$(2),$(3),$(ralink_default_fw_size_8M))
|
|
cat $(KDIR)/vmlinux-$(2).bin.lzma $(KDIR)/root.$(1) > $(KDIR)/img_$(2).$(1).tmp
|
|
if [ `stat -c%s "$(KDIR)/img_$(2).$(1).tmp"` -gt 8060864 ]; then \
|
|
echo "Warning: $(KDIR)/img_$(2).$(1).tmp is too big" >&2; \
|
|
else \
|
|
dd if=$(KDIR)/vmlinux-$(2).bin.lzma of=$(KDIR)/vmlinux-$(2).bin.lzma.padded bs=64k conv=sync; \
|
|
( \
|
|
dd if=$(KDIR)/vmlinux-$(2).bin.lzma.padded bs=1 count=`expr \`stat -c%s $(KDIR)/vmlinux-$(2).bin.lzma.padded\` - 64`; \
|
|
dd if=$(KDIR)/root.$(1) bs=64k conv=sync; \
|
|
) > $(KDIR)/vmlinux-$(2).tmp; \
|
|
$(STAGING_DIR_HOST)/bin/seama \
|
|
-i $(KDIR)/vmlinux-$(2).tmp \
|
|
-m "dev=/dev/mtdblock/2" -m "type=firmware"; \
|
|
$(STAGING_DIR_HOST)/bin/seama \
|
|
-s $(call imgname,$(1),$(2))-factory.bin \
|
|
-m "signature=$(4)" \
|
|
-i $(KDIR)/vmlinux-$(2).tmp.seama; \
|
|
fi
|
|
endef
|
|
BuildFirmware/Seama/initramfs=$(call BuildFirmware/OF/initramfs,$(1),$(2),$(3))
|
|
|
|
# sign Buffalo images
|
|
define BuildFirmware/Buffalo
|
|
if [ -e "$(call sysupname,$(1),$(2))" ]; then \
|
|
buffalo-enc -p $(3) -v 1.76 \
|
|
-i $(KDIR)/vmlinux-$(2).uImage \
|
|
-o $(KDIR)/vmlinux-$(2).uImage.enc; \
|
|
buffalo-enc -p $(3) -v 1.76 \
|
|
-i $(KDIR)/root.$(1) \
|
|
-o $(KDIR)/root.$(2).enc; \
|
|
buffalo-tag -b $(3) -p $(3) -a ram -v 1.76 -m 1.01 \
|
|
-l mlang8 -f 1 -r EU \
|
|
-i $(KDIR)/vmlinux-$(2).uImage.enc \
|
|
-i $(KDIR)/root.$(2).enc \
|
|
-o $(call imgname,$(1),$(2))-factory-EU.bin; \
|
|
fi
|
|
endef
|
|
|
|
# sign trednet / UMedia images
|
|
define BuildFirmware/UMedia/squashfs
|
|
$(call BuildFirmware/Default8M/$(1),$(1),$(2),$(3))
|
|
if [ -e "$(call sysupname,$(1),$(2))" ]; then \
|
|
fix-u-media-header -T 0x46 -B $(4) \
|
|
-i $(call sysupname,$(1),$(2)) \
|
|
-o $(call imgname,$(1),$(2))-factory.bin; \
|
|
fi
|
|
endef
|
|
BuildFirmware/UMedia/initramfs=$(call BuildFirmware/OF/initramfs,$(1),$(2),$(3))
|
|
|
|
# sign dap 1350 based images
|
|
dap1350_mtd_size=7667712
|
|
define BuildFirmware/dap1350/squashfs
|
|
$(call BuildFirmware/CustomFlash/$(1),$(1),$(2),$(3),$(dap1350_mtd_size))
|
|
-mkdapimg -s $(4) \
|
|
-i $(call sysupname,$(1),$(2)) \
|
|
-o $(call imgname,$(1),$(2))-factory.bin
|
|
endef
|
|
BuildFirmware/dap1350/initramfs=$(call BuildFirmware/OF/initramfs,$(1),$(2),$(3))
|
|
|
|
#
|
|
# RT288X Profiles
|
|
#
|
|
|
|
# 0x790000
|
|
belkin_f5d8235v1_mtd_size=7929856
|
|
Image/Build/Profile/F5D8235V1=$(call BuildFirmware/CustomFlash/$(1),$(1),f5d8235v1,F5D8235_V1,$(belkin_f5d8235v1_mtd_size))
|
|
|
|
Image/Build/Profile/BR6524N=$(call BuildFirmware/Edimax/$(1),$(1),br6524n,BR6524N,$(ralink_default_fw_size_4M),CSYS,WNRA,0x50000,0xc0000)
|
|
|
|
Image/Build/Profile/RTN15=$(call BuildFirmware/Default4M/$(1),$(1),rt-n15,RTN15)
|
|
|
|
Image/Build/Profile/V11STFE=$(call BuildFirmware/Default4M/$(1),$(1),v11st-fe,V11STFE)
|
|
|
|
Image/Build/Profile/WLITX4AG300N=$(call BuildFirmware/Default4M/$(1),$(1),wli-tx4-ag300n,WLI-TX4-AG300N)
|
|
|
|
ifeq ($(SUBTARGET),rt288x)
|
|
define Image/Build/Profile/Default
|
|
$(call Image/Build/Profile/F5D8235V1,$(1))
|
|
$(call Image/Build/Profile/BR6524N,$(1))
|
|
$(call Image/Build/Profile/RTN15,$(1))
|
|
$(call Image/Build/Profile/V11STFE,$(1))
|
|
$(call Image/Build/Profile/WLITX4AG300N,$(1))
|
|
endef
|
|
endif
|
|
|
|
|
|
|
|
#
|
|
# RT305X Profiles
|
|
#
|
|
|
|
edimax_3g6200n_mtd_size=3735552
|
|
Image/Build/Profile/3G6200N=$(call BuildFirmware/Edimax/$(1),$(1),3g-6200n,3G-6200N,$(edimax_3g6200n_mtd_size),CSYS,3G62,0x50000,0xc0000)
|
|
|
|
Image/Build/Profile/3G6200NL=$(call BuildFirmware/Edimax/$(1),$(1),3g-6200nl,3G-6200NL,$(edimax_3g6200n_mtd_size),CSYS,3G62,0x50000,0xc0000)
|
|
|
|
Image/Build/Profile/3G300M=$(call BuildFirmware/CustomFlashFactory/$(1),$(1),3g300m,3G300M,$(ralink_default_fw_size_4M),3G150M_SPI Kernel Image,factory)
|
|
|
|
Image/Build/Profile/AIR3GII=$(call BuildFirmware/Default4M/$(1),$(1),air3gii,AIR3GII)
|
|
|
|
define BuildFirmware/UIMAGE_8M
|
|
$(call MkCombineduImage,$(1),$(2),$(call mkcmdline,$(3),$(4),$(5)) $(call mkmtd/$(6),$(mtdlayout_8M)),$(kernel_size_8M),$(rootfs_size_8M),$(7))
|
|
endef
|
|
define Image/Build/Profile/ALL02393G
|
|
$(call Image/Build/Template/$(image_type)/$(1),UIMAGE_8M,all0239-3g,ALL0239-3G,ttyS1,57600,phys)
|
|
endef
|
|
|
|
Image/Build/Profile/ALL0256N=$(call BuildFirmware/DefaultDualSize/$(1),$(1),all0256n,ALL0256N)
|
|
|
|
allnet_all5002_mtd_size=33226752
|
|
Image/Build/Profile/ALL5002=$(call BuildFirmware/CustomFlash/$(1),$(1),all5002,ALL5002,$(allnet_all5002_mtd_size))
|
|
|
|
argus_atp52b_mtd_size=7995392
|
|
Image/Build/Profile/ARGUS_ATP52B=$(call BuildFirmware/CustomFlash/$(1),$(1),argus_atp52b,ARGUS_ATP52B,$(argus_atp52b_mtd_size))
|
|
|
|
Image/Build/Profile/BC2=$(call BuildFirmware/Default8M/$(1),$(1),bc2,BC2)
|
|
|
|
broadway_mtd_size=7929856
|
|
Image/Build/Profile/BROADWAY=$(call BuildFirmware/CustomFlashFactory/$(1),$(1),broadway,BROADWAY,$(broadway_mtd_size),Broadway Kernel Image,factory)
|
|
|
|
Image/Build/Profile/CARAMBOLA=$(call BuildFirmware/Default8M/$(1),$(1),carambola,CARAMBOLA)
|
|
|
|
Image/Build/Profile/D105=$(call BuildFirmware/Default4M/$(1),$(1),d105,D105)
|
|
|
|
define BuildFirmware/DIR300B1/squashfs
|
|
$(call BuildFirmware/Default4M/$(1),$(1),$(2),$(3))
|
|
-mkwrgimg -s $(4) -d /dev/mtdblock/2 \
|
|
-i $(call sysupname,$(1),$(2)) \
|
|
-o $(call imgname,$(1),$(2))-factory.bin
|
|
endef
|
|
BuildFirmware/DIR300B1/initramfs=$(call BuildFirmware/OF/initramfs,$(1),$(2),$(3))
|
|
Image/Build/Profile/DIR-300-B1=$(call BuildFirmware/DIR300B1/$(1),$(1),dir-300-b1,DIR-300-B1,wrgn23_dlwbr_dir300b)
|
|
Image/Build/Profile/DIR-600-B1=$(call BuildFirmware/DIR300B1/$(1),$(1),dir-600-b1,DIR-600-B1,wrgn23_dlwbr_dir600b)
|
|
Image/Build/Profile/DIR-600-B2=$(call BuildFirmware/DIR300B1/$(1),$(1),dir-600-b2,DIR-600-B2,wrgn23_dlwbr_dir600b)
|
|
Image/Build/Profile/DIR-615-D=$(call BuildFirmware/DIR300B1/$(1),$(1),dir-615-d,DIR-615-D,wrgn23_dlwbr_dir615d)
|
|
|
|
Image/Build/Profile/DIR-620-A1=$(call BuildFirmware/Default8M/$(1),$(1),dir-620-a1,DIR-620-A1)
|
|
|
|
define BuildFirmware/DIR615H1/squashfs
|
|
$(call BuildFirmware/Default4M/$(1),$(1),dir-615-h1,DIR-615-H1)
|
|
-mkdir615h1 -e $(call sysupname,$(1),dir-615-h1) \
|
|
-o $(call imgname,$(1),dir-615-h1)-factory.bin
|
|
endef
|
|
BuildFirmware/DIR615H1/initramfs=$(call BuildFirmware/OF/initramfs,$(1),dir-615-h1,DIR-615-H1)
|
|
Image/Build/Profile/DIR615H1=$(call BuildFirmware/DIR615H1/$(1),$(1))
|
|
|
|
Image/Build/Profile/DAP1350=$(call BuildFirmware/dap1350/$(1),$(1),dap-1350,DAP-1350,RT3052-AP-DAP1350-3)
|
|
|
|
Image/Build/Profile/DAP1350WW=$(call BuildFirmware/dap1350/$(1),$(1),dap-1350WW,DAP-1350,RT3052-AP-DAP1350WW-3)
|
|
|
|
Image/Build/Profile/ESR-9753=$(call BuildFirmware/Default4M/$(1),$(1),esr-9753,ESR-9753)
|
|
|
|
Image/Build/Profile/HW550-3G=$(call BuildFirmware/Default8M/$(1),$(1),hw550-3g,HW550-3G)
|
|
|
|
belkin_f5d8235v2_mtd_size=7929856
|
|
Image/Build/Profile/F5D8235V2=$(call BuildFirmware/CustomFlash/$(1),$(1),f5d8235v2,F5D8235_V2,$(belkin_f5d8235v2_mtd_size))
|
|
|
|
Image/Build/Profile/FONERA20N=$(call BuildFirmware/Edimax/$(1),$(1),fonera20n,FONERA20N,$(ralink_default_fw_size_8M),RSDK,NL1T,0x50000,0xc0000)
|
|
|
|
Image/Build/Profile/RT-N13U=$(call BuildFirmware/Default8M/$(1),$(1),rt-n13u,RT-N13U)
|
|
|
|
Image/Build/Profile/FREESTATION5=$(call BuildFirmware/Default8M/$(1),$(1),freestation5,FREESTATION5)
|
|
|
|
Image/Build/Profile/MOFI3500-3GN=$(call BuildFirmware/Default8M/$(1),$(1),mofi3500-3gn,MOFI3500-3GN)
|
|
|
|
Image/Build/Profile/NBG-419N=$(call BuildFirmware/Default4M/$(1),$(1),nbg-419n,NBG-419N)
|
|
|
|
Image/Build/Profile/MZKW300NH2=$(call BuildFirmware/Edimax/$(1),$(1),mzk-w300nh2,MZK-W300NH2,$(mzkw300nh2_mtd_size),CSYS,RN52,0x50000,0xc0000)
|
|
|
|
nw718_mtd_size=3801088
|
|
Image/Build/Profile/NW718=$(call BuildFirmware/CustomFlashFactory/$(1),$(1),nw718m,NW718,$(nw718_mtd_size),ARA1B4NCRNW718;1,factory)
|
|
|
|
Image/Build/Profile/OMNI-EMB=$(call BuildFirmware/Default8M/$(1),$(1),omni-emb,OMNI-EMB)
|
|
|
|
Image/Build/Profile/PSR-680W=$(call BuildFirmware/Default4M/$(1),$(1),psr-680w,PSR-680W)
|
|
|
|
Image/Build/Profile/PWH2004=$(call BuildFirmware/Default8M/$(1),$(1),pwh2004,PWH2004)
|
|
|
|
Image/Build/Profile/RTG32B1=$(call BuildFirmware/Default4M/$(1),$(1),rt-g32-b1,RT-G32-B1)
|
|
|
|
Image/Build/Profile/RTN10PLUS=$(call BuildFirmware/Default4M/$(1),$(1),rt-n10-plus,RT-N10-PLUS)
|
|
|
|
Image/Build/Profile/SL-R7205=$(call BuildFirmware/Default4M/$(1),$(1),sl-r7205,SL-R7205)
|
|
|
|
Image/Build/Profile/V22RW-2X2=$(call BuildFirmware/Default4M/$(1),$(1),v22rw-2x2,V22RW-2X2)
|
|
|
|
Image/Build/Profile/W150M=$(call BuildFirmware/CustomFlashFactory/$(1),$(1),w150m,W150M,$(ralink_default_fw_size_4M),W150M Kernel Image,factory)
|
|
|
|
Image/Build/Profile/W306R_V20=$(call BuildFirmware/CustomFlashFactory/$(1),$(1),w306r-v20,W306R_V20,$(ralink_default_fw_size_4M),linkn Kernel Image,factory)
|
|
|
|
Image/Build/Profile/W502U=$(call BuildFirmware/Default8M/$(1),$(1),w502u,W502U)
|
|
|
|
Image/Build/Profile/WCR150GN=$(call BuildFirmware/Default4M/$(1),$(1),wcr150gn,WCR150GN)
|
|
|
|
buffalo_whrg300n_mtd_size=3801088
|
|
define BuildFirmware/WHRG300N/squashfs
|
|
$(call BuildFirmware/Default4M/$(1),$(1),whr-g300n,WHR-G300N)
|
|
# the following line has a bad argument 3 ... the old Makefile was already broken
|
|
$(call BuildFirmware/Buffalo,$(1),whr-g300n,whr-g300n)
|
|
( \
|
|
echo -n -e "# Airstation FirmWare\nrun u_fw\nreset\n\n" | \
|
|
dd bs=512 count=1 conv=sync; \
|
|
dd if=$(call sysupname,$(1),whr-g300n); \
|
|
) > $(KDIR)/whr-g300n-tftp.tmp
|
|
buffalo-tftp -i $(KDIR)/whr-g300n-tftp.tmp \
|
|
-o $(call imgname,$(1),whr-g300n)-tftp.bin
|
|
endef
|
|
BuildFirmware/WHRG300N/initramfs=$(call BuildFirmware/OF/initramfs,$(1),whr-g300n,WHR-G300N)
|
|
Image/Build/Profile/WHRG300N=$(call BuildFirmware/WHRG300N/$(1),$(1))
|
|
|
|
Image/Build/Profile/WL_330N=$(call BuildFirmware/Default4M/$(1),$(1),wl-330n,WL_330N)
|
|
|
|
Image/Build/Profile/WL_330N3G=$(call BuildFirmware/Default4M/$(1),$(1),wl-330n3g,WL_330N3G)
|
|
|
|
kernel_size_wl341v3=917504
|
|
rootfs_size_wl341v3=2949120
|
|
define BuildFirmware/WL341V3/squashfs
|
|
$(call BuildFirmware/Default4M/$(1),$(1),wl341v3,WL341V3)
|
|
# This code looks broken and really needs to be converted to C
|
|
if [ -e "$(call sysupname,$(1),$(2))" ]; then \
|
|
( \
|
|
dd if=/dev/zero bs=195936 count=1; \
|
|
echo "1.01"; \
|
|
dd if=/dev/zero bs=581 count=1; \
|
|
echo -n -e "\x73\x45\x72\x43\x6F\x4D\x6D\x00\x01\x00\x00\x59\x4E\x37\x95\x58\x10\x00\x20\x00\x28\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x11\x03\x00\x00\x80\x00\x00\x00\x00\x03\x00\x00\x10\x12\x00\x00\x00\x10\x73\x45\x72\x43\x6F\x4D\x6D"; \
|
|
dd if=/dev/zero bs=65552 count=1; \
|
|
dd if=$(KDIR)/vmlinux-$(2).uImage bs=$(kernel_size_wl341v3) conv=sync; \
|
|
dd if=$(KDIR)/root.$(1) bs=64k conv=sync; \
|
|
dd if=/dev/zero bs=`expr 4194304 - 262144 - 16 - $(kernel_size_wl341v3) - \( \( \( \`stat -c%s $(KDIR)/root.$(1)\` / 65536 \) + 1 \) \* 65536 \)` count=1; \
|
|
echo -n -e "\x11\x03\x80\x00\x10\x12\x90\xF7\x65\x52\x63\x4F\x6D\x4D\x00\x00"; \
|
|
) > $(call imgname,$(1),$(2))-factory.bin; \
|
|
fi
|
|
endef
|
|
BuildFirmware/WL341V3/initramfs=$(call BuildFirmware/OF/initramfs,$(1),wl341v3,WL341V3)
|
|
Image/Build/Profile/WL341V3=$(call BuildFirmware/WL341V3/$(1),$(1))
|
|
|
|
Image/Build/Profile/WL-351=$(call BuildFirmware/Default4M/$(1),$(1),wl-351,WL-351)
|
|
|
|
define BuildFirmware/WNCE2001/squashfs
|
|
$(call BuildFirmware/Default4M/$(1),$(1),$(2),$(3))
|
|
-mkdapimg -s RT3052-AP-WNCE2001-3 -r WW -v 1.0.0.99 \
|
|
-i $(call sysupname,$(1),$(2)) \
|
|
-o $(call imgname,$(1),$(2))-factory-worldwide.bin
|
|
-mkdapimg -s RT3052-AP-WNCE2001-3 -r NA -v 1.0.0.99 \
|
|
-i $(call sysupname,$(1),$(2)) \
|
|
-o $(call imgname,$(1),$(2))-factory-northamerica.bin
|
|
endef
|
|
BuildFirmware/WNCE2001/initramfs=$(call BuildFirmware/OF/initramfs,$(1),$(2),$(3))
|
|
Image/Build/Profile/WNCE2001=$(call BuildFirmware/WNCE2001/$(1),$(1),wnce2001,WNCE2001)
|
|
|
|
Image/Build/Profile/WR512-3GN=$(call BuildFirmware/DefaultDualSize/$(1),$(1),wr512-3ng,WR512-3GN)
|
|
|
|
Image/Build/Profile/UR-326N4G=$(call BuildFirmware/Default4M/$(1),$(1),ur-326n4g,UR-326N4G)
|
|
|
|
Image/Build/Profile/UR-336UN=$(call BuildFirmware/Default8M/$(1),$(1),ur-336un,UR-336UN)
|
|
|
|
Image/Build/Profile/WR6202=$(call BuildFirmware/Default8M/$(1),$(1),wr6202,WR6202)
|
|
|
|
Image/Build/Profile/XDXRN502J=$(call BuildFirmware/Default4M/$(1),$(1),xdxrn502j,XDXRN502J)
|
|
|
|
ifeq ($(SUBTARGET),rt305x)
|
|
define Image/Build/Profile/Default
|
|
$(call Image/Build/Profile/3G6200N,$(1))
|
|
$(call Image/Build/Profile/3G6200NL,$(1))
|
|
$(call Image/Build/Profile/3G300M,$(1))
|
|
$(call Image/Build/Profile/AIR3GII,$(1))
|
|
$(call Image/Build/Profile/ALL02393G,$(1))
|
|
$(call Image/Build/Profile/ALL0256N,$(1))
|
|
$(call Image/Build/Profile/ALL5002,$(1))
|
|
$(call Image/Build/Profile/ARGUS_ATP52B,$(1))
|
|
$(call Image/Build/Profile/BC2,$(1))
|
|
$(call Image/Build/Profile/BROADWAY,$(1))
|
|
$(call Image/Build/Profile/CARAMBOLA,$(1))
|
|
$(call Image/Build/Profile/D105,$(1))
|
|
$(call Image/Build/Profile/DIR-300-B1,$(1))
|
|
$(call Image/Build/Profile/DIR-600-B1,$(1))
|
|
$(call Image/Build/Profile/DIR-600-B2,$(1))
|
|
$(call Image/Build/Profile/DIR-615-D,$(1))
|
|
$(call Image/Build/Profile/DIR-620-A1,$(1))
|
|
$(call Image/Build/Profile/DIR615H1,$(1))
|
|
$(call Image/Build/Profile/DAP1350,$(1))
|
|
$(call Image/Build/Profile/DAP1350WW,$(1))
|
|
$(call Image/Build/Profile/ESR-9753,$(1))
|
|
$(call Image/Build/Profile/F5D8235V2,$(1))
|
|
$(call Image/Build/Profile/FONERA20N,$(1))
|
|
$(call Image/Build/Profile/FREESTATION5,$(1))
|
|
$(call Image/Build/Profile/HW550-3G,$(1))
|
|
$(call Image/Build/Profile/MOFI3500-3GN,$(1))
|
|
$(call Image/Build/Profile/MZKW300NH2,$(1))
|
|
$(call Image/Build/Profile/NBG-419N,$(1))
|
|
$(call Image/Build/Profile/NW718,$(1))
|
|
$(call Image/Build/Profile/OMNI-EMB,$(1))
|
|
$(call Image/Build/Profile/PSR-680W,$(1))
|
|
$(call Image/Build/Profile/PWH2004,$(1))
|
|
$(call Image/Build/Profile/RTG32B1,$(1))
|
|
$(call Image/Build/Profile/RTN10PLUS,$(1))
|
|
$(call Image/Build/Profile/RT-N13U,$(1))
|
|
$(call Image/Build/Profile/SL-R7205,$(1))
|
|
$(call Image/Build/Profile/UR-326N4G,$(1))
|
|
$(call Image/Build/Profile/V22RW-2X2,$(1))
|
|
$(call Image/Build/Profile/W150M,$(1))
|
|
$(call Image/Build/Profile/W306R_V20,$(1))
|
|
$(call Image/Build/Profile/W502U,$(1))
|
|
$(call Image/Build/Profile/WCR150GN,$(1))
|
|
$(call Image/Build/Profile/WHRG300N,$(1))
|
|
$(call Image/Build/Profile/WL_330N,$(1))
|
|
$(call Image/Build/Profile/WL_330N3G,$(1))
|
|
$(call Image/Build/Profile/WL341V3,$(1))
|
|
$(call Image/Build/Profile/WL-351,$(1))
|
|
$(call Image/Build/Profile/WNCE2001,$(1))
|
|
$(call Image/Build/Profile/WR512-3GN,$(1))
|
|
$(call Image/Build/Profile/WR6202,$(1))
|
|
$(call Image/Build/Profile/XDXRN502J,$(1))
|
|
endef
|
|
endif
|
|
|
|
|
|
|
|
#
|
|
# RT3662/RT3883 Profiles
|
|
#
|
|
Image/Build/Profile/DIR645=$(call BuildFirmware/Seama/$(1),$(1),dir-645,DIR-645,wrgn39_dlob.hans_dir645)
|
|
|
|
omniembhpm_mtd_size=16449536
|
|
Image/Build/Profile/OMNIEMBHPM=$(call BuildFirmware/CustomFlash/$(1),$(1),omni-emb-hpm,OMNI-EMB-HPM,$(omniembhpm_mtd_size))
|
|
|
|
Image/Build/Profile/RTN56U=$(call BuildFirmware/Default8M/$(1),$(1),rt-n56u,RTN56U)
|
|
|
|
Image/Build/Profile/TEW691GR=$(call BuildFirmware/UMedia/$(1),$(1),tew-691gr,TEW-691GR,0x026910)
|
|
|
|
#Image/Build/Profile/TEW692GR=$(call BuildFirmware/UMedia/$(1),$(1),tew-692gr,TEW-692GR,0x026920)
|
|
|
|
ifeq ($(SUBTARGET),rt3883)
|
|
define Image/Build/Profile/Default
|
|
$(call Image/Build/Profile/DIR645,$(1))
|
|
$(call Image/Build/Profile/OMNIEMBHPM,$(1))
|
|
$(call Image/Build/Profile/RTN56U,$(1))
|
|
$(call Image/Build/Profile/TEW691GR,$(1))
|
|
$(call Image/Build/Profile/TEW692GR,$(1))
|
|
endef
|
|
endif
|
|
|
|
|
|
#
|
|
# Generic Targets
|
|
#
|
|
define Image/Build/squashfs
|
|
$(call prepare_generic_squashfs,$(KDIR)/root.squashfs)
|
|
endef
|
|
|
|
define Image/BuildKernel
|
|
cp $(KDIR)/vmlinux.elf $(BIN_DIR)/$(VMLINUX).elf
|
|
cp $(KDIR)/vmlinux $(BIN_DIR)/$(VMLINUX).bin
|
|
$(call CompressLzma,$(KDIR)/vmlinux,$(KDIR)/vmlinux.bin.lzma)
|
|
$(call MkImage,lzma,$(KDIR)/vmlinux.bin.lzma,$(KDIR)/uImage.lzma)
|
|
cp $(KDIR)/uImage.lzma $(BIN_DIR)/$(UIMAGE).bin
|
|
$(call Image/Build/Initramfs)
|
|
endef
|
|
|
|
define Image/Build
|
|
$(call Image/Build/$(1))
|
|
dd if=$(KDIR)/root.$(1) of=$(BIN_DIR)/$(IMG_PREFIX)-root.$(1) bs=128k conv=sync
|
|
$(call Image/Build/Profile/$(PROFILE),$(1))
|
|
endef
|
|
|
|
$(eval $(call BuildImage))
|