From 2a4fb82289872eaf4be51465bcd1208a2286e4c1 Mon Sep 17 00:00:00 2001 From: Florian Fainelli Date: Thu, 1 Apr 2010 21:20:43 +0000 Subject: flashmap and image generation: reduced union bcm_tag to a single struct combining the elements so that it is no longer necessary to create an openwrt-only tagid and tagcrc, and elimate the tagid detection and switch statements which made dealing with imagetags overly complicated, especially since the logic would need analogs in all code that touched the imagetag. Patch from cshore. SVN-Revision: 20652 --- target/linux/brcm63xx/image/Makefile | 98 ++++++++++------------- target/linux/brcm63xx/image/README.images-bcm63xx | 91 +++++++++++---------- 2 files changed, 87 insertions(+), 102 deletions(-) (limited to 'target/linux/brcm63xx/image') diff --git a/target/linux/brcm63xx/image/Makefile b/target/linux/brcm63xx/image/Makefile index 5d17c2b..f7d1473 100644 --- a/target/linux/brcm63xx/image/Makefile +++ b/target/linux/brcm63xx/image/Makefile @@ -30,9 +30,9 @@ endef define Image/Build/CFE # Generate the tagged image $(STAGING_DIR_HOST)/bin/imagetag -i $(KDIR)/vmlinux.lzma.cfe -f $(KDIR)/root.$(1) \ - -o $(BIN_DIR)/openwrt-$(2)-$(1)-$(6)-cfe.bin \ + -o $(BIN_DIR)/openwrt-$(4)-$(1)-cfe.bin \ -b $(2) -c $(3) -e $(LOADADDR) -l $(LOADADDR) \ - -t $(4) -d "$(5)" $(7) + -r "$(5)" $(6) # -b $(2) -c $(3) -e $(KERNEL_ENTRY) -l $(LOADADDR) endef @@ -40,17 +40,17 @@ endef define Image/Build/CFEAGPF # Generate the tagged image $(STAGING_DIR_HOST)/bin/imagetag -i $(KDIR)/vmlinux.lzma.cfe -f $(KDIR)/root.$(1) \ - -o $(BIN_DIR)/openwrt-$(2)-$(1)-$(7)-cfe.bin \ + -o $(BIN_DIR)/openwrt-$(5)-$(1)-cfe.bin \ -b $(2) -c $(3) -e $(LOADADDR) -l $(LOADADDR) \ - -v 8 -m IMAGE -k 0x20000 -n $(4) -t $(5) + -v 8 -m IMAGE -k 0x20000 -n $(4) endef define Image/Build/RG100A # Generate the tagged image $(STAGING_DIR_HOST)/bin/imagetag -i $(KDIR)/vmlinux.lzma.cfe -f $(KDIR)/root.$(1) \ - -o $(BIN_DIR)/openwrt-$(6)-$(1)-$(7)-cfe.bin \ + -o $(BIN_DIR)/openwrt-$(5)-$(1)-cfe.bin \ -b $(2) -c $(3) -e $(LOADADDR) -l $(LOADADDR) \ - -k 0x20000 -n $(4) -t $(5) + -k 0x20000 -n $(4) endef @@ -105,84 +105,70 @@ endef define Image/Build dd if=$(KDIR)/root.$(1) of=$(BIN_DIR)/openwrt-$(BOARD)-root.$(1) bs=128k conv=sync # Various routers - $(call Image/Build/CFE,$(1),96345GW2,6345,bccfe,,bccfe,) - $(call Image/Build/CFE,$(1),96345GW2,6345,bc221,,bc221,-y 5) - $(call Image/Build/CFE,$(1),96345GW2,6345,bc300,,bc300,) - $(call Image/Build/CFE,$(1),96345GW2,6345,bc310,OpenWRT-$(REVISION),bc310,) - $(call Image/Build/CFE,$(1),96348GW,6348,bccfe,,bccfe,) - $(call Image/Build/CFE,$(1),96348GW,6348,bc221,,bc221,-y 5) + $(call Image/Build/CFE,$(1),96345GW2,6345,96345GW2-generic) + $(call Image/Build/CFE,$(1),96345GW2,6345,96348GW2-bc221,,-y 5) + $(call Image/Build/CFE,$(1),96345GW2,6345,92345GW2-revision,OpenWRT-$(REVISION)) + $(call Image/Build/CFE,$(1),96348GW,6348,96348GW-generic,,) + $(call Image/Build/CFE,$(1),96348GW,6348,96348GW-bc221,,-y 5) + $(call Image/Build/CFE,$(1),6338GW,6338,6338GW-generic,,) + $(call Image/Build/CFE,$(1),6338W,6338,6338W-generic,,) + # BT Voyager V210_BTR - $(call Image/Build/CFE,$(1),V210_BB,6348,bc221,,btvgr,-y 5) + $(call Image/Build/CFE,$(1),V210_BB,6348,BTV210_BTR,,-y 5) # BT Voyager V210_ROI, V210_WB - $(call Image/Build/CFE,$(1),V210,6348,bc221,,btvgr,-y 5) + $(call Image/Build/CFE,$(1),V210,6348,BTV210_ROI_WB,,-y 5) # BT Voyager V2091_BTR - $(call Image/Build/CFE,$(1),V2091_BB,6348,bc221,,btvgr,-y 5) + $(call Image/Build/CFE,$(1),V2091_BB,6348,BTV2091_BTR,,y 5) # BT Voyager V2091_ROI, V2091_WB - $(call Image/Build/CFE,$(1),V2091,6348,bc221,,btvgr,-y 5) + $(call Image/Build/CFE,$(1),V2091,6348,BTV2091_ROI_WB,,-y 5) # BT Voyager V220V, V220V_MGCP_BTR - $(call Image/Build/CFE,$(1),RTA1052V,6348,bc221,,btvgr,-y 5) + $(call Image/Build/CFE,$(1),RTA1052V,6348,BTV220V_MGCP_BTR,,-y 5) # BT Voyager V2110, V2110_AA, V2110_ROI - $(call Image/Build/CFE,$(1),V2110,6348,bc221,,btvgr,-y 5) + $(call Image/Build/CFE,$(1),V2110,6348,BTV2110,,-y 5) # BT Voyager V2500V, V2500V_SIP_CLUB, V2500V_AA - $(call Image/Build/CFE,$(1),V2500V_BB,6348,bc221,,btvgr,-y 5) + $(call Image/Build/CFE,$(1),V2500V_BB,6348,BTV2500V,,-y 5) # RTA1025W_16 (numerous routers) - $(call Image/Build/CFE,$(1),RTA1025W_16,6348,bc221,,btrta,-y 5) + $(call Image/Build/CFE,$(1),RTA1025W_16,6348,RTA1025W_16,,-y 5) # Tecom GW6000 - $(call Image/Build/CFE,$(1),96348GW,6348,bc300,,bc300,) + $(call Image/Build/CFE,$(1),96348GW,6348,GW6000) # Tecom GW6200 - $(call Image/Build/CFE,$(1),96348GW,6348,bc310,$(shell printf '\x99'),gw6200) + $(call Image/Build/CFE,$(1),96348GW,6348,GW6200,$(shell printf '\x99')) # Neufbox4 - $(call Image/Build/CFE,$(1),96358VW,6358,bccfe,,bccfe) - $(call Image/Build/CFE,$(1),96358VW,6358,bc310,OpenWRT-$(REVISION),nb4) + $(call Image/Build/CFE,$(1),96358VW,6358,NEUFBOX4,OpenWRT-$(REVISION)) # Comtrend 536, 5621 - $(call Image/Build/CFE,$(1),96348GW-11,6348,bccfe,,bccfe) - $(call Image/Build/CFE,$(1),96348GW-11,6348,bc300,,bc300) - # TP-Link 8900GB - $(call Image/Build/CFE,$(1),96348GW-11,6348,bc310,$(shell printf 'PRID\x89\x10\x00\x02'),td8900GB) + $(call Image/Build/CFE,$(1),96348GW-11,6348,CT536_CT5621) # Davolink DV201AMR $(call Image/Build/CFEOLD,$(1),DV201AMR,6348) # USR 9108 - $(call Image/Build/CFE,$(1),96348GW-A,6348,bccfe,,bccfe) - $(call Image/Build/CFE,$(1),96348GW-A,6348,bc300,,bc300) + $(call Image/Build/CFE,$(1),96348GW-A,6348,USR9108) # NetGear DG834GT, DG834PN - $(call Image/Build/CFE,$(1),96348GW-10,6348,bccfe,,bccfe) - $(call Image/Build/CFE,$(1),96348GW-10,6348,bc300,,bc300) + $(call Image/Build/CFE,$(1),96348GW-10,6348,DG834GT_DG834PN) # Belkin f5d7633 - $(call Image/Build/CFE,$(1),96348GW-10,6348,bc310,,bc310) + $(call Image/Build/CFE,$(1),96348GW-10,6348,F5D7633) # D-Link DSL-2640B - $(call Image/Build/CFE,$(1),D-4P-W,6348,bc310,,bc310) + $(call Image/Build/CFE,$(1),D-4P-W,6348,DSL2640B) + # D-Link DSL-2740B + $(call Image/Build/CFE,$(1),96358GW,6358,DSL2740B) # TP-Link TD-8810A, TD-8810B, TD-8811A, TD-8811B - $(call Image/Build/CFE,$(1),8L-2M-8M,6338,bccfe,,bccfe) - $(call Image/Build/CFE,$(1),8L-2M-8M,6338,bc300,,bc300) - - # Generic 6338 images - $(call Image/Build/CFE,$(1),6338GW,6338,bccfe,,bccfe) - $(call Image/Build/CFE,$(1),6338GW,6338,bc221,,bc221) - $(call Image/Build/CFE,$(1),6338GW,6338,bc300,,bc300) - $(call Image/Build/CFE,$(1),6338GW,6338,bc310,,bc310) - $(call Image/Build/CFE,$(1),6338W,6338,bccfe,,bccfe) - $(call Image/Build/CFE,$(1),6338W,6338,bc221,,bc221) - $(call Image/Build/CFE,$(1),6338W,6338,bc300,,bc300) - $(call Image/Build/CFE,$(1),6338W,6338,bc310,,bc310) + $(call Image/Build/CFE,$(1),8L-2M-8M,6338,TP8810_8811) + # TP-Link 8900GB + $(call Image/Build/CFE,$(1),96348GW-11,6348,TD8900GB,$(shell printf 'PRID\x89\x10\x00\x02')) # Sagem F@ST2404 - $(call Image/Build/CFE,$(1),F@ST2404,6348,bccfe,,bccfe) - $(call Image/Build/CFE,$(1),F@ST2404,6348,bc300,,bc300) - $(call Image/Build/CFE,$(1),F@ST2404,6348,bc310,OpenWRT-$(REVISION),bc310) + $(call Image/Build/CFE,$(1),F@ST2404,6348,F@ST2404-cfe) + $(call Image/Build/CFE,$(1),F@ST2404,6348,F@ST2404,OpenWRT-$(REVISION)) # Inventel Livebox $(call Image/Build/RedBoot,livebox) - # D-Link DSL-2740B - $(call Image/Build/CFE,$(1),96358GW,6358,bc310,,dsl2740b) # Pirelli Alice Gate VoIP 2 Plus Wi-Fi AGPF-S0 - $(call Image/Build/CFEAGPF,$(1),AGPF-S0,6358,0x20000,bccfe,,bccfe) - $(call Image/Build/CFEAGPF,$(1),AGPF-S0,6358,0x20000,ag306,,agv2+w) + $(call Image/Build/CFEAGPF,$(1),AGPF-S0,6358,0x20000,AGV2+W-cfe) + $(call Image/Build/CFEAGPF,$(1),AGPF-S0,6358,0x20000,AGV2+W) # Pirelli A226G - $(call Image/Build/CFEAGPF,$(1),DWV-S0,6358,0x10000,bccfe,,bccfe) - $(call Image/Build/CFEAGPF,$(1),DWV-S0,6358,0x10000,ag306,DWV_96358,a226g) + $(call Image/Build/CFEAGPF,$(1),DWV-S0,6358,0x10000,A226G-cfe) + $(call Image/Build/CFEAGPF,$(1),DWV-S0,6358,0x10000,A226G) # RG100A,DB120 etc. - $(call Image/Build/RG100A,$(1),96358VW2,6358,0x20000,bc310,rg100a,bc310) + $(call Image/Build/RG100A,$(1),96358VW2,6358,0x20000,RG100A_DB120) endef diff --git a/target/linux/brcm63xx/image/README.images-bcm63xx b/target/linux/brcm63xx/image/README.images-bcm63xx index 9cf0574..91b6d01 100644 --- a/target/linux/brcm63xx/image/README.images-bcm63xx +++ b/target/linux/brcm63xx/image/README.images-bcm63xx @@ -16,6 +16,11 @@ Images flashable using cfe are labelled openwrt---cfe.bin The imagetags for tftp/ftp flashing is based on Broadcom 3.00-3.04 imagetags and is known to be correct as the source code GPL and is available for reading. +Broadcom code 2.21 is based on the BT Voyager firmware image I looked at. It +may in fact be BT Voyager-specific. 2.21 is actually more difficult to deal +with the imagetag from 3.00 as it has three different CRC calculations in +addtition to the header CRC. + Broadcom 3.00-3.02 flashing has been tested on Comtrend CT-5261, CT-536 and Tecom GW6000, and is the version of the flashing that was present before the imagetags were split by broadcom code version (early June 2009) @@ -27,16 +32,11 @@ this author (Daniel Dickinson) has seen is the Alice Gate (Pirelli) firmware which is known to be different due to vendor (Pirelli) modifications to the Broadcom code. -Broadcom 3.08 introduced changes to the imagetag to deal with TR69 (a remote -router management system developed by the DSL Forum). The version we are -using as 3.08 is based on the BT Voyager firmware image I looked at. It may -in fact be BT Voyager-specific, and may in fact not be 3.08, but modified 3.06 -and not apply to all 3.08 versions. - Broadcom 3.10 uses an imagetag that is believed to apply to all 3.10 and 3.12 -versions, and has been tested on the Tecom GW6200. It is similar to 3.08. -There is a field for vendor-specific information, that at least in some cases -is not optional. It is based on the hexedit of a neufbox4 firmware image, the +versions, and has been tested on the Tecom GW6200. This version introdec changes to +the imagetag to deal with TR69 (a remote rouer management system developed by the +DSL forum). There is a field for vendor-specific information, that at least in some +cases is not optional. It is based on the hexedit of a neufbox4 firmware image, the information in https://dev.openwrt.org/ticket/4987, and the hexedit of a Tecom GW6200 image. @@ -44,43 +44,41 @@ Some boards share the same tag format, but require vendor-specific fields in the board. In that case the tagid is shared, but the filename of the generated image reflects the router for which the image was created. -router |method| codever |tagid |filename -+-------------+------+---------+------+---------------------------------------- -|any |cfe | any |bccfe |openwrt---bccfe-cfe.bin -|any |t/ftp | any |bc300 |openwrt---bc300-cfe.bin -| |web |3.00-3.06|bc300 |openwrt---bc300-cfe.bin -| |web |3.10-3.12|bc310 |openwrt---bc310-cfe.bin -|AGVoIP2+WiFi |web |alice3.06|ag306 |openwrt-AGPF-S0--agv2+w-cfe.bin -|CT536 |web |3.02 |bc300 |openwrt-96348GW-11--bc300-cfe.bin -|CT5621 |web |3.02 |bc300 |openwrt-96348GW-11--bc300-cfe.bin -|DG834GT |web |3.02 |bc300 |openwrt-96348GW-10--bc300-cfe.bin -|DG834PN |web |3.02 |bc300 |openwrt-96348GW-10--bc300-cfe.bin -|DSL-2640B |web |3.10 |bc310 |openwrt-D-4P-W--bc310-cfe.bin -|DSL-2740B |web |3.10 |bc310 |openwrt-96358GW--dsl2740b-cfe.bin -|F5D7633 |web |3.10 |bc310 |openwrt-96348GW-10--bc310-cfe.bin -|F@ST2404 |web |? |bc300 |openwrt-F@ST2404--bc300-cfe.bin -|F@ST2404 |web |? |bc310 |openwrt-F@ST2404--bc310-cfe.bin -|GW6000 |web |3.00 |bc300 |openwrt-96348GW--bc300-cfe.bin -|GW6200 |web |3.10 |bc310 |openwrt-96348GW--gw6200-cfe.bin -|Neufbox4 |web |3.12 |bc310 |openwrt-96358VW--nb4-cfe.bin -|TD8810A |web |3.06 |bc300 |openwrt-8L-2M-8M--bc306-cfe.bin -|TD8810B |web |3.06 |bc300 |openwrt-8L-2M-8M--bc306-cfe.bin -|TD8811A |web |3.06 |bc300 |openwrt-8L-2M-8M--bc306-cfe.bin -|TD8811B |web |3.06 |bc300 |openwrt-8L-2M-8M--bc306-cfe.bin -|TD8900GB |web |3.06 |bc300 |openwrt-96348GW-11--td8900gb-cfe.bin -|USR9108 |web |? |bc300 |openwrt-96348GW-A--bc300-cfe.bin -|V2091_BTR |web |2.21 |bc221 |openwrt-V2091_BB--btvgr-cfe.bin -|V2091_ROI |web |2.21 |bc221 |openwrt-V2091--btvgr-cfe.bin -|V2091_WB |web |2.21 |bc221 |openwrt-V2091--btvgr-cfe.bin -|V210_BTR |web |2.21 |bc221 |openwrt-V210_BB--btvgr-cfe.bin -|V210_ROI |web |2.21 |bc221 |openwrt-V210--btvgr-cfe.bin -|V210_WB |web |2.21 |bc221 |openwrt-V210--btvgr-cfe.bin -|V2110 |web |2.21 |bc221 |openwrt-V2110--btvgr-cfe.bin -|V2110_AA |web |2.21 |bc221 |openwrt-V2110--btvgr-cfe.bin -|V2110_ROI |web |2.21 |bc221 |openwrt-V2110--btvgr-cfe.bin -|V2500V |web |2.21 |bc221 |openwrt-V2500V_BB--btvgr-cfe.bin -|V2500V_AA |web |2.21 |bc221 |openwrt-V2500V_BB--btvgr-cfe.bin -|V2500V_SIP_CLUB |web|2.21 |bc221 |openwrt-V2500V_BB--btvgr-cfe.bin +router |method | codever |filename ++-------------+-------------+---------+--------------------------------------- +|any |cfe+most web | any |openwrt---cfe.bin +|AGVoIP2+WiFi |cfe |alice3.06|openwrt-AGV2+W-cfe--cfe.bin +|AGVoIP2+WiFi |web |alice3.06|openwrt-AGV2+W-cfe--cfe.bin +|CT536 |web |3.02 |openwrt-CT536_CT5621--cfe.bin +|CT5621 |web |3.02 |openwrt-CT536_CT5621--cfe.bin +|DG834GT |web |3.02 |openwrt-DG834GT_DG834PN--cfe.bin +|DG834PN |web |3.02 |openwrt-DG834GT_DG834PN--cfe.bin +|DSL-2640B |web |3.10 |openwrt-DSL2640B--cfe.bin +|DSL-2740B |web |3.10 |openwrt-DSL2670B--cfe.bin +|F5D7633 |web |3.10 |openwrt-F5D7633--cfe.bin +|F@ST2404 |web |3.0X? |openwrt-F@ST2404-cfe--cfe.bin +|F@ST2404 |web |3.1X? |openwrt-F@ST2404--cfe.bin +|GW6000 |web |3.00 |openwrt-GW6000--cfe.bin +|GW6200 |web |3.10 |openwrt-GW6200--cfe.bin +|Neufbox4 |web |3.12 |openwrt-NEUFBOX4--cfe.bin +|TD8810A |web |3.06 |openwrt-TD8810--cfe.bin +|TD8810B |web |3.06 |openwrt-TD8810--cfe.bin +|TD8811A |web |3.06 |openwrt-TD8811--cfe.bin +|TD8811B |web |3.06 |openwrt-TD881--cfe.bin +|TD8900GB |web |3.06 |openwrt-TD8900DB-cfe.bin +|USR9108 |web |3.0X? |openwrt-USR9108--cfe.bin +|V2091_BTR |web |2.21 |openwrt-V2091_BTR--cfe.bin +|V2091_ROI |web |2.21 |openwrt-V2091--cfe.bin +|V2091_WB |web |2.21 |openwrt-V2091--cfe.bin +|V210_BTR |web |2.21 |openwrt-V210_BTR--cfe.bin +|V210_ROI |web |2.21 |openwrt-V210-ROI_WB-cfe.bin +|V210_WB |web |2.21 |openwrt-V210-ROI_WB-cfe.bin +|V2110 |web |2.21 |openwrt-V2110--cfe.bin +|V2110_AA |web |2.21 |openwrt-V2110--cfe.bin +|V2110_ROI |web |2.21 |openwrt-V2110--cfe.bin +|V2500V |web |2.21 |openwrt-V2500V-cfe.bin +|V2500V_AA |web |2.21 |openwrt-V2500V--cfe.bin +|V2500V_SIP_CLUB |web |2.21 |openwrt-V2500V--cfe.bin Old imagetag routers -------------------- @@ -126,3 +124,4 @@ TP-Link |TD-W8900GB |3.06 Tecom |GW6000 |3.00 Tecom |GW6200 |3.10 USR |9108 |? + -- cgit v1.1