Revision 308765 of Firefox OS ビルドの必要条件

  • リビジョンの URL スラグ: Mozilla/Boot_to_Gecko/B2G_build_prerequisites
  • リビジョンのタイトル: B2G build prerequisites
  • リビジョンの ID: 308765
  • 作成日:
  • 作成者: taguchi-ch
  • 現行リビジョン いいえ
  • コメント

このリビジョンの内容

{{ B2GMain() }}

Boot to Gecho を入手してビルドする前に、適切に設定されたビルドシステムが必要です。現在 64 ビット版 Linux ディストリビューション もしくは Mac OS X でビルド可能です。

互換性のあるスマートフォンを所有する、もしくはエミュレータを使用する

これは重要です。我々は数種類のスマートフォンをサポートしてはいますが、複数モデルで利用可能なものと、限られたモデルでしかサポートされていないものがあります。その上、他のものよりも良くサポートされているデバイスもあります。現時点で以下のデバイスで Firefox OS の移植版が利用可能です :

ティア 1

ティア 1 のデバイスは開発の主要なターゲットとして積極的にサポートされているものです。大抵の機能を利用できるようになるのも、バグ修正されるのも、最初に着手されるのはこれらのデバイスです。

Otoro
Otoro は下位から中位機種のスマートフォン向けのテスト及び開発プラットフォームとして使用されている携帯電話です。最もコアの Firefox OS 開発者は Otoro で作業しています。
Pandaboard
Pandaboard は OMAP 4 アーキテクチャベースの開発用ボードで、モバイルプラットフォームの開発作業を行うのに使用されています。
エミュレータ( ARM ・ x86 )
利用可能なエミュレータは 2 種類あります。一つは ARM コードをエミュレートし、もう一つは 実行するのに x86 コードを使用します。
デスクトップ
デスクトップ版の Firefox OS をビルドすることもできます。これは、XULRunner アプリケーションで Gecko を実行し、その内側で Gaia ユーザエクスペリエンスを使用することになります。

もちろん、スマートフォンがなくても、デスクトップクライアントや、エミュレータをビルドすることは可能です。

ティア 2

ティア 2 のデバイスは一般的な機能で、多くの開発者、特にアプリの開発者が使用しているものですので、二番目に変更が行われることが多いです。

Samsung Nexus S
Nexus S デバイスで動作することがわかっているのは GT-I9020A と GT-I9023 です。他のものはおそらく動作するでしょう。
Samsung Nexus S 4G
SPH-D720 がティア 2 のデバイスとしてサポートされています。

ティア 3

これらのデバイス用の Firefox OS はビルド可能ですが、コア開発者によって定期的に活発な開発が行われているわけではありません。そのため、信頼性や機能セットは、ティア 1 やティア 2 デバイスよりも後になり、かなり遅れたものになるでしょう。

Samsung Galaxy S2
動作するモデルは i9100 のみです。他に公式的に互換性のあるモデルはありません。 ( i9100P は NFC チップ追加の変更後のものだけが動作する可能性があります )
Samsung Galaxy Nexus
現在どのモデルが互換性がないのかわかりません。
重要 : Android 4 (aka Ice Cream Sandwich) で動作しているデバイスのみがサポートされています。もしあなたのデバイスが上のリストにあっても、古いバージョンの Android を実行している場合は、最初に更新してください。

Linux での必要条件

Linux でビルドするには以下のシステム構成が必要です :

  • インストール済みの Linux ディストリビューション ( Ubuntu 11.10 推奨、64 ビット版ディストリビューションが望ましい )
  • 最低 4GB のスワップ空間
  • 最低 80GB のハードディスク空間

これは最小限度よりは多いですが、しばらくすると、もっとリソースが必要なことに気が付くでしょう。

他のディストリビューションも使用可能ですが、期待通りに全てを確実に動作させたいならこれを推奨します。

以下のツールもインストールする必要があります :

  • autoconf-2.13
  • git
  • ccache
  • gcc/g++, 及び g++ multilibs も必要でしょう
  • bison
  • flex
  • 32-bit ncurses ( Ubuntu/Debian では libncurses5-dev )
  • 32-bit zlib ( Ubuntu/Debian では ia32-libs と lib32z1-dev )
  • foo
  • make
  • curl
  • bzip2
  • heimdall (もし Samsung Galaxy S2 用にビルドするならheimdall のインストール を参照してください )
