Mozilla's getting a new look. What do you think? https://mzl.la/brandsurvey

B2G OS をモバイル端末にインストールする

サポートされているモバイル端末用 Boot to Gecko のビルドが完了したら、インストールしてください。この記事では、インストールの全過程を解説します。

注記: 初めてスマートフォンに書き込む場合は、Android 4 (Ice Cream Sandwich) が絶対にインストールされていなければなりません。そうしないと、このプロセスは正しく動作しません。既に B2G の初回インストールを行っているのであれば、それを単純に更新するだけです。
補足: リファレンス端末 (例: Flame) については、スクラッチからイメージ全体をビルドするのをスキップできます。詳細はこちらのガイドを見てください。

ADBをインストールする

OSX では

OSX に homebrew がインストール済みであれば:

brew install android-platform-tools

なければ、Android Developer Tools をダウンロードし、バイナリを PATH に追加してください。

Ubuntu では

sudo apt-get install android-tools-adb

スマートフォンにフラッシュする

スマートフォンにすべてを書き込むときは、単にスマートフォンを接続し、次のコマンドを入力してください:

./flash.sh

たったこれだけです。これで、B2G の現時点のビルドが端末にフラッシュされます。

ただし、Gaia の大幅に変更されたリビジョンをまたいで更新する場合、次のコマンドも必要になるでしょう:

cd gaia
make reset-gaia

これは、Gaia に保存された全データを消去しますが、廃止された Gaia の設定や prefs も消去するので、"クリーンな" Gaia を起動できるようになります。理論的には、./flash.sh で既に行われていますが、いくつかの端末 (例えば hamachi) では、./flash.sh ではモジュールのサブセットだけがフラッシュされます (./flash.sh -f では強制的にすべてをフラッシュします)。

端末用 udev ルールを構成する

Linux で以下が表示された場合、

< waiting for device >

これは、adb 用の udev ルールとは異なる、fastboot 端末用の udev ルールが追加されていない可能性が高いことを意味しています (./flash.sh を sudo つきで実行する必要があるだけかもしれません)。ここで lsusb を実行すると USB ベンダ ID を確認できます。例えば Google の USB ベンダー ID: 18d1 の場合は、/etc/udev/rules.d/51-android.rules に、以下の行を追加するとよいでしょう:

SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", MODE="0666", GROUP="plugdev"
補足: Linux でとても有用な libusb エラー "-3" が発生した場合、USB 端末にアクセスするために root 権限が必要であることを意味します。sudo を使用して、もう一度スクリプトを実行してください。
補足 2 Unagi または Geeksphone の Keon 端末をご使用の場合、次のような 2 行が必要です。1 行目は元のスマートフォンのベンダー ID、2 行目は Google のベンダー ID です。

Hamachi および Helix、Leo 端末に関する特記事項

スマートフォンが hamachi または helix、leo 端末の場合、./flash.sh スクリプトはデフォルトで gecko と gaia のみをフラッシュします。 OEM をベースビルドとしてフラッシュし、ファームウェアと gonk 階を取得した上で gecko と gaia をフラッシュすることが推奨されます。イメージファイルを使ってフラッシュしたい場合は、./flash.sh -f で上書きフラッシュしてください。これは、端末へのフラッシュにイメージファイルを使用します。

Samsung Galaxy S2 に関する特記事項

あなたのスマートフォンが Galaxy S2 で heimdall 1.3.2 (最新バージョン。heimdall version で確認してください) を使用している場合、"FACTORYFS upload failed!" という警告エラーに続けて "Heimdall flashing failed" というエラーといくつかの追加情報が表示されるかもしれません。これは、実際には成功しているので、警告を無視して構いません。

この奇妙な振る舞いを止めさせるには、Heimdall の ソースのコピー を入手し、1.3.1 リリースへダウングレード ("git checkout fbbed42c1e5719cc7a4dceeba098981f19f37c06") してください。次に、README に従ってコンパイルしてインストールすればエラーが出力されなくなります。しかし、これは必ずしも必要な手順ではありません。

