OpenBoot
   HOME

TheInfoList



OR:

Open Firmware is a standard defining the interfaces of a computer firmware system, formerly endorsed by the Institute of Electrical and Electronics Engineers (IEEE). It originated at Sun Microsystems, where it was known as OpenBoot, and has been used by vendors including
Sun The Sun is the star at the center of the Solar System. It is a nearly perfect ball of hot plasma, heated to incandescence by nuclear fusion reactions in its core. The Sun radiates this energy mainly as light, ultraviolet, and infrared radi ...
,
Apple An apple is an edible fruit produced by an apple tree (''Malus domestica''). Apple trees are cultivated worldwide and are the most widely grown species in the genus ''Malus''. The tree originated in Central Asia, where its wild ancestor, ' ...
, IBM and
ARM In human anatomy, the arm refers to the upper limb in common usage, although academically the term specifically means the upper arm between the glenohumeral joint (shoulder joint) and the elbow joint. The distal part of the upper limb between th ...
. Open Firmware allows the system to load
platform Platform may refer to: Technology * Computing platform, a framework on which applications may be run * Platform game, a genre of video games * Car platform, a set of components shared by several vehicle models * Weapons platform, a system or ...
-independent drivers directly from a PCI device, improving compatibility. Open Firmware may be accessed through its command line interface, which uses the Forth programming language. Open Firmware is described by
IEEE The Institute of Electrical and Electronics Engineers (IEEE) is a 501(c)(3) professional association for electronic engineering and electrical engineering (and associated disciplines) with its corporate office in New York City and its operat ...
standard ''IEEE 1275-1994'', which was not reaffirmed by the Open Firmware Working Group (OFWG) since 1998 and has therefore been officially withdrawn by IEEE. Several commercial implementations of Open Firmware have been released to the Open Source community in 2006, including Sun OpenBoot, Firmworks OpenFirmware and Codegen SmartFirmware. The source code is available from the
OpenBIOS OpenBIOS is a project aiming to provide free and open source implementations of Open Firmware. It is also the name of such an implementation. Most of the implementations provided by OpenBIOS rely on additional lower-level firmware for hardware i ...
project. Sun's implementation is available under a
BSD license BSD licenses are a family of permissive free software licenses, imposing minimal restrictions on the use and distribution of covered software. This is in contrast to copyleft licenses, which have share-alike requirements. The original BSD lice ...
.


Features

