MDN’s new design is in Beta! A sneak peek: https://blog.mozilla.org/opendesign/mdns-new-design-beta/

GonkはFirefox OSプラットフォームのための、Android Open Source Project のLinux Kernelベースと、Userspace Hardware Abstraction Lyaer(HAL)から構成される低レベルオペレーティングシステムです。この記事では、Gonkの構成を説明することに的を絞っています。Firefox OSの全般的なアーキテクチャやGonkがどのようにFirefox OSに最適化されているかは、Firefox OS architecture を読んでください。

Gonkの概要

Geckoのソースコードの中にはb2g/フォルダがあり、モバイルハードウェア機能をウェブ用にアンロックするための、Gonkポートが含まれます。それらにはLinux KernelとHAL、そしてOEMライブラリが含まれます。数種類のGonkのライブラリはcommonオープンソースプロジェクトです。(libusb, bluezなど) いくつかのHALの一部はAndroid プロジェクトと共有しています。(GPS, Cameraなど)

Gonkはデバイスを移植するレイヤー(ハードウェアとGecko間をつなぐアダプター役)です。GonkはGeckポーティングレイヤーとペアをなしているGeckoポートを扱うことができる比較的シンプルなLinuxディストリビューションです。(だから、GeckoをOS XやWindows, Androidにポーティングするように、GonkはGeckoをポーティングターゲットとしています。)

Note:モバイルデバイスはそれぞれ異なるチップセット、異なるハードウェア仕様になります。そのためデバイス毎に異なるGonkディストリビューションが存在します。 

Firefox OSプロジェクトがGonk全てコントロールするようになって以来、他のオペレーティングシステムでは見せることができないインターフェイスを見せることができています。例えばGeckoは直接テレフォニースタックの全てにアクセスしたり、Gonkのバッファーフレームに描画することができます。

Gonk ソースコード

B2G repo on Githubには複数のデバイスにポーティングされた公式サポートのGonkをが含まれ、Gonkレポジトリを自身で扱うことができます。サポートしているデバイスリストは B2G/config.shから入手できます。 

Gonk作業の日々の大半では、異なるボード上への移植や、異なるデバイス上でGeckoがうまく動作することを確認することです。

ドキュメントのタグと貢献者

 このページの貢献者: hamasaki, mantaroh
 最終更新者: hamasaki,