注意 : 64 ビット版 Ubuntu でビルドする際は、32 ビットバージョンの libX11.solibGL.so のシンボリックリンクを追加する必要性が出てくるかもしれません。やり方は、/usr/lib/i386-linux-gnulibX11.so から libX11.so.6、及び、libGL.so から mesa/libGL.so へのシンボリックリンクを作成します。

Mac OS X での必要条件

Mac OS X 上で B2G をビルドするには、Mac App Store で入手可能な Xcode をインストールする必要があります。Xcode のバージョンが 4.4.1+ (Mac OS X10.8 "Mountain Lion")の場合は、Xcode を開き、ダウンロードタブの下の、コンポーネントボタンの下にある、コマンドラインツールでインストールをクリックして下さい。Xcode の旧バージョンである 4.4.1(OS X 10.7 "Lion")の場合は、必ず基本設定のダウンロードパネルでコマンドラインユーティリティをインストールすることを忘れないでください。さらに、最低でもフリーディスク空間が 20GB あるかどうか確認してください。

注意 : B2G エミュレータには、Core 2 Duo プロセッサ以降、Mac OS X 10.7 “Lion” と互換性のあるシステムが必要です。実際に Lion が動作している必要はありませんが、互換性は必要です。まあとにかく、多くの古い Mac 上で B2G のビルドが可能です。

それから、ターミナルを開いてこのコマンドをターミナルで実行する必要があります。これはプルとブートストラップスクリプトの実行をして、全ての必要条件を満たしているかを確認します。

curl -fsSL https://raw.github.com/mozilla-b2g/B2G/master/scripts/bootstrap-mac.sh | bash

これは、エミュレータのビルドを可能にするのに必要となる全てのものが揃っているかどうか確認し、不足しているものがあれば、インストール確認用のプロンプトを出します。このスクリプトが確認とインストールを行う項目は次の通りです :

  • git
  • gpg
  • ccache
  • yasm
  • autoconf-213
  • gcc-4.6
  • homebrew
注意 : もし、Xcode 4.4 に既にアップグレードしていて、Xcode が無効であるというメッセージを受け取った場合、Xcode のパスを確認してください :
xcode-select -print-path
/Developer を指したままになっている時は、パスを更新してください :
sudo xcode-select -switch /Applications/Xcode.app
次に Mac OS X 10.6 SDK が利用可能かどうか確認します :
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/

もしそこになかったら、Apple Developer ポータルで入手可能な Xcode 4.3 DMG ファイルから、解凍してコピーする必要があります。10.6 SDK を解凍するために、ユーティリティ Pacifist を使用することができます。 /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/ ディレクトリにシンボリックリンクを必ず追加してください。

OS X 10.8 "Mountain Lion" (Xcode 4.4.1 以降)でビルド中に、以下のエラーが発生した場合 :

external/qemu/android/skin/trackball.c:130:25: error: 'M_PI' undeclared (first use in this function)
以下のファイルを編集してください : B2G/external/qemu/makefile.android そして、78 行に以下を追加してください : B2G/external/qemu/makefile.android

MY_CFLAGS += -DM_PI=3.14159265358979323846264338327950288   #/* B2G_fix: not finding M_PI constant */

もし Samsung Galaxy S2 用にビルドする予定なら、heimdall もインストールする必要があります。 詳細は heimdall のインストール を参照してください。これはブートストラップスクリプトは行いません

同様に、Java ランタイムのインストールも必要になるでしょう。これも、スクリプトは行いません。

