flame を v1.3 のままにしていたものの、せっかく最新版が投入できる端末なので、ようやく時間ができたこともありビルドからやってみました。
ビルド
最新ツリーでは flame の config (./config.sh
と ./.repo/manifests/flame.xml
) が用意されているので、素直にビルドするだけで完了します。
$ git clone git://github.com/mozilla-b2g/B2G.git $ cd B2G $ ./config.sh flame $ ./build.sh
デフォルトの flame では JellyBeans ベースですが、config.sh の引数に flame-kk を指定することで KitKat ベースでもビルドできます。ちなみに flame の場合は Linux kernel もビルドしています。
最初のビルドでは flame 端末のバックアップを行うため、予め実機を adb で繋いでおく必要があります。adb での接続は後述します。実際のバックアップは device/t2m/flame/extract-files.sh
で行っています。
実機の接続
自環境では Windows から VMWare Player で Ubuntu を起動しているため、Windows で接続を行った後に Ubuntu に再接続するようにしています。
Windows の場合、実機を接続すると ドライバのインストールが要求されますが、Windows Update では完了できないため Flame用のドライバを導入する必要があります。Flame 用のドライバは MDN の Flame ページ から辿れます。成功すると以下のデバイスが登録されます。
- USB Composite Device 9025
- ALCATEL HS-USB Android Modem 9025 #2
- ALCATEL HS-USB Diagnostics 9025(COMxx)
- ALCATEL HS-USB NMEA 9025 (COMxx)
- YunOS ACB Interface
- ALCATEL HS-USB WWAN Adapter 9025 #2
- USB 大容量記憶装置
- Linux File-CD Gadget USB Device
- Linux File-CD Gadget USB Device
Ubuntu(udev を使う Linux) の場合、udev に flame のデバイスIDを登録しておきます。/etc/udev/rule.d/50-firefoxos.rules
を以下のように作成します(android.rules
があればそこに追記でも可)。
SUBSYSTEM=="usb", ATTR{idVendor}=="05c6", MODE="0666", GROUP="plugdev" SUBSYSTEM=="usb", ATTR{idVendor}=="18d1", MODE="0666", GROUP="plugdev"
1つ目は Qualcomm として、2つ目は Google(Android Device) として認識した場合のルールです。
基本的に1つ目だけでよいはずですが、端末状態によっては 2つ目で認識することもあったので記載しておきます。
lsusb などで USB として認識していれば、adb で接続できていることを確認します。
$ lsusb : Bus xxx Device xxx: ID 05c6:9025 Qualcomm, Inc. : $ adb devices list of devices attached 12345678 device
permission のエラーなどで繋がらない場合は、一旦端末を外して以下を実行した後に接続を試みます。
$ sudo adb kill-server $ sudo adb start-server
実機への書き込み
ビルドと接続が終わっていれば、書き込みスクリプトを実行するだけです。実行中はフラッシュメモリの各パーティションの消去と書き込み経過が逐次表示されます。
$ ./flash.sh
コメント