Please note, this is a STATIC archive of website developer.mozilla.org from 03 Nov 2016, cach3.com does not collect or store any user information, there is no "phishing" involved.

Gonk

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,