MDN may have intermittent access issues April 18 13:00 - April 19 01:00 UTC. See whistlepig.mozilla.org for all notifications.

mozilla
Your Search Results

    初回 B2G ビルドの準備

    B2G をビルド可能にするには、リポジトリの複製とビルドツリーの構成(configure)が必要です。この記事ではその方法を説明します。

    あなたのインターネットの接続によっては、この構成作業はFirefoxOSのビルドに必要となるファイルをダウンロードするのに何時間もかかります。(ふつうの 150 kBpsの接続で、Androidリポジトリから数ギガバイトダウンロードするのに数十時間かかることもあります) 待つことは楽しくないので、このページを通して読んで構成スクリプトを開始した後に、Firefox OS simulatorをセットアップして試してみることや、アプリ開発者向け文書(アプリの設計、作成が含まれています)を読んで慣れたり、次のビルド手順に慣れておくことを検討してください。

    B2Gの構成、ビルドのステップでは、副業を準備したり、コーヒーを飲みに出かける友人を確保したくなるかもしれません。ちょっとした時間がかかることがあります(構成単独は、速いインターネット接続で45分程かかります。ビルドはRAMが8GBのCore i7で30分程かかります。)。

    OS Xを使ってFlame用のFirefox OSをビルドする場合、OSXでflame用のFirefox OSをビルドする のMDNページを見て下さい。

    B2G リポジトリの複製

    初回ビルド開始前の第一段階は、B2G リポジトリの複製を行うことです。これは全てを取得するのではありません!代わりに、B2G ビルドシステムとセットアップユーティリティの取得を行います。実際の B2G コードの大半は、メイン Mozilla Mercurial リポジトリにあります。

    リポジトリの複製には、git を使用します :

    git clone git://github.com/mozilla-b2g/B2G.git
    

    複製後(速い接続では数分だけです)、B2G ディレクトリに cd します :

    cd B2G
    

    端末に合わせて B2G を構成する

    重要: Android 4.0.4 (Ice Cream Sandwich)、4.3(Jelly Bean)、4.4 (KitKat)とそれをべースにしたプラットフォームが動作している端末のみが (今のFirefox OS端末では) サポート対象です。あなたのスマートフォンが本当にこれらのバージョンで動作しているか確認してください。そうしなければ、いくつかのドライバが Nexus ”ではない” 端末からプルされることになるため、このステップはおそらく失敗するでしょう。同様に、端末をの相応の出荷時リリースに書き換える必要がある場合、一部の USB ハブが書き換えツールで動作しないため、ビルトインの USB ポートに端末を接続しなければいけない可能性があることを覚えておいてください。
    重要: Ubuntu 12.10+ または Fedoraでビルドを行う場合、B2Gソースを取得した後にGCC 4.6をデフォルトのホストコンパイラに指定する必要があります。これは処理が動作するためです(これらのディストリビューションはデフォルトでGCC 4.7以降を使用)。 デフォルトホストコンパイラを変更するを読んで実行方法を理解します。
    記: ビルドプロセスのコマンドを実行する前に、下記指示を全て読んで、あなたにとってふさわしいことを行っているか念押ししてください !

    いったんコア B2G ビルドシステムを取得したら、インストールする予定の端末用に構成する必要があります。サポート端末リストを取得するには、config.sh ユーティリティを使用できます。(B2Gディレクトリ内で下記コマンドを実行します):

    ./config.sh
    

    これでサポート端末リストを表示します。例としては :

    Usage: ./config.sh [-cdflnq] (device name)
    Flags are passed through to |./repo sync|.
    
    Valid devices to configure are:
    - galaxy-s2
    - galaxy-nexus
    - nexus-4
    - nexus-4-kk
    - nexus-5
    - nexus-s
    - nexus-s-4g
    - flo (Nexus 7 2013)
    - otoro
    - unagi
    - inari
    - keon
    - peak
    - leo
    - hamachi
    - helix
    - wasabi
    - fugu
    - tarako
    - tara
    - dolphin
    - pandaboard
    - vixen
    - flatfish
    - flame
    - flame-kk
    - rpi (Revision B)
    - emulator
    - emulator-jb
    - emulator-kk
    - emulator-x86
    - emulator-x86-jb
    - emulator-x86-kk

    もし端末がリストになければ、今すぐに中止して、端末に B2G を移植する支援をするか、他の誰かがそれをやってくれるまで待ってください。我々としては支援してもらえるとうれしいです!

    記: Firefox OS端末とその使用 ページで端末名を見つけることができます。
    記: MacでKeon用B2Gを設定できません。 この端末のビルドにはLinuxを使います。
    : もしなんらかの理由で、特定の Gecko バージョンを対象とするビルドをしたいなら、始める前にカスタム Gecko を対象とするビルドを参照して下さい。端末のデフォルトブランチ以外をビルドする場合(例えばB2Gの特定バージョンのビルド)、ブランチをビルドするを見て下さい。付記: デフォルトブランチは端末によって異なり、必ずしもtrunkとは限りません。

    この時点から Boot to Gecko のビルドに必要な全コードの初回のプルを実行することになりますので、コーヒーブレイクするのにちょうどいいでしょう。以降に示す端末構成の手順実行は、長い時間がかかる可能性があります。Ctrl-Cで中断して後ほど再開することもできます。処理の部分を完了することなく終えても良い場合は、 './repo sync' を実行して起こりうる問題を修復します。
     

    モバイル端末用にB2Gを構成(configure)する

    この時点で、まだ繋がっていなければ端末を接続してください。構成プロセスでは端末にアクセスする必要があります。

    上記リストにある端末であれば、端末名を指定して config.sh を再度実行することで、構成プロセスを開始できます。例えば Samsung Google Nexus S 用にビルドするなら、このように入力してください :

    ./config.sh nexus-s

    : 下記のようなエラーメッセージを受け取った場合:

    UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 9: ordinal not in range(128)

    その理由は現在のディレクトリのフルパスに'/home/username/Téléchargements/B2G/'のようなアクセント文字や非サポート文字が含まれているためかもしれません。B2G リポジトリを別のどこかへ移動して下さい。 Cf. : http://stackoverflow.com/questions/18049320/repo-init-unicodedecodeerror-on-ubuntu-13-04

    OSXでは、同様のエラーが下記のように出る事があります:

    File "/Path/to/B2G/.repo/repo/git_refs.py", line 155, in _ReadLoose1
        ref_id = ref_id.decode()
    UnicodeDecodeError: 'ascii' codec can't decode byte 0xd0 in position 578: ordinal not in range(128)

    この問題の回避策の案は、'/Path/to/B2G/.repo/repo'にある git_refs.py の155目へ移動して、下記のように変更する事です。

    ref_id=ref_id.decode() to ref_id=ref_id.decode('latin-1')

    記: 構成ステップで「fatal: manifest 'nexus-s.xml' not available,」というような エラーメッセージが出て失敗する場合、単に使用したいブランチ名を指定すればよいだけという可能性があります。詳細はブランチをビルドする を見て下さい。
    : 構成ステップで「error: manifest required for this command -- please run init」というような エラーメッセージが出て失敗する場合、repoのマニフェストファイル( B2G/.repo/manifest.xml にあります)の生成に失敗しています。config.shを再度やり直すべきです。新しい端末で起こる場合、config.shに追加し、マニフェストファイルにこのように渡します:
    ./config.sh <端末> -m path/to/manifest.

    構成開始から少しすると、色使用のオプションとIDを設定する必要があるかもしれません。設定後もプロセスは継続します。たぶん色のビルドが良いでしょうから、ここではただ'y'を選択します。

    : config.sh が下記にあるようなgit関係の取得エラーになる事があります:

    Fetching projects:  95% (118/124)
    error: Exited sync due to fetch errors

    これは Android の repo ソースリポジトリについての接続エラーに由来している事を表します。この場合、 config.shを再実行しようとするでしょう。少し経つと、中断したところから自動的に再開するでしょう。最終的に全プロジェクトを取得するまで、何度か行わないといけない事があります。

    システムバックアップを用いてビルドを構成する

    もしあなたのスマートフォンが既に Android ではなく、B2G ツリーにバイナリ BLOB がないけど、賢明にも/system パーティションのバックアップを取っていたのであれば、こんな感じにバックアップを元にビルドを実行することができます :

    ANDROIDFS_DIR=<systemディレクトリの親ディレクトリの絶対パス> ./config.sh <target>
    

    ビルドシステムはデフォルトで backup-inari/system (端末設定に依存) といった場所を調べます;ファイルを期待される場所に置けば、ディレクトリを指定する必要はありません。

    電話機でAndroidを全く実行せず常に Firefox OS を起動する場合、上記の指示ごとに/system パーティションをプルする方がずっと良いでしょう — これにより正しいファイルを得られます。

    エミュレータ用ビルドを構成する

    もし実機でなくエミュレータをビルドするのであれば、ARM デバイスエミュレータを取得する “emulator”、もしくは x86 エミュレータをビルドする “emulator-x86″ のいずれかを指定できます。後者はより速いですが、実際のモバイル端末ほど正確には表示せず、よくサポートされていません; これを使うのは勧められません。

    では、例としてARM のJellybeanエミュレータをビルドするには、下記コマンドを使用します :

    ./config.sh emulator-jb
    

    構成開始から少しすると、使用色オプションを設定する必要があるかもしれません。設定後もプロセスは継続します。たぶん色つきビルドを希望するでしょうから、ここでは単に'y'を選択できます。

    この時点まででビルドを開始する準備ができているでしょうが、例外として下記の進歩的な情報も詳しく記載しています。

    エミュレータ用ビルドは64-bit Linuxで失敗がちなのに気をつけて下さい。

    : Mac OS X 10.9 以降での開発者は emulator-jb か emulator-kk に切り替えないといけません。なぜなら AOSP ICS ベースのエミュレータはMac OS X 10.9ではビルドできないからです。より詳しい情報はMac OS X用の必要事項見て下さい。

    カスタム Gecko を対象とするビルド

    (マニフェストで指定された)デフォルト使用の Gecko とは異なるバージョンをベースにして、Boot to Gecko をビルドしたい、もしくはする必要がある場合があるかもしれません。それを可能にするには .userconfig ファイルを編集してください。例として、mozilla-central を対象にしてビルドしたい場合であれば :

    GECKO_PATH=/path/to/mozilla-central
    GECKO_OBJDIR=/path/to/mozilla-central/objdir-gonk
    

    : Mac OS X でカスタム Gecko を対象とするビルドを行う場合、mozilla-central ディレクトリは、必ず、大文字と小文字を区別するファイルシステムに作成してください。

    注意するのは、リポジトリをプルする前 (つまり上記のconfig.shの前) に行っても、後の時点のどちらでもよいです。複数ビルドを保持することもできます (デバッグオン/オフなど) 。その方法は複数の.userconfigファイル(異なるセッティングで--もちろん、それぞれ別のOBJDIRでないといけない) を用意して .userconfig をその時々のビルドしたいコンフィグへのシンボリックリンクに貼るようにします。

    追加のカスタマイズを行うには .userconfig ファイルのカスタマイズを参照してください。

    ブランチをビルドする

    デフォルトブランチ以外をビルドしたい場合 (記: デフォルトブランチは"master"でないかもしれません!)、config.shの頭にブランチ名をつけるだけです、このように:

    BRANCH=ブランチ名 ./config.sh <端末>

    ブランチ名はとても論理的で、大まかに製品/バージョンに従っており、v1-train, v1.0.0, v1.0.1, v1.1, v1.1.0hd, v1.2, v1.3, v1.4, v2.0  などと将来にわたって続きます。例として、ARMエミュレータ用のB2G Firefox 1.2では、この様に入力します

    BRANCH=v1.2 ./config.sh emulator

    config.sh をすでに実行済みなら、B2G/.repo/manifests に移動し、"git branch -a" を実行することで (それまでは追加されていません)、ブランチ名を見ることができます。ブランチ名は行の最終トークンです。例えば"v1-train"や"master":

      remotes/origin/master
      remotes/origin/v1-train
      remotes/origin/v1.0.0
      remotes/origin/v1.0.1

    さらにカスタマイズするには.userconfigのカスタマイズを見て下さい。

    B2G ツリーを新しいマシンにコピーする

    もしB2Gツリーを整備済みで新しいコンピュータを入手した場合(いいな!)、あるコンピュータから別のコンピュータに単純に移行するだけなら、全てを整備するのに比べ、非常に楽に実行できるようになりました。そうするには、古いコンピュータのドライブを新しいコンピュータにマウントして、こうします :

    rsync -a source/ dest/
    

    source はソースツリーのフルパスで(末尾のスラッシュを含みます)、dest は移動先です(末尾のスラッシュは同様に重要です!)。

    : もし他のプラットフォームのコンピュータからファイルをコピーした場合は、ビルドプロセスを開始する前に、'./build.sh clean' を確実に実行してください。実行しなかった場合、コンパイル時に問題が発生する可能性があります。

    これを実行したら、この文書の残りの全てをスキップして、このままビルドに移動することができます。

    B2Gツリーを更新する

    リポジトリがより新しいバージョンの B2G に更新された時、B2Gツリーを更新したくなるでしょう。これを行うには、下記コマンドを実行します:

    git fetch origin
    git checkout origin/master

    これらが正しく動いたかをチェックするには、こう実行し:

    git show HEAD

    そして表示されたコミットが https://github.com/mozilla-b2g/B2G/commits/master の最新のコミットと一致するかをチェックします。

    次のステップへ

    この時点で、Firefox OSのビルドの準備ができているでしょう。

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

    Contributors to this page: Potappo, ethertank, taguchi-ch, Uemmra3
    最終更新者: Uemmra3,
    サイドバーを隠す