# Open Firmware

Open Firmware u OpenBoot, en la jerga de Sun Microsystems, es un estándar que define las interfaces de un sistema de firmware de computadora, anteriormente endosado por la IEEE. Fue originado en Sun, y ha sido usado por Sun, Apple, IBM, y la mayoría de los vendedores de chipsets PCI no x86. El Open Firmware permite al sistema cargar drivers de plataforma independiente directamente desde la tarjeta PCI, mejorando la compatibilidad. El Power Architecture Platform Reference también será basado en el Open Firmware.
Se puede acceder al Open Firmware a través de su interfaz shell de lenguaje Forth. El Open Firmware alcanza esencialmente la misma funcionalidad que el posterior estándar EFI iniciado por Intel, con una menor sobrecarga.
El Open Firmware es descrito por el estándar IEEE 1275-1994, que no fue reafirmado por el Open Firmware Working Group (OFWG) desde 1998 y por lo tanto ha sido oficialmente retirado por la IEEE.
En 2006, han sido otorgadas a la comunidad del Open Source varias implementaciones comerciales del Open Firmware, incluyendo Sun OpenBoot, Firmworks OpenFirmware y Codegen SmartFirmware. El código fuente está disponible desde el proyecto OpenBIOS. La implementación de Sun está disponible bajo de una licencia BSD.

## Ventajas

El código Forth del Open Firmware puede ser compilado en forma de FCode, un bytecode que es independiente de los detalles de la arquitectura de computador en la que se ejecuta, tales como el conjunto de instrucciones y la jerarquía de memoria. Una tarjeta PCI puede incluir un programa, compilado a FCode, que corre con en cualquier sistema Open Firmware. De esta manera, puede proporcionar diagnósticos en tiempo de carga, código de configuración, y drivers de dispositivo independientes de la plataforma. El FCode también es muy compacto, de modo que una unidad de disco puede requerir solamente uno o dos kilobytes. Por lo tanto, muchas de las mismas tarjetas de entrada/salida pueden usarse en los sistemas Sun y Macintosh. FCode implementa ANS Forth y un subconjunto de la Open Firmware library.
El Open Firmware además define una manera estándar de describir el hardware de un sistema. Esto ayuda al sistema operativo a entender mejor su ordenador huésped, confiando menos en la configuración del usuario y en el hardware polling.
Estando basado sobre un lenguaje de programación interactivo, los Open Firmware se pueden utilizar para probar y para "levantar" nuevo hardware eficientemente. Permite que los drivers sean escritos y probados interactivamente. Drivers operacionales de video y ratón son el único prerrequisito para una interfaz gráfica conveniente para diagnósticos de usuario final. De hecho, Apple envió tales "sistemas operativos" de diagnóstico en muchos Macintosh Power.

## Acceso

En los sistemas Sun SPARC, la interfaz Open Firmware es exhibida en el terminal de consola antes del bootstraping del software del sistema. Si hay conectado un teclado, la pantalla principal será usada como el terminal de consola y el Open Firmware puede ser reentrado en cualquier momento presionando Stop-A (L1-A) en el teclado. Si no hay ningún teclado conectado, entonces típicamente es usada la primera línea serial como la consola del sistema y el Open Firmware es reentrado enviando un "Break" en la línea serial. Mientras el software del sistema está corriendo, varios ajustes del Open Firmware pueden ser leídos o escritos usando el comando eeprom.
En los Macintosh basados en el PowerPC, la interfaz Open Firmware puede ser accesada presionando las teclas Cmd-Option-O-F en el arranque. Esta funcionalidad generalmente es usada solamente por los desarrolladores o el personal de localización de averías (I.T.); para los usuarios comunes, el sistema operativo Mac OS X proporciona una interfaz gráfica de usuario de alto nivel para cambiar ajustes de uso general del Open Firmware. Por ejemplo, es posible especificar el disco de arranque o la partición sin usar directamente la interfaz del Open Firmware. Mientras que el software del sistema está corriendo pueden ser cambiados otros ajustes del Open Firmware usando el comando nvram .
En la tarjeta madre Pegasos, la interfaz es accesada presionando tecla ESC en el arranque.
En los sistemas IBM POWER, se puede acceder al prompt ´´Ok´´ del Open Firmware a través del menú SMS del arranque. Para acceder al menú SMS de arranque se debe presionar "1" o "F1" durante la secuencia de arranque, después de la comprobación del hardware, y justo antes del arranque del sistema operativo.
En el laptop OLPC XO-1, primero hay que tener una clave de desarrollador, que permite acceso completo al firmware. La clave es fácilmente accesible vía la página Home del navegador web. Después de instalada la clave, con cada encendido del equipo, se puede interrumpir la cuenta decreciente del arranque con la tecla ESC (la tecla superior izquierda) para conseguir al prompt Ok del Forth.