[openfirmware] Using Open Firmware as a boot manager

Mitch Bradley wmb at laptop.org
Fri Mar 11 15:58:49 CET 2011

On 3/11/2011 3:01 AM, Mark Morgan Lloyd wrote:
> Given a copy of OFW booted from floppy on a PC, is there a comparatively
> straightforward way of using it to boot an OS or loader from other block
> devices or over the LAN, in the way that I'm used to on Sun kit?

Yes, you just say, for example,

    boot c:\boot\vmlinuz

That assumes that the support for the Linux file format has been 
included in the OFW build.  It also assumes that your linux kernel is in 
on the first partition of the primary IDE disk (the default target of 
the "c" devalias) in a supported filesystem like FAT or ext2.

Booting Windows is not supported in the PC demonstration build, but is 
possible with a fair amount of effort.  It requires ACPI and numerous 
other accomodations for Windows' use of conventional BIOS.  We support 
it on the One Laptop Per Child systems.

> I'm hoping to eventually put it on some ARM-based development boards as
> an interactive layer before they boot Linux (etc.) from disc.

My current work at One Laptop Per Child is ARM-based, so the OFW ARM 
port is being actively maintained and enhanced.  I have versions that 
you can load from uboot and others that run directly with no underlying 
firmware.  The latter, of course, requires that you take responsibility 
for the low-level issues of memory controller and DRAM initialization.

If you are a consumer of the board, then it's probably better to use 
whatever firmware is already there as the initial loader, using OFW as 
the boot manager as you say.  If you are developing your own hardware, 
it starts to make sense to use OFW from the ground up.

Feel free to contact me directly if you need additional guidance.  At 
this point I'm more interested in the ARM version than the x86 version, 
so the sooner you get onto ARM, the more help I'll be able to offer.

More information about the openfirmware mailing list