注記: イメージサイズが問題でないかもしれません。次のヒントを見てください。

Heimdall のすべてのバージョンで、100MB 以上の system.img をフラッシュできません。次のコマンドを実行してください:

ls -l ./out/target/product/galaxys2/system.img

イメージファイルのサイズが大きいことが確認できます。あまりにも大きい場合は、IRC で質問してください。これには、2 つの段階で対処する方法があります。

heimdall コマンドの引数が動作せず、その結果フラッシュに失敗するかもしれません。./flash.sh スクリプトを変更する必要があるでしょう。引数は大文字でないといけません (l.185):

case $project in
        "system")
                $HEIMDALL flash --FACTORYFS out/target/product/$DEVICE/$project.img
                ;;

        "kernel")
                $HEIMDALL flash --KERNEL device/samsung/$DEVICE/kernel
                ;;

        "")
                $HEIMDALL flash --FACTORYFS out/target/product/$DEVICE/system.img --KERNEL device/samsung/$DEVICE/kernel &&
                update_time
                ;;
        esac

Samsung Galaxy S2 用の追加手順

Galaxy S2 をフラッシュする場合、次の追加手順に従ってください。flash.sh スクリプトで Gaia が自動的にフラッシュされないため、次のコマンドも実行する必要があります:

./flash.sh gaia

スマートフォンを fastboot するため特定パーティションをフラッシュする

特定のパーティションを fastboot スマートフォン (Samsung Galaxy S2 以外の端末) にフラッシュしてください。例えば:

./flash.sh system
./flash.sh boot
./flash.sh user

警告: user をフラッシュすると、少なくともユーザ固有のデータ (連絡先など) が削除されます。

特定のモジュールを更新する

フラッシュ時にコンポーネントの名前を指定すると、B2G の特定のコンポーネントを更新できます。例えば:

./flash.sh gaia
./flash.sh gecko

1 個のアプリケーションのみを更新するには、BUILD_APP_NAME 環境変数を使用してください:

BUILD_APP_NAME=calendar ./flash.sh gaia

ご使用のスマートフォンが開発者向けでない場合 (アプリのテストや最適化に興味がない場合など)、次のようにして gaia を更新できます:

VARIANT=user ./flash.sh gaia

次のステップへ

この時点で、あなたのスマートフォンは Boot to Gecko が動作しているはずです! いよいよ実験や、コード書きテストデバッグ の時がやってきました!

注記 : 有用な使い方のヒント: ビルドした B2G がロック画面で起動し、スマートフォンを解除をするパスコードが要求された場合、パスコードのデフォルトコードは 0000 です。

トラブルシューティング

ここには、B2G をインストールした直後、または新バージョンに更新した直後に端末が正しく動作しなかった場合の対処法について、いくつかのヒントがあります。

UI が起動しない場合

スマートフォンを更新してユーザインターフェイスが起動しない場合は、リセットして古い設定などのデータを消去してください。これで再び動作するようになりますが、ユーザ固有のデータ (連絡先など) が削除されるので注意してください。次のコマンドを実行してください:

cd gaia
make reset-gaia

開発者モードから製品モードに切り替えたい場合

cd gaia
make reset-gaia PRODUCTION=1

警告: reset-gaia は、ユーザ固有のデータ (連絡先など) を削除します。

./flash.sh 実行時の "image is too large" エラーメッセージ

これは、フラッシュする前にスマートフォンをルート化する必要があることを意味します。B2G は root パーティションに書き込まれる必要があるため、インストールするにはスマートフォンがルート化されている必要があります。

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

タグ: 
 このページの貢献者: Marsf, hamasaki, Uemmra3, T.Ukegawa, mkato, taguchi-ch
 最終更新者: Marsf,