Open Firmware defines a standard way to describe the hardware configuration of a system, called the ''
device tree In computing, a devicetree (also written device tree) is a data structure describing the hardware components of a particular computer so that the operating system's kernel can use and manage those components, including the CPU or CPUs, the memor ...
''. This helps the operating system to better understand the configuration of the host computer, relying less on user configuration and hardware polling. For example, Open Firmware is essential for reliably identifying slave I2C devices like temperature sensors for
hardware monitoring A system monitor is a hardware or software component used to monitor system resources and performance in a computer system. Among the management issues regarding use of system monitoring tools are resource usage and privacy. Overview Software ...
, whereas the alternative solution of performing a blind probe of the I2C bus, as has to be done by software like
lm_sensors lm_sensors (Linux-monitoring sensors) is a free open-source software-tool for Linux that provides tools and drivers for monitoring temperatures, voltage, humidity, and fans. It can also detect chassis intrusions. Issues During 2001/2004, the ...
on generic hardware, is known to result in serious hardware issues under certain circumstances. Open Firmware Forth Code may be compiled into FCode, a
bytecode Bytecode (also called portable code or p-code) is a form of instruction set designed for efficient execution by a software interpreter. Unlike human-readable source code, bytecodes are compact numeric codes, constants, and references (norma ...
which is independent of instruction set architecture. A
PCI card Peripheral Component Interconnect (PCI) is a local computer bus for attaching hardware devices in a computer and is part of the PCI Local Bus standard. The PCI bus supports the functions found on a processor bus but in a standardized format t ...
may include a program, compiled to FCode, which runs on any Open Firmware system. In this way, it can provide boot-time
diagnostic Diagnosis is the identification of the nature and cause of a certain phenomenon. Diagnosis is used in many different disciplines, with variations in the use of logic, analytics, and experience, to determine " cause and effect". In systems engin ...
s, configuration code, and device drivers. FCode is also very compact, so that a disk driver may require only one or two kilobytes. Therefore, many of the same I/O cards can be used on Sun systems and Macintoshes that used Open Firmware. FCode implements ANS Forth and a subset of the Open Firmware library. Being based upon an interactive programming language, Open Firmware can be used to efficiently test and bring up new hardware. It allows drivers to be written and tested interactively. Operational video and mouse drivers are the only prerequisite for a graphical interface suitable for end-user diagnostics. Apple shipped such a diagnostic "operating system" in many Power Macintoshes. Sun also shipped an FCode-based diagnostic tool suite called OpenBoot Diagnostics (OBDiag) used by customer service support and hardware manufacturing teams


Access

On Sun
SPARC SPARC (Scalable Processor Architecture) is a reduced instruction set computer (RISC) instruction set architecture originally developed by Sun Microsystems. Its design was strongly influenced by the experimental Berkeley RISC system develope ...
systems, the Open Firmware interface is displayed on the console terminal before the
bootstrapping In general, bootstrapping usually refers to a self-starting process that is supposed to continue or grow without external input. Etymology Tall boots may have a tab, loop or handle at the top known as a bootstrap, allowing one to use fingers ...
of the system software. If a keyboard is connected, the main video display will be used as the console terminal and Open Firmware can be re-entered at any time by pressing () on the keyboard. If no keyboard is connected, then the first serial line on the system is usually used as the console and Open Firmware is re-entered by sending a "Break" on the serial line. While the system software is running, various Open Firmware settings can be read or written using the eeprom command. On a PowerPC-based Macintosh, the Open Firmware interface can be accessed by pressing the keys at startup ( if using standard PC USB keyboard). Intel-based Macintoshes do not use Open Firmware; they use
Extensible Firmware Interface UEFI (Unified Extensible Firmware Interface) is a set of specifications written by the UEFI Forum. They define the architecture of the platform firmware used for booting and its interface for interaction with the operating system. Examples of f ...
. Also, early versions (before the PowerBook 3400) connect Open Firmware's input and output to the Modem port by default. This functionality is generally only used by developers or troubleshooting I.T. personnel; for common users, the
Mac OS X macOS (; previously OS X and originally Mac OS X) is a Unix operating system developed and marketed by Apple Inc. since 2001. It is the primary operating system for Apple's Mac computers. Within the market of desktop and la ...
operating system provides a high level
graphical user interface The GUI ( "UI" by itself is still usually pronounced . or ), graphical user interface, is a form of user interface that allows users to interact with electronic devices through graphical icons and audio indicator such as primary notation, inst ...
to change commonly used Open Firmware settings. For instance, it is possible to specify the
boot disk A boot disk is a removable digital data storage medium from which a computer can load and run (boot) an operating system or utility program. The computer must have a built-in program which will load and execute a program from a boot disk meeting ...
or
partition Partition may refer to: Computing Hardware * Disk partitioning, the division of a hard disk drive * Memory partition, a subdivision of a computer's memory, usually for use by a single job Software * Partition (database), the division of a ...
without directly using the Open Firmware interface, but with some limitations (e.g. it is not possible to select boot from USB mass-storage devices, but Open Firmware allows iMac to boot using boot ud:,\\:tbxi command). Other Open Firmware settings can be changed using the
nvram Non-volatile random-access memory (NVRAM) is random-access memory that retains data without applied power. This is in contrast to dynamic random-access memory (DRAM) and static random-access memory (SRAM), which both maintain data only for as lon ...
command while the system software is running.Apple's Transition from Open Firmware to Extensible Firmware Interface
mactech, 2007. On
Pegasos Pegasos is a MicroATX motherboard powered by a PowerPC 750CXe or PowerPC 7447 microprocessor, featuring three PCI slots, one AGP slot, two Ethernet ports (10/100/1000 & 10/100), USB, DDR, AC'97 sound, and FireWire. Like the PowerPC Macint ...
, the interface is accessed by pressing at startup. On
IBM Power Systems Power Systems is a family of server computers from IBM that are based on its Power processors. It was created in 2008 as a merger of the System p and System i product lines. History IBM had two distinct POWER- and PowerPC-based hardware l ...
, Open Firmware ("ok" prompt) can be accessed through the SMS Boot Menu. SMS Boot Menu can be accessed by pressing or during the boot sequence, after hardware checking, and just before the OS boot. On the
OLPC XO-1 The OLPC XO (formerly known as $100 Laptop, Children's Machine, 2B1) is a low cost laptop computer intended to be distributed to children in developing countries around the world, to provide them with access to knowledge, and opportunities to " ...
laptop, Open Firmware access requires a developer key, that can be obtained after registration with OLPC. After installing the key, upon each power-on, the boot countdown can be interrupted with (the upper left key) to get to the Forth prompt.


See also

* BIOS *
Libreboot Libreboot (briefly known as GNU Libreboot) is a free software project based on coreboot, aimed at replacing the proprietary BIOS firmware contained by most computers. Libreboot is a lightweight system designed to perform only the minimum number ...
*
Coreboot coreboot, formerly known as LinuxBIOS, is a software project aimed at replacing proprietary firmware (BIOS or UEFI) found in most computers with a lightweight firmware designed to perform only the minimum number of tasks necessary to load and r ...
*
PowerPC Reference Platform PowerPC Reference Platform (PReP) was a standard system architecture for PowerPC-based computer systems (as well as a reference implementation) developed at the same time as the PowerPC processor architecture. Published by IBM in 1994, it allo ...
*
Common Hardware Reference Platform __NOTOC__ Common Hardware Reference Platform (CHRP) is a standard system architecture for PowerPC-based computer systems published jointly by IBM and Apple in 1995. Like its predecessor PReP, it was conceptualized as a design to allow various ...
*
Das U-Boot Das U-Boot (subtitled "the Universal Boot Loader" and often shortened to U-Boot; see ''History'' for more about the name) is an open-source, primary boot loader used in embedded devices to package the instructions to boot the device's operating ...
* Input/output base address *
OpenBIOS OpenBIOS is a project aiming to provide free and open source implementations of Open Firmware. It is also the name of such an implementation. Most of the implementations provided by OpenBIOS rely on additional lower-level firmware for hardware i ...
*
Power-on self-test A power-on self-test (POST) is a process performed by firmware or software routines immediately after a computer or other digital electronic device is powered on. This article mainly deals with POSTs on personal computers, but many other embed ...
*
UEFI UEFI (Unified Extensible Firmware Interface) is a set of specifications written by the UEFI Forum. They define the architecture of the platform firmware used for booting and its interface for interaction with the operating system. Examples of ...
*
Advanced RISC Computing Advanced RISC Computing (ARC) is a specification promulgated by a defunct consortium of computer manufacturers (the Advanced Computing Environment project), setting forth a standard MIPS RISC-based computer hardware and firmware environment. T ...
* System Reference Manual


References


External links


OPEN FIRMWARE HOME PAGE
(via
Internet Archive



The last IEEE 1275 text

Firmworks OpenFirmware source code

Codegen SmartFirmware source code

Boot Process on IBM POWER
(via
Internet Archive

OFW FAQ on OLPC Wiki

Aurora SPARC Linux OBP reference guide
(via
Internet Archive




(via ttps://web.archive.org Internet Archive {{Firmware and booting Firmware Sun Microsystems software IEEE standards Macintosh firmware BIOS Open-source hardware MacOS Forth programming language family