aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/brcm63xx/image
diff options
context:
space:
mode:
authorFlorian Fainelli <florian@openwrt.org>2010-04-01 21:20:43 +0000
committerFlorian Fainelli <florian@openwrt.org>2010-04-01 21:20:43 +0000
commit2a4fb82289872eaf4be51465bcd1208a2286e4c1 (patch)
treea80419bd80bb70a6124403a782baf34e974e46ec /target/linux/brcm63xx/image
parentbbe4a57177ed26935f0cbf164f44a5e493d1523e (diff)
downloadupstream-2a4fb82289872eaf4be51465bcd1208a2286e4c1.tar.gz
upstream-2a4fb82289872eaf4be51465bcd1208a2286e4c1.tar.bz2
upstream-2a4fb82289872eaf4be51465bcd1208a2286e4c1.zip
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
Diffstat (limited to 'target/linux/brcm63xx/image')
-rw-r--r--target/linux/brcm63xx/image/Makefile98
-rw-r--r--target/linux/brcm63xx/image/README.images-bcm63xx91
2 files changed, 87 insertions, 102 deletions
diff --git a/target/linux/brcm63xx/image/Makefile b/target/linux/brcm63xx/image/Makefile
index 5d17c2baf9..f7d1473ada 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 9cf05743ab..91b6d019ee 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-<board>-<filesystem>-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-<board>-<fs>-bccfe-cfe.bin
-|any |t/ftp | any |bc300 |openwrt-<board>-<fs>-bc300-cfe.bin
-| |web |3.00-3.06|bc300 |openwrt-<board>-<fs>-bc300-cfe.bin
-| |web |3.10-3.12|bc310 |openwrt-<board>-<fs>-bc310-cfe.bin
-|AGVoIP2+WiFi |web |alice3.06|ag306 |openwrt-AGPF-S0-<fs>-agv2+w-cfe.bin
-|CT536 |web |3.02 |bc300 |openwrt-96348GW-11-<fs>-bc300-cfe.bin
-|CT5621 |web |3.02 |bc300 |openwrt-96348GW-11-<fs>-bc300-cfe.bin
-|DG834GT |web |3.02 |bc300 |openwrt-96348GW-10-<fs>-bc300-cfe.bin
-|DG834PN |web |3.02 |bc300 |openwrt-96348GW-10-<fs>-bc300-cfe.bin
-|DSL-2640B |web |3.10 |bc310 |openwrt-D-4P-W-<fs>-bc310-cfe.bin
-|DSL-2740B |web |3.10 |bc310 |openwrt-96358GW-<fs>-dsl2740b-cfe.bin
-|F5D7633 |web |3.10 |bc310 |openwrt-96348GW-10-<fs>-bc310-cfe.bin
-|F@ST2404 |web |? |bc300 |openwrt-F@ST2404-<fs>-bc300-cfe.bin
-|F@ST2404 |web |? |bc310 |openwrt-F@ST2404-<fs>-bc310-cfe.bin
-|GW6000 |web |3.00 |bc300 |openwrt-96348GW-<fs>-bc300-cfe.bin
-|GW6200 |web |3.10 |bc310 |openwrt-96348GW-<fs>-gw6200-cfe.bin
-|Neufbox4 |web |3.12 |bc310 |openwrt-96358VW-<fs>-nb4-cfe.bin
-|TD8810A |web |3.06 |bc300 |openwrt-8L-2M-8M-<fs>-bc306-cfe.bin
-|TD8810B |web |3.06 |bc300 |openwrt-8L-2M-8M-<fs>-bc306-cfe.bin
-|TD8811A |web |3.06 |bc300 |openwrt-8L-2M-8M-<fs>-bc306-cfe.bin
-|TD8811B |web |3.06 |bc300 |openwrt-8L-2M-8M-<fs>-bc306-cfe.bin
-|TD8900GB |web |3.06 |bc300 |openwrt-96348GW-11-<fs>-td8900gb-cfe.bin
-|USR9108 |web |? |bc300 |openwrt-96348GW-A-<fs>-bc300-cfe.bin
-|V2091_BTR |web |2.21 |bc221 |openwrt-V2091_BB-<fs>-btvgr-cfe.bin
-|V2091_ROI |web |2.21 |bc221 |openwrt-V2091-<fs>-btvgr-cfe.bin
-|V2091_WB |web |2.21 |bc221 |openwrt-V2091-<fs>-btvgr-cfe.bin
-|V210_BTR |web |2.21 |bc221 |openwrt-V210_BB-<fs>-btvgr-cfe.bin
-|V210_ROI |web |2.21 |bc221 |openwrt-V210-<fs>-btvgr-cfe.bin
-|V210_WB |web |2.21 |bc221 |openwrt-V210-<fs>-btvgr-cfe.bin
-|V2110 |web |2.21 |bc221 |openwrt-V2110-<fs>-btvgr-cfe.bin
-|V2110_AA |web |2.21 |bc221 |openwrt-V2110-<fs>-btvgr-cfe.bin
-|V2110_ROI |web |2.21 |bc221 |openwrt-V2110-<fs>-btvgr-cfe.bin
-|V2500V |web |2.21 |bc221 |openwrt-V2500V_BB-<fs>-btvgr-cfe.bin
-|V2500V_AA |web |2.21 |bc221 |openwrt-V2500V_BB-<fs>-btvgr-cfe.bin
-|V2500V_SIP_CLUB |web|2.21 |bc221 |openwrt-V2500V_BB-<fs>-btvgr-cfe.bin
+router |method | codever |filename
++-------------+-------------+---------+---------------------------------------
+|any |cfe+most web | any |openwrt-<board>-<fs>-cfe.bin
+|AGVoIP2+WiFi |cfe |alice3.06|openwrt-AGV2+W-cfe-<fs>-cfe.bin
+|AGVoIP2+WiFi |web |alice3.06|openwrt-AGV2+W-cfe-<fs>-cfe.bin
+|CT536 |web |3.02 |openwrt-CT536_CT5621-<fs>-cfe.bin
+|CT5621 |web |3.02 |openwrt-CT536_CT5621-<fs>-cfe.bin
+|DG834GT |web |3.02 |openwrt-DG834GT_DG834PN-<fs>-cfe.bin
+|DG834PN |web |3.02 |openwrt-DG834GT_DG834PN-<fs>-cfe.bin
+|DSL-2640B |web |3.10 |openwrt-DSL2640B-<fs>-cfe.bin
+|DSL-2740B |web |3.10 |openwrt-DSL2670B-<fs>-cfe.bin
+|F5D7633 |web |3.10 |openwrt-F5D7633-<fs>-cfe.bin
+|F@ST2404 |web |3.0X? |openwrt-F@ST2404-cfe-<fs>-cfe.bin
+|F@ST2404 |web |3.1X? |openwrt-F@ST2404-<fs>-cfe.bin
+|GW6000 |web |3.00 |openwrt-GW6000-<fs>-cfe.bin
+|GW6200 |web |3.10 |openwrt-GW6200-<fs>-cfe.bin
+|Neufbox4 |web |3.12 |openwrt-NEUFBOX4-<fs>-cfe.bin
+|TD8810A |web |3.06 |openwrt-TD8810-<fs>-cfe.bin
+|TD8810B |web |3.06 |openwrt-TD8810-<fs>-cfe.bin
+|TD8811A |web |3.06 |openwrt-TD8811-<fs>-cfe.bin
+|TD8811B |web |3.06 |openwrt-TD881-<fs>-cfe.bin
+|TD8900GB |web |3.06 |openwrt-TD8900DB<fs>-cfe.bin
+|USR9108 |web |3.0X? |openwrt-USR9108-<fs>-cfe.bin
+|V2091_BTR |web |2.21 |openwrt-V2091_BTR-<fs>-cfe.bin
+|V2091_ROI |web |2.21 |openwrt-V2091-<fs>-cfe.bin
+|V2091_WB |web |2.21 |openwrt-V2091-<fs>-cfe.bin
+|V210_BTR |web |2.21 |openwrt-V210_BTR-<fs>-cfe.bin
+|V210_ROI |web |2.21 |openwrt-V210-ROI_WB<fs>-cfe.bin
+|V210_WB |web |2.21 |openwrt-V210-ROI_WB<fs>-cfe.bin
+|V2110 |web |2.21 |openwrt-V2110-<fs>-cfe.bin
+|V2110_AA |web |2.21 |openwrt-V2110-<fs>-cfe.bin
+|V2110_ROI |web |2.21 |openwrt-V2110-<fs>-cfe.bin
+|V2500V |web |2.21 |openwrt-V2500V<fs>-cfe.bin
+|V2500V_AA |web |2.21 |openwrt-V2500V-<fs>-cfe.bin
+|V2500V_SIP_CLUB |web |2.21 |openwrt-V2500V-<fs>-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 |?
+