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