On Wed, Mar 29, 2006 at 02:46:05PM +0100, David Given wrote:
Jonathan McDowell wrote: [...]
I'm not entirely sure if PBL will read a LDR block earlier than 4M into flash; need to test that. And I seemed to be getting issues with the tail end of flash, so I need to have a look and see if PBL writes anything there that I might have to avoid. Aside from that does this seem sane to people?
PBL on the E2 certainly has a rather small limit as to the size of an executable block (too small to use for a Linux kernel, maybe too small for u-boot --- I forget the exact size). I don't know if the E3 has the same issue.
It won't run more than a 16K block, which is too small for u-boot. I think it might run a bigger compressed block (LDR is bigger, for example), but I'm not quite sure it'll stretch to the 80 or so K my current u-boot image is.
Thanks to Cliff for the detailed explanation of how the flash metadata works. From that, it seems to me that the view of the flash that PBL sees (after bad-block remapping) is *not* the same as the view that Linux sees (talking directly to the chip). Which means that while I'm safe and won't be able to trash the metadata using PBL, I *will* be able to trash the metadata using Linux --- and if I trash the metadata, I won't be able to use PBL to boot from the flash.
FWIW my dmesg seems to show Linux picking up badblocks just fine, though I can't confirm they're the same as what PBL sees.
I've updated the prebuilt kernel to include the palette fixing patch and also enable the internal modem.
Ta, I will fetch it. Is there any chance of uploading the kernel configuration file, as well, so I can try to build my own?
make ams_delta_defconfig
with the patches that are there will give you a default .config which I think is exactly what I used to build the image, or certainly not wildly different.
(Also, you may be interested to know that the kernel seems to be ignoring the boot parameters passed to it by u-boot.)
Really? It picks them up fine for me. If I do:
setenv bootargs mem=32M console=ttyS0,115200n8 root=/dev/ram0 initrd=0x11c00000,4M bootm 11d00000
then I find the image uses the supplied initrd as expected.
J.