mozilla

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

サポートされているモバイル端末用 Boot to Gecko をビルドするのが終了したら、インストールできるようになります。この記事では、プロセスの全過程を解説します。

注意 : 初めてスマートフォンに書き込む場合は、Android 4 (Ice Cream Sandwich) が絶対にインストールされていなければなりません。そうしないと、このプロセスは正しく動作しません。既に B2G の初回インストールを行っているのであれば、その上に単純に更新するだけです。

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のセッティングやプリファレンスをクリアし、その結果 "きれいな" Gaiaを起動できるでしょう。理論的には ./flash.sh で既にされているはずですが、いくつかの端末 (例 hamachi) では ./flash.sh では下位モジュールだけが焼かれます (./flash.sh -f では強制的に全てを焼きます)。

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

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

< waiting for device >

これは adb 用の udev ルールとは別に、fastboot device 用の 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 の電話機では - オリジナルのベンダID用の行と、Googleのそれ用の行 - のような2行が要ります。

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 を使って確認できます)を使用している場合、"Heimdall flashing failed" といくつかの追加情報に続いて、"FACTORYFS upload failed!" という警告エラーが表示されるかもしれません。これは実際には成功していますので、警告は無視して構いません。

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

記: イメージサイズが問題でないかもしれません。次のtipを見て下さい。

Heimdall の全てのバージョンで、100MB 以上の system.img を書き込むことができません。これを実行してみてください :

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

書き込みたいイメージが非常に大きいのが確認できます。あまりにも大きい場合は、アドバイス用の IRC で質問してみてください。二つの段階で対処する方法があります。

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

一つのアプリケーションだけを更新するためには、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

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

cd gaia
make reset-gaia PRODUCTION=1

警告: reset-gaia はユーザ固有データ (連絡先など) を消去する可能性があります。

./flash.sh 実行時の "image is too large" というエラーメッセージについて

これは、恐らくあなたのスマートフォンは書き込み前にまずルート化する必要があるとのを意味しています。B2G はルートパーティションに書き込まれなければいけないため、スマートフォンへインストールためにルート化が要求されます。

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

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