注意 : もし多くの Samsung 製スマートフォンの内容管理に使用される Samsung Kies ツールをインストール済みなら、デバイス上で Gecko をフラッシュメモリから起動させる前に削除する必要があります。Windows では、標準のアプリケーション削除処理を使用できます。Mac では Kies インストールディスクイメージに、システムから完全に Kies を削除するユーティリティがあります。 Kies がインストールされたままだと、フラッシュメモリへの書き込みがうまく動作しないでしょう。もし Kies を削除することを忘れても、ビルドシステムはそれを検知して、アンインストールするよう知らせてくれます。アンインストールツールが正しく ~/Library/Application Support/.FUS フォルダーを削除できなかった場合も、ユーザースタートアップ項目リストにあるユーティリティの参照を中止しますので、注意してください。それらは手動で削除することになるでしょう。
注意 : Mac OS X はデフォルトでは大文字と小文字の区別をしないファイルシステムのため、今後 Firefox OS のビルドができなくなる可能性があります(編集者注 : 私はこの点で問題が起きたことはありません)。大文字と小文字を区別するスパースディスクイメージを作成して、そのディレクトリで作業すべきです。大文字と小文字を区別するディスクイメージを作成するには :
hdiutil create -type SPARSE -fs 'Case-sensitive Journaled HFS+' -size 40g ~/firefoxos.dmg

ドライブをマウントします :

open ~/firefoxos.dmg

マウントしたドライブに変更します :

cd /Volumes/untitled/

libmpc の依存関係が破損していた場合の修正方法

gcc 4.6 は libmpc 0.9 でビルドされていますが、homebrew を使用してパッケージを更新した場合、libmpc がバージョン 1.0 に更新されても、homebrew はライブラリのバージョン変更後に gcc 4.6 をリビルドしません。その場合、再び機能するようにするには、こんな感じにシンボリックリンクを作成する必要があります :

cd /usr/local/lib/
ln -s libmpc.3.dylib libmpc.2.dylib

任意 : HAX のインストール

Intel は、x86 エミュレータを使用している人に対して、Mac 上で、B2G エミュレータがエミュレートされたコードではなくネイティブコードで動作させられる特別なドライバーを提供しています。これを使用したい場合はダウンロードしてインストール可能です。必ず必要なものではありませんが、エミュレーションのパフォーマンスと安定性が向上します。

スマートフォンの設定

USB ポートにスマートフォンを接続する前に、USB 開発者モードにしてください。デバッグ及びフラッシュメモリの更新で、スマートフォンにアクセス可能になります。これを行うには、アプリケーションの設定に行き、アプリケーション > 開発 で、" USB デバッグ " チェックボックスをオンにしてください。

adb のインストール

ビルドプロセスは、B2G をビルドする前に ( もちろん、エミュレータをビルドする場合を除いて )、スマートフォンにインストールされた Android からバイナリ BLOB をプルする必要があります。このため adb、Android Debug Bridge が必要になります。

これを取得するには、あなたのプラットフォーム用の Android SDK starter package をインストールする必要があります。$SDK_HOME/tools/android にあるパッケージマネージャを実行し、GUI を使用して "Android SDK Platform-tools" をインストールします。

adb$SDK_HOME/platform_tools にインストールされているでしょう。あなたの PATH のディレクトリを追加するのを忘れないでください。これも実行したいのであれば :

adb pull /system <backup target dir>/system

これで、スマートフォン上の完全な Android システムパーティションをバックアップできます。これは、後で B2G 木を削除した場合の Android 用全バイナリ BLOB のコピーとなります。スマートフォンによりますが、/data /vendor のどちらか、もしくは両方のディレクトリも必要になる可能性があります :

adb pull /data <backup target dir>/data
adb pull /vendor <backup target dir>/vendor

heimdall のインストール

Heimdall は Samsung Galaxy S2 のフラッシュメモリに書き込みするためのユーティリティです。 Boot to Gecko フラッシュユーティリティが、B2G がインストールされたスマートフォンの内容を置き換える場合や、デバイス上の B2G と Gaia のバージョン更新のフラッシュメモリへの書き込みの際に使用されます。Galaxy S2 上に B2G をインストールしたい場合は必要ですが、その他のデバイスでは必要ありません。他のデバイス向けには、fastboot ユーティリティを代わりにビルドして使用しています。

注意 : 繰り返しですが、これは Samsung Galaxy S2 に B2G をインストールする場合にのみ必要であることに注意してください。

heimdallをインストールするには 2 通りのやり方があります :

次の段階へ

この時点で、あなたは B2G コードを取得する準備ができているはずです !

このリビジョンのソースコード

<div>
  {{ B2GMain() }}</div>
