Open Firmware(またはOpenBoot)はハードウェアに依存しないファームウェア(オペレーティングシステムをロードするソフトウェア)であり、サン・マイクロシステムズのミッチ・ブラッドリーによって開発され、IEEEにより標準化され、サン・マイクロシステムズ、Apple、IBMなどによって使われている。

概要

Open Firmwareは、AppleのNuBus後のPowerPCベースのMacintosh(CHRPベースのPower Macintosh)、サン・マイクロシステムズのSPARCベースのワークステーションとサーバ、IBMのPOWERアーキテクチャの計算機システム(CHRPベースのRS/6000 PCIモデル)、Pegasosの計算機システム、そしてOLPCによって設計されたラップトップ(OLPC XO-1)など、色々な機種で採用された。

Open FirmwareはBSDライセンス下で利用可能である。提案されているPower Architecture Platform Referenceでも、Open Firmwareベースのプラットフォームである。それらのプラットフォーム上では、Open FirmwareはPC上でのBIOSの動作とまったく同じことができる。

Open FirmwareはForthベースのシェルインタフェースを持つ。Forthは強力な高レベル言語で、たとえば、Open Firmware上でハノイの塔の問題を解くことが可能である。

Open FirmwareはIEEEによって、IEEE 1275-1994として標準化された。最新仕様については、オーストリアのウィーン工科大学コンピュータ言語研究所のForth研究プロジェクトから利用可能である。

SunのOpenBootやFirmwoksのOpenFirmware、CodegenのSmartFirmwareなど、いくつかのOpen Firmwareの商用実装は、2006年にオープンソースコミュニティにリリースされた。このソースはOpenBIOSプロジェクトで公開されている。

利点

Open FirmwareのForth言語によるコードはFCode(と呼ばれるバイトコード)にコンパイルされ、特定のコンピュータアーキテクチャに依存した機械語に変換されない。つまり、あるI/Oカード用のコードを含んでいるOpen Firmwareは、他のOpen Firmwareを使うどんなシステム上でも動作することが可能である。この方法により、あるI/Oカードの起動時診断や設定用コード、そしてデバイスドライバは、他のOpen Firmwareが動作するシステム上でも使える。したがって、多くのI/OカードがSunのマシンとMacintoshの両方の上で動作することが可能である。

また、インタラクティブなプログラミング言語をベースとしているので、Open Firmwareはコードのテストや新しいハードウェアへの追従を素早く行うことができる。

アクセス

幾つかのアーキテクチャではオペレーティングシステムのブート前にコンソールからOpen Firmwareのプロンプトを通してテキストベースで対話的にアクセスすることが可能である(たとえばMacintoshなら、起動時にoptionキーとcommandキー、さらにO(オー)キーとFキーを同時に押し続けると、Open Firmwareにアクセスできる)。認識されたデバイスはForthの名前空間に現れ、これを使い入出力デバイスの指示等を行う。バス別に、規定された名前空間が存在し、構成情報を取得し設定することも出来る。

Open Firmwareは"ok"をプロンプトとして表示する。

関連項目

  • BIOS
  • Extensible Firmware Interface (EFI)
  • Unified Extensible Firmware Interface (UEFI)
  • OpenBIOS - OpenFirmware標準の別実装
  • LinuxBIOS - LinuxをベースとしたフリーのBIOS実装。Corebootを参照。
  • Input/Output Base Address
  • Advanced Configuration and Power Interface (ACPI)
  • Power On Self Test (POST)
  • BootX - Mac OS XのPowerPC用ブートローダー

外部リンク

  • 1275 Open Firmware Home Page
  • OpenFirmware
  • OpenBIOS
  • SUN's SPARC OBP documentation
  • IEEE 1275の最新仕様
  • SmartFirmware
  • FirmWorks
  • Firmworksのソースコード
  • SmartFirmwareのソースコード
  • IBM POWER上のブートプロセス

Manual Firmware Installation Open Mower

Open Source Firmware updates for the masses! (Part 1)

Sound Open Firmware, un SDK para el desarrollo y firmware DSP open

FileFirmware and software.png SRM

Wie kann ich Firmware Updates selbst durchführen? Help Center