OpenEmbedded(OE)は、
組み込みシステム向けの
Linuxディストリビューションを構築するための強力な
ソフトウェアフレームワークです。しかし、その汎用性から、組み込み機器以外の環境でも活用されています。
このプロジェクトは、Chris Larson、Michael Lauer、Holger Schurigによって開発され、当初はOpenZaurusプロジェクトのために、
Familiar [[Linux]]やOpenSIMpadプロジェクトのコードベースを統合することから始まりました。OpenEmbeddedは、これらのプロジェクトの進化形として、現在では同じコードベースから、これらのいずれのディストリビューションもビルドできるようになっています。
プロジェクトの核となるのは、BitBakeレシピの集合です。これは、Gentoo
Linuxのebuildシステムに類似した仕組みで、各パッケージのソースコードの取得先URL、依存関係、コンパイルオプション、およびインストールオプションが記述されています。BitBakeはこれらのレシピを解析し、必要な依存関係を解決し、ソースコードをクロスコンパイルし、パッケージとしてまとめることで、ターゲットデバイスにインストール可能な形式にします。
OpenEmbeddedの大きな特徴は、単に個々のパッケージをビルドするだけでなく、ルートファイルシステム全体やカーネルイメージを含む、完全なシステムイメージを生成できることです。これにより、開発者は、ターゲットデバイスに合わせてカスタマイズされた
Linuxディストリビューションを、効率的に構築できます。また、フレームワークの初期段階として、ターゲットプラットフォーム向けのクロスコンパイラツールチェーンを自動的に構築します。
OpenEmbeddedの主な機能
クロスコンパイル: 異なるアーキテクチャのデバイス向けにソフトウェアをコンパイル可能。
パッケージ管理: BitBakeレシピによる柔軟なパッケージ管理。
依存関係解決: パッケージ間の依存関係を自動的に解決。
イメージ生成: ルートファイルシステムとカーネルを含む完全なシステムイメージの作成。
カスタマイズ: ターゲットデバイスに合わせた柔軟なカスタマイズが可能。
関連プロジェクトとリンク
Ångström distribution
Familiar [[Linux]]
Gumstix
KaeilOS
Openmoko
OpenZaurus
SlugOS
組み込みLinux
外部リンク
公式ウェブサイト(英語)
FOSDEM'05でのOpenEmbeddedについてのプレゼンテーション(英語)
FOSDEM'07でのOpenEmbeddedについてのプレゼンテーション(英語)
*
ELC'08でのOpenEmbeddedプレゼンテーション(英語)