<p>Boot to Gecho を入手してビルドする前に、適切に設定されたビルドシステムが必要です。現在 64 ビット版 Linux ディストリビューション もしくは Mac OS X でビルド可能です。</p>
<h2 id=".E4.BA.92.E6.8F.9B.E6.80.A7.E3.81.AE.E3.81.82.E3.82.8B.E3.82.B9.E3.83.9E.E3.83.BC.E3.83.88.E3.83.95.E3.82.A9.E3.83.B3.E3.82.92.E6.89.80.E6.9C.89.E3.81.99.E3.82.8B.E3.80.81.E3.82.82.E3.81.97.E3.81.8F.E3.81.AF.E3.82.A8.E3.83.9F.E3.83.A5.E3.83.AC.E3.83.BC.E3.82.BF.E3.82.92.E4.BD.BF.E7.94.A8.E3.81.99.E3.82.8B">互換性のあるスマートフォンを所有する、もしくはエミュレータを使用する</h2>
<p>これは重要です。我々は数種類のスマートフォンをサポートしてはいますが、複数モデルで利用可能なものと、限られたモデルでしかサポートされていないものがあります。その上、他のものよりも良くサポートされているデバイスもあります。現時点で以下のデバイスで Firefox OS の移植版が利用可能です :</p>
<h3 id=".E3.83.86.E3.82.A3.E3.82.A2_1">ティア 1</h3>
<p>ティア 1 のデバイスは開発の主要なターゲットとして積極的にサポートされているものです。大抵の機能を利用できるようになるのも、バグ修正されるのも、最初に着手されるのはこれらのデバイスです。</p>
<dl>
  <dt>
    Otoro</dt>
  <dd>
    Otoro は下位から中位機種のスマートフォン向けのテスト及び開発プラットフォームとして使用されている携帯電話です。最もコアの Firefox OS 開発者は Otoro で作業しています。</dd>
  <dt>
    <a href="/ja/docs/Mozilla/Boot_to_Gecko/Pandaboard" title="/ja/docs/Mozilla/Boot_to_Gecko/Pandaboard">Pandaboard</a></dt>
  <dd>
    Pandaboard は OMAP 4 アーキテクチャベースの開発用ボードで、モバイルプラットフォームの開発作業を行うのに使用されています。</dd>
  <dt>
    <a href="/ja/docs/Mozilla/Boot_to_Gecko/Using_the_B2G_emulators" title="/ja/docs/Mozilla/Boot_to_Gecko/Using_the_B2G_emulators">エミュレータ( ARM ・ x86 )</a></dt>
  <dd>
    利用可能なエミュレータは 2 種類あります。一つは ARM コードをエミュレートし、もう一つは 実行するのに x86 コードを使用します。</dd>
  <dt>
    <a href="/ja/docs/Mozilla/Boot_to_Gecko/Using_the_B2G_desktop_client" title="/ja/docs/Mozilla/Boot_to_Gecko/Using_the_B2G_desktop_client">デスクトップ</a></dt>
  <dd>
    デスクトップ版の Firefox OS をビルドすることもできます。これは、<a href="/ja/docs/XULRunner" title="/ja/docs/XULRunner">XULRunner</a> アプリケーションで <a href="/ja/docs/Gecko" title="/ja/docs/Gecko">Gecko</a> を実行し、その内側で <a href="/ja/docs/Mozilla/Boot_to_Gecko/Introduction_to_Gaia" title="/ja/docs/Mozilla/Boot_to_Gecko/Introduction_to_Gaia">Gaia</a> ユーザエクスペリエンスを使用することになります。</dd>
