On Fri, Mar 1, 2013 at 8:20 PM, Rafał Miłecki <zaj...@gmail.com> wrote:
> 2013/3/1 Tijs Van Buggenhout <t...@able.be>:
>> On Friday 01 March 2013 19:44:28 Fiach Antaw wrote:
>>
>> Maybe you can try a tftp boot of the new openwrt (elf) image via CFE, 
>> avoiding
>> to flash the device?
>>
>> http://wiki.openwrt.org/doc/hardware/soc/soc.broadcom.bcm47xx#network.boot
>
> Try that and verify if partition "board_data" was detected by the
> Linux. I suggest building 3.8 based bcm47xx firmware, as it uses
> "bcm47xxpart" driver which should handle board_data (detect it).
>

I've previously tried booting a standard kernel image (generic BCM47XX
with b44/all profile, no changes) via CFE, but CFE on this system
locates itself at 0x80300000 whilst the kernel ELF is loaded at
0x80000000, and the kernel generated by that profile was slightly over
3MB (overlapping the CFE code region and causing it to refuse to load
the ELF). I imagine a kernel built with fewer statically linked
modules would fit, but I didn't test that. I have flashed working
images onto the device through the CFE and booted them without issue,
though.

The flash layout used by this device (and perhaps other OpenRG-based
platforms) is different from what I understand to be the normal
broadcom layout: It's divided into partitions by a (possibly
hard-coded) partition table, and each partition starts with a header
containing a magic number ('0xFEEDBABE') and details about the
partition contents (checksum, length, et cetera). The partitions
themselves contain the CFE, primary and backup kernel/rootfs images
(TRX format), a cramfs image containing some (probably
carrier-specific) image and other static files for the web interface,
OpenRG configuration data and the NVRAM. Booting a mostly functional
OpenWRT image was just a matter of adding code to skip over the
partition header and fix the boot partition checksum after first boot,
and flashing the image to the primary/backup boot partitions.

As far as I can tell, none of these partitions contain the
'board_data' magic number used by the bcm47xxpart driver to detect the
board_data partition (it doesn't seem to appear anywhere in the entire
flash). I'm not sure this device even has a board_data partition, it
looks like only the CFE and probably NVRAM partitions seem to be
important for initial bootstrapping (at least, I've erased everything
but those without issue).
_______________________________________________
openwrt-devel mailing list
openwrt-devel@lists.openwrt.org
https://lists.openwrt.org/mailman/listinfo/openwrt-devel

Reply via email to