On Mon, Jan 05, 2015 at 08:34:45AM +0000, Mark Morgan Lloyd wrote:
James Cameron wrote:
For interest, a port of a Forth to Raspberry Pi happened in the last couple of months. There's enough working code there to make a port of Open Firmware slightly less effort.
I think the problem here is that for OpenFirmware to really be useful, i.e. to the same extent that it is on Sun systems, it needs to take control as early as possible and in particular shouldn't be loaded from a filesystem which can be screwed. On a Raspberry Pi, that raises two issues:
i) The (originally undocumented) Broadcom SoC contains firmware or equivalent hardware to pull a first-stage loader off the SD card. So the SD card is always needed, even though the mechanical connector is known to be one of the less-reliable components and the card itself will, ultimately, have a limited life.
ii) If one grits ones teeth and subverts that mechanism, one ends up in control of the SoC rather than in control of the application processer that normally runs Linux.
If one instead tolerates the existing multi-stage loader, then one should be able to boot Forth onto the application processor in lieu of Linux. But this breaks the Sun model of "Open Boot in ROM, everything else on disc", and loses the desirable characteristic that any media or controller problem returns you to the "ok" prompt with diagnostic capabilities, and as such I'm not sure it's worth the effort.
I agree.
I'd be interested to know of any low-cost boards which could have OpenFirmware grafted in sufficiently early. A colleague is trying to build some router systems which, as a prerequisite, must have a serial console port.
I'm interested too. Perhaps the BeagleBone Black?
I've brought up C Forth on the Teensy 3.1, which while it isn't Open Firmware does share some behaviours enough to make me feel at home. But no filesystems or TCP/IP.
http://quozl.linux.org.au/cforth-on-teensy/