</dl>
<p>もちろん、スマートフォンがなくても、<a href="/ja/docs/Mozilla/Boot_to_Gecko/Using_the_B2G_desktop_client" title="ja/docs/Mozilla/Boot_to_Gecko/Using_the_B2G_desktop_client">デスクトップクライアント</a>や、<a href="/ja/docs/Mozilla/Boot_to_Gecko/Using_the_B2G_emulators" title="ja/docs/Mozilla/Boot_to_Gecko/Using_the_B2G_emulators">エミュレータ</a>をビルドすることは可能です。</p>
<h3 id=".E3.83.86.E3.82.A3.E3.82.A2_2">ティア 2</h3>
<p>ティア 2 のデバイスは一般的な機能で、多くの開発者、特にアプリの開発者が使用しているものですので、二番目に変更が行われることが多いです。</p>
<dl>
  <dt>
    <a class="external link-https" href="https://en.wikipedia.org/wiki/Nexus_S#Variants" title="https://en.wikipedia.org/wiki/Nexus_S#Variants">Samsung Nexus S</a></dt>
  <dd>
    Nexus S デバイスで動作することがわかっているのは GT-I9020A と GT-I9023 です。他のものはおそらく動作するでしょう。</dd>
  <dt>
    Samsung Nexus S 4G</dt>
  <dd>
    SPH-D720 がティア 2 のデバイスとしてサポートされています。</dd>
</dl>
<h3 id=".E3.83.86.E3.82.A3.E3.82.A2_3">ティア 3</h3>
<p>これらのデバイス用の Firefox OS はビルド可能ですが、コア開発者によって定期的に活発な開発が行われているわけではありません。そのため、信頼性や機能セットは、ティア 1 やティア 2 デバイスよりも後になり、かなり遅れたものになるでしょう。</p>
<dl>
  <dt>
    Samsung Galaxy S2</dt>
  <dd>
    動作するモデルは i9100 のみです。他に公式的に互換性のあるモデルはありません。 ( i9100P は NFC チップ追加の変更後のものだけが動作する可能性があります )</dd>
  <dt>
    Samsung Galaxy Nexus</dt>
  <dd>
    現在どのモデルが互換性がないのかわかりません。</dd>
</dl>
<div class="warning">
  <strong>重要</strong> : <strong>Android 4</strong> (aka <strong>Ice Cream Sandwich</strong>) で動作しているデバイスのみがサポートされています。もしあなたのデバイスが上のリストにあっても、古いバージョンの Android を実行している場合は、最初に更新してください。</div>
<h2 id="Linux_.E3.81.A7.E3.81.AE.E5.BF.85.E8.A6.81.E6.9D.A1.E4.BB.B6">Linux での必要条件</h2>
<p>Linux でビルドするには以下のシステム構成が必要です :</p>
<ul>
  <li>インストール済みの Linux ディストリビューション ( Ubuntu 11.10 推奨、64 ビット版ディストリビューションが望ましい )</li>
  <li>最低 4GB のスワップ空間</li>
  <li>最低 80GB のハードディスク空間</li>
</ul>
<p>これは最小限度よりは多いですが、しばらくすると、もっとリソースが必要なことに気が付くでしょう。</p>
<p>他のディストリビューションも使用可能ですが、期待通りに全てを確実に動作させたいならこれを推奨します。</p>
<p>以下のツールもインストールする必要があります :</p>
<ul>
  <li>autoconf-2.13</li>
  <li>git</li>
  <li>ccache</li>
  <li>gcc/g++, 及び g++ multilibs も必要でしょう</li>
  <li>bison</li>
  <li>flex</li>
  <li>32-bit ncurses ( Ubuntu/Debian では libncurses5-dev )</li>
  <li>32-bit zlib ( Ubuntu/Debian では ia32-libs と lib32z1-dev )</li>
  <li>foo</li>
  <li>make</li>
  <li>curl</li>
  <li>bzip2</li>
  <li>heimdall (<strong>もし Samsung Galaxy S2 用にビルドするなら</strong>、<a href="#heimdall_.E3.81.AE.E3.82.A4.E3.83.B3.E3.82.B9.E3.83.88.E3.83.BC.E3.83.AB">heimdall のインストール</a> を参照してください )</li>
</ul>
<div class="note">
  <strong>注意 :</strong> 64 ビット版 Ubuntu でビルドする際は、32 ビットバージョンの <code>libX11.so</code> と <code>libGL.so</code> のシンボリックリンクを追加する必要性が出てくるかもしれません。やり方は、<code>/usr/lib/i386-linux-gnu</code> で <code>libX11.so</code> から <code>libX11.so.6</code>、及び、<code>libGL.so</code> から <code>mesa/libGL.so</code> へのシンボリックリンクを作成します。</div>
