On 17.07.2008 07:58, Richard Smith wrote:
Replacement of LinuxBIOS with OFW: Many moons ago
when this happened
I said I was going to write up all the whys. But I never did. My bad.
/me smacks self. So I'm not surprised to see various bits of
speculation as to why. As one of the decision makers for this switch
The absolute top reason was for field debug and diagnostics. I've
head the FORTH folk mention this a few times but now having lived it
for almost 2 years I grok. There is no substitute for having a low
level simple yet powerful interpreter when you are debugging hardware
level problems. I use it daily. Now before a FORTH is/is not flame
war ensues note that this is not FORTH specific. An embedded BASIC
interpreter or other some such would work too. FORTH is just one such
interpreter that fills this roll very nicely.
So you'd have been happy with LLShell and RemoteBIOS. There are great
tools available, the biggest problem is that nobody knows about them.
Everything else was secondary. We could have coded
around all the
other issues we had with LinuxBIOS  it would have just taken time
and effort. OFW also had some other nice features that we got for
free by switching but that was mostly icing. A lot of those type
features are now in V3.
Do you have any remaining features missing from v3?
 One area where this was not strictly true was
size. Using LAB we
were pushing the limit of the 8 Mbit part and still had to integrate
the wireless firmware. Dropping the VSA would have helped but I'm not
sure if it would have been enough. The larger size directly
translated into a longer firmware boot time due to the extra data we
had to uncompress.
Assuming 2 MByte/s throughput, dropping the VSA saved only 15 ms load
time. Even the whole Linux kernel shouldn't have needed more than 1
second for loading and uncompressing.
About the size problem: The 32k or so needed for the VSA are not really
a blip on the radar compared to a full Linux kernel. The kernel itself
is pretty massive, though, but that's what you get if you want decent
hardware support. Fixing OFW to boot properly from all devices (USB
disks, SD cards) supported by Linux is still ongoing AFAICS. It would be
nice to have an embedded Linux variant which is small enough to be
compressed into 512k, though.