Jonathan McDowell wrote: [...]
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.
That's annoying, but I think we understand enough of the PBL entrypoints to write a quick and dirty bootstrap loader that's enough to boot u-boot.
[...]
(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
Yes, I was using the wrong syntax --- setenv bootargs=..., which appears to work, but just does the wrong thing.
I now have it working fine, using a USB mass storage device as its root filesystem! The only gotcha is that the kernel doesn't understand /dev/sd? naming, so you have to use root=8:1.
I've been experimenting with various off-the-shelf ARM root filesystems, more out of interest to see what would happen than any real expectation that it would work. Yours works, of course. A Familiar GPE install image doesn't, unfortunately; it seems to hang immediately after mounting the root filesystem. (This was after I repacked the JFFS2 image as an ext2 image.) I tried again with init=/bin/sh, but that hung too.
A Debian unstable initrd (stable won't work because of the 2.6 kernel), to my total surprise, actually runs fine! It complains bitterly about having to go into low-memory mode, but it ran, with dialogues and everything, up to the point where it was trying to download package files. I currently don't have any networking, but I think I'll try to scrounge a USB ethernet dongle and see what happens.
debian-installer claims to use about 8MB in low-memory mode, with about 20MB free. It's very sluggish over the serial port, but much snappier on the real console (Debian looks *weird* on that little screen). Unfortunately the mailboard's not working yet, and there aren't enough keys on the main keypad to interact with debian-installer.
I'm disappointed and a bit puzzled that Familiar wouldn't work. It would be far more suitable than Debian, and I reckon most of the hardware functionality is there to run GPE or Opie. I don't know what's going wrong. I'll have to investigate that tomorrow.
ADDENDUM: I've figured out the keymap on the keypad; the important keys are VIDEO (which is RETURN) and MOBILE MSG (which is BACKSPACE). This means I can now make debian-installer work sufficiently to allow me to get to a shell and enter commands. It feels weird.