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 I'll summarize.
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 [1] 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?
[1] 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.
Regards, Carl-Daniel