mirror of
git://projects.qi-hardware.com/openwrt-xburst.git
synced 2025-04-21 12:27:27 +03:00
[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
This commit is contained in:
@@ -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
|
||||
|
||||
|
||||
@@ -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 |?
|
||||
|
||||
|
||||
Reference in New Issue
Block a user