#20939: Astoria ARV7519RW22 dts out of bounds of flash memory
--------------------------+------------------------
  Reporter:  howl         |      Owner:  developers
      Type:  defect       |     Status:  new
  Priority:  normal       |  Milestone:
 Component:  base system  |    Version:  Trunk
Resolution:               |   Keywords:
--------------------------+------------------------

Comment (by howl):

 I have found another partition scheme that came in the original firmware
 and It seems to be the real one despite the original brn-boot shows
 another one. This partition schema is in the original U-Boot as originally
 it has both brn-boot and uboot. uboot is booted from brn-boot when you
 select to boot the linux image instead of booting Supertask RTOS.

 Here are the different schemas:
 {{{
 Original BRN-BOOT:
   - Flash Image         0xB0000000-0xB2000000       32768K
     - Boot              0xB0000000-0xB0080000            |-   512K
     - Linux Image       0xB0080000-0xB1880000            |- 24576K
       - ??              0xB0080000-0xB1280000            |       |- 18432K
       - Image 0         0xB1280000-0xB1880000            |       \-  6144K
     - Image 1           0xB1880000-0xB1E80000            |-  6144K
     - Configuration     0xB1E80000-0xB1F80000            |-  1024K
     - Boot Parameters   0xB1F80000-0xB1FC0000            \-   256K
     - Unused            0xB1FC0000-0xB2000000    (256K)

 Original U-Boot:
   - Flash Image         0xB0000000-0xB2000000       32768K
     - uboot (brn-boot)  0xB0000000-0xB0040000            |-   256K
     - uboot-bin         0xB0040000-0xB0080000            |-   256K
       - ddrconfig       0xB007FFE8-0xB0080000            |       \- 24B
     - ubootconfig       0xB0080000-0xB00A0000            |-   128K
     - kernel            0xB00A0000-0xB02A0000            |-  2048K
     - rootfs            0xB02A0000-0xB0CA0000            |- 10240K
     - rootfs2           0xB0CA0000-0xB11A0000            |-  5120K
     - sysconfig         0xB11A0000-0xB1280000            |-   896K
     - supertask_img     0xB1280000-0xB1E80000            |- 12288K
     - supertask_cfg     0xB1E80000-0xB1F80000            |-  1024K
     - supertask_bootcfg 0xB1F80000-0xB2000000            \-   512K

 OpenWrt:
   - Flash Image         0xB0000000-0xB2000000       32768K
     - uboot             0xB0000000-0xB0060000            |-   384K
     - uboot-env         0xB0060000-0xB0080000            |-   128K
     - firmware          0xB0080000-0xB1E80000            |- 30720K
       - ??              0xB0080000-0xB02164B8            |       |-
 ~1625,18K ( 1664184B)
       - rootfs          0xB02164B8-0xB1E80000            |       \-
 ~29094,82K (29793096B)
         - ??            0xB02164B8-0xB04C0000            |
 |- ~2726,82K ( 2792264B)
         - rootfs_data   0xB04C0000-0xB1E80000            |
 \-    26368K
    - dsl_fw             0xB1E80000-0xB1F80000            |-  1024K
    - boardconfig        0xB1F80000-0xB2000000            \-   512K
 }}}

 The original U-Boot reflects more accurate how the flash memory is used in
 reality. The kernel in fact starts in 0xB00A0000 and 0xB0080000 is used
 for uboot-env.

 So finally it could be interesting to change OpenWrt to partition as
 follow.
 uboot:       0xB0000000-0xB0080000
 uboot-env:   0xB0080000-0xB00A0000
 firmware:    0xB00A0000-0xB1E80000
 dsl_fw:      0xB1E80000-0xB1F80000
 boardconfig: 0xB1F80000-0xB2000000

 Still have to see if in fact Supertask writes the last 256K when saving
 it's configuration but repartitioning this way it doesn't matter as it's
 not going to be possible to use that little 256K for firmware and doesn't
 worth the effort.

 I have to update the Wiki and attach a patch to move kernel one page more
 and use the new space for uboot-env as in the original firmware.

--
Ticket URL: <https://dev.openwrt.org/ticket/20939#comment:2>
OpenWrt <http://openwrt.org>
Opensource Wireless Router Technology
_______________________________________________
openwrt-tickets mailing list
[email protected]
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-tickets

Reply via email to