Open Firmware: Difference between revisions
m (OpenFirmware -> Open Firmware) |
(aldargetli) |
||
Line 1: | Line 1: | ||
lariccabolat |
|||
'''Open Firmware''' is a hardware-independent [http://en.wikipedia.org/wiki/Firmware Firmware] (computer software which loads the operating system), developed by Mitch Bradley at Sun Microsystems, and used in post-NuBus PowerPC-based Apple Macintosh computers (though it has been dropped with Apple's transition to Intel processors), Sun Microsystems SPARC based workstations and servers, IBM POWER systems, and PegasosPPC systems, among others. On those computers, Open Firmware fulfills the same tasks as BIOS does on PC computers. |
'''Open Firmware''' is a hardware-independent [http://en.wikipedia.org/wiki/Firmware Firmware] (computer software which loads the operating system), developed by Mitch Bradley at Sun Microsystems, and used in post-NuBus PowerPC-based Apple Macintosh computers (though it has been dropped with Apple's transition to Intel processors), Sun Microsystems SPARC based workstations and servers, IBM POWER systems, and PegasosPPC systems, among others. On those computers, Open Firmware fulfills the same tasks as BIOS does on PC computers. |
||
Revision as of 17:11, 2 February 2008
lariccabolat Open Firmware is a hardware-independent Firmware (computer software which loads the operating system), developed by Mitch Bradley at Sun Microsystems, and used in post-NuBus PowerPC-based Apple Macintosh computers (though it has been dropped with Apple's transition to Intel processors), Sun Microsystems SPARC based workstations and servers, IBM POWER systems, and PegasosPPC systems, among others. On those computers, Open Firmware fulfills the same tasks as BIOS does on PC computers.
It is accessed by a user by a FORTH-based shell interface. FORTH is a powerful high level language.
For example Fedora and Debian use the YaBoot BootLoader for OpenFirmware.
Source Code
The source code for the firmware used in the XO-1 is available in the OpenFirmware subversion repository. To find the software used in a given OLPC release, look on the Firmware page to find the release, then look on the release page for the "svn" revision number. E.g. for OLPC Firmware q2d07 the revision number is 775. You can browse the Subversion repository and view or download the code.
Replacing BIOS in the XO - an historical overview -
Insyde was a development BIOS and bootloader used for a very short time until we were able to bootstrap our own. At that point, we moved to LinuxBIOS for both low-level hardware initializer and bootloader, which was less than ideal and somewhat unwieldy. In a surprise move, SUNW then opened up their parts of the OFW/OBP code under a BSD license, which allowed Mitch Bradley (at that point working for us) to open up his own parts -- that of his company, FirmWorks -- and let us have an acceptably-licensed OpenFirmware we can use as a fancy and compact bootloader. LinuxBIOS did low-level hardware initialization, transfered control to OFW, which then also acting as boot loader to load Linux OS.
Since the "c" series of firmware releases starting on April 6, 2007, LinuxBIOS has not been present at all. The low-level init is now done with a few lines of assembly language code and a big table of register values.
Removing LinuxBIOS was what made it possible to get the startup time down to a couple of seconds, and to do the firmware part of resume in a few milliseconds.
See also
External links
- Open Firmware Working Group: Official Open Firmware homepage hosted by Sun Microsystems, Inc.
- OpenBIOS project: Free/Open source Open firmware implementation
- Browse the Subversion repository
- Open Firmware in Wikipedia