in message 3DA3D18E.4000109@onelabs.com you wrote:
LinuxBIOS was designed to use Linux to boot the OS of choice.
So was PPCBoot, but without excluding the resto of the world.
It uses some assembly to do some basic init and config and then jumps to Linux to fully configure the rest of the system, after that LinuxBIOS jumps to whatever OS kernel is wanted.
So your boot sequence is LinuxBIOS => Linux => LinuxBIOS => Target OS?
Seems a bit overkill to me. Especially in systems where (flash) memory is tight it might be a PITA to have to reserve space for a Linux kernel just to initialize the hardware.
LinuxBIOS has booted; Linux, Plan9 and Win-CE. There is currently an effort to boot BSD and also another to boot Win32 (probably XP). Architectures include x86 and Alpha. IA64 is also in the works.
The current version of PPCBoot boots Linux, VxWorks, QNX, and NetBSD.
It comes with out-of-the-box configurations for 98 x PowerPC boards (MPC8xx, MPC824x, MPC8260, MPX7xx, MPC74xx, IBM 4xx), 3 x StrongARM boards, 2 x ARM7 and 3 x ARM9 systems. This includes a couple of commercial products like boards by esd, Gespac, Microsys, TQ, but also desktop systems like the AmigaOne or real-life products (from ISDN routers, Bluetooth LAN Access Points to bigger things like huge mobile cranes).
Ports for ColdFire and XScale are in the works. x86 is being discussed.
For simple systems PPCboot looks like a great way to go. LinuxBIOS would add support and config for more complex systems that include PCI, PCI Express, Infiniband and Hypertransport.
It seems you do not know much about PPCBoot.
PPCBoot supports a LOT of devices, of course including PCI. But also plain flash, DOC, flash disk, Compact Flash, harddisk, CDROM, SCSI devices, even some USB.
PPCBoot provides a very powerful method to store configuration parameters and command sequences. In most systems you do not need tools like ifconfig, route, etc. because PPCBoot can pass all required information to the Linux kernel's IP autoconfig mechanism. The environment is protected, and can be stored redundand so it is a very reliable mechanism.
PPCBoot also provides powerful scripting capabilties; busybox' "hush" shell has been integrated, so you can write standard shell scripts or run conditional command sequences using "if...then...else...fi", "for...do...done", "while...do...done", "until...do...done", or using shortcuts like "cmd1 && cmd2" or "cmd1 || cmd2".
A lot of complicated things like reliable software upgrade procedures with guaranteed fall-back to the old, working version can be implemented in PPCBoot with just a few lines of script.
PPCBoot also provides many additional features that are less frequently required, but very handy when you need them, for example dial-in support (so you can attach a modem to the serial console for remote administration), password protection, extensive POST code, etc. etc.