<h2 id="Mac_OS_X_.E3.81.A7.E3.81.AE.E5.BF.85.E8.A6.81.E6.9D.A1.E4.BB.B6">Mac OS X での必要条件</h2>
<p>Mac OS X 上で B2G をビルドするには、Mac App Store で入手可能な <a class="external" href="http://itunes.apple.com/us/app/xcode/id497799835?mt=12" title="http://itunes.apple.com/us/app/xcode/id497799835?mt=12">Xcode をインストール</a>する必要があります。Xcode のバージョンが 4.4.1+ (Mac OS X10.8 "Mountain Lion")の場合は、Xcode を開き、ダウンロードタブの下の、コンポーネントボタンの下にある、コマンドラインツールでインストールをクリックして下さい。Xcode の旧バージョンである 4.4.1(OS X 10.7 "Lion")の場合は、必ず基本設定のダウンロードパネルでコマンドラインユーティリティをインストールすることを忘れないでください。さらに、最低でもフリーディスク空間が 20GB あるかどうか確認してください。</p>
<div class="note">
  <strong>注意 :</strong> B2G エミュレータには、Core 2 Duo プロセッサ以降、Mac OS X 10.7 “Lion” と互換性のあるシステムが必要です。実際に Lion が動作している必要はありませんが、互換性は必要です。まあとにかく、多くの古い Mac 上で B2G のビルドが可能です。</div>
<p>それから、ターミナルを開いてこのコマンドをターミナルで実行する必要があります。これはプルとブートストラップスクリプトの実行をして、全ての必要条件を満たしているかを確認します。</p>
<pre>
curl -fsSL https://raw.github.com/mozilla-b2g/B2G/master/scripts/bootstrap-mac.sh | bash
</pre>
<p>これは、エミュレータのビルドを可能にするのに必要となる全てのものが揃っているかどうか確認し、不足しているものがあれば、インストール確認用のプロンプトを出します。このスクリプトが確認とインストールを行う項目は次の通りです :</p>
<ul>
  <li>git</li>
  <li>gpg</li>
  <li>ccache</li>
  <li>yasm</li>
  <li>autoconf-213</li>
  <li>gcc-4.6</li>
  <li>homebrew</li>
</ul>
<div class="note">
  <strong>注意 :</strong> もし、Xcode 4.4 に既にアップグレードしていて、Xcode が無効であるというメッセージを受け取った場合、Xcode のパスを確認してください :
  <pre>
xcode-select -print-path</pre>
  <code>/Developer</code> を指したままになっている時は、パスを更新してください :
  <pre>
sudo xcode-select -switch /Applications/Xcode.app</pre>
  次に Mac OS X 10.6 SDK が利用可能かどうか確認します :
  <pre>
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/</pre>
  <p>もしそこになかったら、<a class="external" href="https://developer.apple.com/downloads/index.action">Apple Developer</a> ポータルで入手可能な Xcode 4.3 DMG ファイルから、解凍してコピーする必要があります。10.6 SDK を解凍するために、ユーティリティ Pacifist を使用することができます。 <code>/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/</code> ディレクトリにシンボリックリンクを必ず追加してください。</p>
  <p>OS X 10.8 "Mountain Lion" (Xcode 4.4.1 以降)でビルド中に、以下のエラーが発生した場合 :</p>
  <pre>
external/qemu/android/skin/trackball.c:130:25: error: 'M_PI' undeclared (first use in this function)</pre>
  以下のファイルを編集してください : <code>B2G/external/qemu/makefile.android</code> そして、78 行に以下を追加してください : <code>B2G/external/qemu/makefile.android</code><br />
  <br />
  <pre>
