#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