summaryrefslogtreecommitdiffstats
path: root/target/linux/brcm63xx/image
diff options
context:
space:
mode:
authorflorian <florian@3c298f89-4303-0410-b956-a3cf2f4a3e73>2010-04-01 21:20:43 +0000
committerflorian <florian@3c298f89-4303-0410-b956-a3cf2f4a3e73>2010-04-01 21:20:43 +0000
commit58dcac852ce0140f7f7134a2d7d2dddaae2bdc80 (patch)
tree1b00423ca5467424b69a4fb97f6d786129b1d507 /target/linux/brcm63xx/image
parent7a7089f7e394f1d8e4a81e417333f5543c1b4ab8 (diff)
[brcm63xx] 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. git-svn-id: svn://svn.openwrt.org/openwrt/trunk@20652 3c298f89-4303-0410-b956-a3cf2f4a3e73
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 5d17c2baf..f7d1473ad 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 9cf05743a..91b6d019e 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 |?
+