MY_CFLAGS += -DM_PI=3.14159265358979323846264338327950288   #/* B2G_fix: not finding M_PI constant */
</pre>
</div>
<p>もし Samsung Galaxy S2 用にビルドする予定なら、heimdall もインストールする必要があります。 詳細は <a href="#heimdall_.E3.81.AE.E3.82.A4.E3.83.B3.E3.82.B9.E3.83.88.E3.83.BC.E3.83.AB">heimdall のインストール</a> を参照してください。これはブートストラップスクリプトは<strong>行いません</strong>!</p>
<p>同様に、Java ランタイムのインストールも必要になるでしょう。これも、スクリプトは行いません。</p>
<div class="note">
  <strong>注意 :</strong> もし多くの Samsung 製スマートフォンの内容管理に使用される <a class="external" href="http://www.samsung.com/us/kies/" title="http://www.samsung.com/us/kies/">Samsung Kies</a> ツールをインストール済みなら、デバイス上で Gecko をフラッシュメモリから起動させる前に削除する必要があります。Windows では、標準のアプリケーション削除処理を使用できます。Mac では Kies インストールディスクイメージに、システムから完全に Kies を削除するユーティリティがあります。 Kies がインストールされたままだと、フラッシュメモリへの書き込みが<strong>うまく動作しないでしょう</strong>。もし Kies を削除することを忘れても、ビルドシステムはそれを検知して、アンインストールするよう知らせてくれます。アンインストールツールが正しく <code>~/Library/Application Support/.FUS</code> フォルダーを削除できなかった場合も、ユーザースタートアップ項目リストにあるユーティリティの参照を中止しますので、注意してください。それらは手動で削除することになるでしょう。</div>
<div class="note">
  <strong>注意 :</strong> Mac OS X はデフォルトでは大文字と小文字の区別をしないファイルシステムのため、今後 Firefox OS のビルドができなくなる可能性があります(<strong>編集者注 : 私はこの点で問題が起きたことはありません</strong>)。大文字と小文字を区別するスパースディスクイメージを作成して、そのディレクトリで作業すべきです。大文字と小文字を区別するディスクイメージを作成するには :</div>
