Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
docs:techref:brcm63xx.imagetag [2018/02/20 18:51] – ↷ Page moved from doc:techref:brcm63xx.imagetag to docs:techref:brcm63xx.imagetag bobafetthotmaildocs:techref:brcm63xx.imagetag [2022/11/11 23:49] (current) – [TP-Link custom CFE] danitool
Line 170: Line 170:
 |''unsigned char headerCRC[4];''                     | 235-239: CRC32 of header excluding tagVersion| |''unsigned char headerCRC[4];''                     | 235-239: CRC32 of header excluding tagVersion|
 |''unsigned char reserved3[16];''                    | 240-255: Unused at present| |''unsigned char reserved3[16];''                    | 240-255: Unused at present|
 +
 +==== TP-Link custom CFE ====
 +
 +The size of the image header is 512 bytes length. Offsets are at different addresses.
 +^ define in kernel code                       ^ header offset ^ description ^
 +| ''unsigned long tagVersion;''      | 0-3   | Tag version number |
 +| ''unsigned char hardwareId[16];''              | 4-19  | HWID for cloud |
 +| ''unsigned char firmwareId[16];''              | 20-35 | FWID for cloud |
 +| ''unsigned char oemId[16];''      | 36-51 | OEMID for cloud |
 +| ''unsigned long productId;''                      | 52-55 | product id |  
 +| ''unsigned long productVer;''                      | 56-59 | product version |
 +| ''unsigned long addHver;''                         | 60-63 | Addtional hardware version |
 +| ''unsigned char imageValidToken[20];''             | 64-83 | image validation token - md5 checksum <color crimson>(not used?)</color> |
 +| ''unsigned char rcSingature[20];''              | 84-103 | RC singature(only for vxWorks) - RSA |
 +| ''unsigned long kernelTextAddr;''                  | 104-107 | text section address of kernel |
 +| ''unsigned long kernelEntryPoint;''                | 108-111 | entry point address of kernel |
 +| ''unsigned long totalImageLen;''                   | 112-115 | the sum of kernelLen+rootfsLen+tagLen |
 +| ''unsigned long kernelAddress;''                   | 116-119 | starting address (offset from the beginning of FILE_TAG) of kernel image  |
 +| ''unsigned long kernelLen;''              | 120-123 | length of kernel image |
 +| ''unsigned long rootfsAddress;''                   | 124-127 | starting address (offset) of filesystem image |
 +| ''unsigned long rootfsLen;''              | 128-131 | length of filesystem image |
 +| ''unsigned long bootAddress;''              | 132-135 | starting address (offset) of bootloader image |
 +| ''unsigned long bootLen;''              | 136-139 | length of bootloader image |
 +| ''unsigned long swRevision;''              | 140-143 | software revision |
 +| ''unsigned long platformVer;''              | 144-147 | platform version |
 +| ''unsigned long specialVer;''                      | 148:151 | special version or CRC32 for bin(kernel+rootfs) bitfliped|
 +| ''unsigned long binCrc32;''              | 152:155 | <color crimson>CRC32 for bin(kernel+rootfs) bitfliped</color> or empty|
 +| ''unsigned long imageSequence;''                   | 156:159 | DUALIMAGE, initial value is 0, valid value is [1 .. 999], for NAND flash: it's indicated by file extension of cferam.xxx in rootfs, for NOR flash: it's stored in kernel tag |
 +| ''unsigned long reserved1[12];''                   | 160-207 | reserved for future |
 +| ''unsigned char sig[128];''                      | 208-335 | <color crimson>signature for update</color> |
 +| ''unsigned char resSig[128];''                     | 336-443 | reserved for signature |
 +| ''unsigned long reserved2[12];''                   | 464-511 | reserved for future |
 +
 +
 +
 +
 +
 +
  
 ===== OpenWRT Broadcom 63xx Firmware Image README ===== ===== OpenWRT Broadcom 63xx Firmware Image README =====
  • Last modified: 2018/02/20 18:51
  • by bobafetthotmail