<pre>
hdiutil create -type SPARSE -fs 'Case-sensitive Journaled HFS+' -size 40g ~/firefoxos.dmg</pre>
<p>ドライブをマウントします :</p>
<pre>
open ~/firefoxos.dmg</pre>
<p>マウントしたドライブに変更します :</p>
<pre>
cd /Volumes/untitled/</pre>
<h3 class="note" id="libmpc_.E3.81.AE.E4.BE.9D.E5.AD.98.E9.96.A2.E4.BF.82.E3.81.8C.E7.A0.B4.E6.90.8D.E3.81.97.E3.81.A6.E3.81.84.E3.81.9F.E5.A0.B4.E5.90.88.E3.81.AE.E4.BF.AE.E6.AD.A3.E6.96.B9.E6.B3.95">libmpc の依存関係が破損していた場合の修正方法</h3>
<p>gcc 4.6 は libmpc 0.9 でビルドされていますが、homebrew を使用してパッケージを更新した場合、libmpc がバージョン 1.0 に更新されても、homebrew はライブラリのバージョン変更後に gcc 4.6 をリビルドしません。その場合、再び機能するようにするには、こんな感じにシンボリックリンクを作成する必要があります :</p>
<pre>
cd /usr/local/lib/
ln -s libmpc.3.dylib libmpc.2.dylib</pre>
<h3 id=".E4.BB.BB.E6.84.8F_.3A_HAX_.E3.81.AE.E3.82.A4.E3.83.B3.E3.82.B9.E3.83.88.E3.83.BC.E3.83.AB">任意 : HAX のインストール</h3>
<p>Intel は、x86 エミュレータを使用している人に対して、Mac 上で、B2G エミュレータがエミュレートされたコードではなくネイティブコードで動作させられる特別なドライバーを提供しています。これを使用したい場合は<a class="external" href="http://software.intel.com/en-us/articles/intel-hardware-accelerated-execution-manager/" title="http://software.intel.com/en-us/articles/intel-hardware-accelerated-execution-manager/">ダウンロードしてインストール</a>可能です。必ず必要なものではありませんが、エミュレーションのパフォーマンスと安定性が向上します。</p>
<h2 id=".E3.82.B9.E3.83.9E.E3.83.BC.E3.83.88.E3.83.95.E3.82.A9.E3.83.B3.E3.81.AE.E8.A8.AD.E5.AE.9A">スマートフォンの設定</h2>
<p>USB ポートにスマートフォンを接続する前に、USB 開発者モードにしてください。デバッグ及びフラッシュメモリの更新で、スマートフォンにアクセス可能になります。これを行うには、アプリケーションの設定に行き、アプリケーション &gt; 開発 で、" USB デバッグ " チェックボックスをオンにしてください。</p>
<h2 class="note" id="adb_.E3.81.AE.E3.82.A4.E3.83.B3.E3.82.B9.E3.83.88.E3.83.BC.E3.83.AB">adb のインストール</h2>
<p>ビルドプロセスは、B2G をビルドする前に ( もちろん、エミュレータをビルドする場合を除いて )、スマートフォンにインストールされた Android からバイナリ BLOB をプルする必要があります。このため <code>adb</code>、Android Debug Bridge が必要になります。</p>
<p>これを取得するには、あなたのプラットフォーム用の <a class="external" href="http://developer.android.com/sdk/index.html" title="http://developer.android.com/sdk/index.html">Android SDK starter package</a> をインストールする必要があります。<code>$SDK_HOME/tools/android</code> にあるパッケージマネージャを実行し、GUI を使用して "Android SDK Platform-tools" をインストールします。</p>
<p><code>adb</code> は <code>$SDK_HOME/platform_tools</code> にインストールされているでしょう。あなたの <code>PATH</code> のディレクトリを追加するのを忘れないでください。これも実行したいのであれば :</p>
<pre>
adb pull /system &lt;backup target dir&gt;/system
</pre>
<p>これで、スマートフォン上の完全な Android システムパーティションをバックアップできます。これは、後で B2G 木を削除した場合の Android 用全バイナリ BLOB のコピーとなります。スマートフォンによりますが、/data /vendor のどちらか、もしくは両方のディレクトリも必要になる可能性があります :</p>
<pre>
adb pull /data &lt;backup target dir&gt;/data
adb pull /vendor &lt;backup target dir&gt;/vendor
</pre>
<h2 class="note" id="heimdall_.E3.81.AE.E3.82.A4.E3.83.B3.E3.82.B9.E3.83.88.E3.83.BC.E3.83.AB">heimdall のインストール</h2>
<p>Heimdall は Samsung Galaxy S2 のフラッシュメモリに書き込みするためのユーティリティです。 Boot to Gecko フラッシュユーティリティが、B2G がインストールされたスマートフォンの内容を置き換える場合や、デバイス上の B2G と Gaia のバージョン更新のフラッシュメモリへの書き込みの際に使用されます。Galaxy S2 上に B2G をインストールしたい場合は必要ですが、その他のデバイスでは必要<strong>ありません</strong>。他のデバイス向けには、fastboot ユーティリティを代わりにビルドして使用しています。</p>
<div class="note">
  <strong>注意 :</strong> 繰り返しですが、これは <strong>Samsung Galaxy S2 に B2G をインストールする場合にのみ必要</strong>であることに注意してください。</div>
<p>heimdallをインストールするには 2 通りのやり方があります :</p>
<ul>
  <li>GitHub から<a class="link-https" href="https://github.com/Benjamin-Dobell/Heimdall" title="https://github.com/Benjamin-Dobell/Heimdall">コードをダウンロード</a>して、自分でビルドする。</li>
  <li>パッケージマネージャを使用してインストールする。
    <ul>
      <li>Linux : <code>sudo apt-get install libusb-1.0-0 libusb-1.0-0-dev</code></li>
      <li>Mac では、<a class="link-https" href="https://github.com/downloads/Benjamin-Dobell/Heimdall/heimdall-suite-1.3.2-mac.dmg" title="https://github.com/downloads/Benjamin-Dobell/Heimdall/heimdall-suite-1.3.2-mac.dmg">インストール用パッケージをダウンロード</a>してそれを使用することができます。</li>
    </ul>
  </li>
</ul>
<h2 id=".E6.AC.A1.E3.81.AE.E6.AE.B5.E9.9A.8E.E3.81.B8">次の段階へ</h2>
<p>この時点で、あなたは <a href="/ja/docs/Mozilla/Boot_to_Gecko/Preparing_for_your_first_B2G_build" title="ja/docs/Mozilla/Boot_to_Gecko/Preparing_for_your_first_B2G_build">B2G コードを取得する</a>準備ができているはずです !</p>
このリビジョンへ戻す