フラフラBLOG

なんかよくわからない方向に向かってます

FirefoxOS FlameのFMラジオとAPN設定

2014年09月23日 02時19分38秒 | Firefox OS Flame
前回からの続き
そういえば、FMラジオとAPN設定のパッチがadbのバイナリエラーとなってしまい、うまく当たらなかったので、シェルスクリプトを少し修正しました。
この現象は当方の環境だけかもしれません。
FMラジオとAPN設定のパッチはこちらで公開されています。
2014/10/21追記:remountがうまく行かないようなのでadb rootなどを追記しました。
        これでうまく行くと思うのですが・・・

MDNのサイト
https://developer.mozilla.org/ja/Firefox_OS/Developer_phone_guide/Flame#.E5.9B.BD.E5.86.85.E5.88.A9.E7.94.A8.E3.81.AB.E9.96.A2.E3.81.97.E3.81.A6

FMラジオとAPN設定のパッチ本体
https://github.com/dynamis/firefoxos-patch
Download ZIPからダウンロードします。
こちらを作業用フォルダに解凍します。

FMラジオのパッチ(patch-fmradio.sh)は下記の赤字のように修正しました。

#!/bin/bash

BASEDIR=$(pwd)
ADB=$BASEDIR/adb
FASTBOOT=$BASEDIR/fastboot
PATCHDIR=$BASEDIR
TEMPDIR=$BASEDIR/temp

# Gaia path for eng build
#GAIA_APP_INSTALL_PATH=/data/local/webapps
# Gaia path for user build
GAIA_APP_INSTALL_PATH=/system/b2g/webapps
SETTINGS_APP_INSTALL_PATH=$GAIA_APP_INSTALL_PATH/settings.gaiamobile.org

# temporary directory
rm -rf $TEMPDIR
mkdir -p $TEMPDIR
cd $TEMPDIR

# pull and edit config file
adb pull /data/local/user.js
echo "/* FM Radio band: 76M~108MHz */" >> user.js
echo "pref(\"dom.fmradio.band\", 2);" >> user.js

# Remount file systems and push to the device
adb root
adb wait-for-device
adb shell mount -o remount rw /data
adb push user.js /data/local/user.js

# Reboot
echo "Please reboot the device and enjoy radio!"


APN設定パッチ(patch-apn.sh)は下記の赤字のように修正しました。

#!/bin/bash

BASEDIR=$(pwd)
ADB=$BASEDIR/adb
FASTBOOT=$BASEDIR/fastboot
PATCHDIR=$BASEDIR
TEMPDIR=$BASEDIR/temp

# Gaia path for eng build
#GAIA_APP_INSTALL_PATH=/data/local/webapps
# Gaia path for user build
GAIA_APP_INSTALL_PATH=/system/b2g/webapps
SETTINGS_APP_INSTALL_PATH=$GAIA_APP_INSTALL_PATH/settings.gaiamobile.org

# temporary directory
rm -rf $TEMPDIR
mkdir -p $TEMPDIR
cd $TEMPDIR

# pull, extract and edit apn.json file
adb pull $SETTINGS_APP_INSTALL_PATH/application.zip
unzip application.zip shared/resources/apn.json
patch shared/resources/apn.json $PATCHDIR/apn.json.diff
zip -u application.zip shared/resources/apn.json

# Remount file systems and push to the device
adb root
adb wait-for-device
adb shell mount -o remount rw /system
adb push application.zip $SETTINGS_APP_INSTALL_PATH/application.zip

# Reboot
echo "Please restart Setting apps (or reboot the device) and set up apn for your SIM!"


FirefoxOS Flameの手動アップデート

2014年09月03日 22時37分08秒 | Firefox OS Flame
前回からの続き
Flameの手動書き換えは自己責任なので、問題が発生しても自分で対処できる人以外は書き換えを行わないこと。


1. Nightly Buildのダウンロード
まずはMDNのFlameのページから、Nightly Buildのイメージをダウンロードします。
https://developer.mozilla.org/ja/Firefox_OS/Developer_phone_guide/Flame#Updating_your_Flame_to_a_nightly_build
当方はProduction builds (including locales)Latest master builds (currently 2.1)をダウンロードすることにしました。
b2gとgaiaをダウンロードします。
2014年9月の段階では下記のファイルが最新でした。
b2g-35.0a1.en-US.android-arm.tar.gz
gaia.zip

続いてshallow_flash.shをダウンロードします。
gitを使えば簡単なのでしょうが、下記のURLからzipとしてまるごとダウンロードしました。
https://github.com/Mozilla-TWQA/B2G-flash-tool

ついでにfont fixもダウンロードしておきます。
https://developer.mozilla.org/ja/Firefox_OS/Developer_phone_guide/Flame#Font_fix


2. 作業用フォルダとファイルの準備
まずは、下図のアイコンからファイルを開き、フォルダを作成します。
当方は作業用フォルダとしてfxos_devというフォルダを作成しました。
"ホーム"フォルダが表示されている状態で、右クリック→"新しいフォルダー"から作成します。


続いてDownloadsディレクトリから下記の4つのファイルを、先ほど作成した作業用フォルダfxos_devに移動します。
ファイルを選択して"指定先に移動"をすると簡単です。
b2g-35.0a1.en-US.android-arm.tar.gz
gaia.zip
B2G-flash-tool-master.zip
fira-font-update.zip


B2G-flash-tool-master.zipを解凍します。
B2G-flash-tool-master.zipを右クリックし、"ここに展開"を選択すると解凍が完了します。
この中にshallow_flash.shがあります。

同様にfira-font-update.zipも解凍します。


3. アップデート
端末(terminal)を起動します。

shallow_flash.shがある作業ディレクトリに移動します。

cd fxos_dev/B2G-flash-tool-master

続いてFlameを接続します。
下記のコマンドを実行するとアップデートが行われます。
(ユーザー名)の部分は各自のユーザー名を指定します。

./shallow_flash.sh -g/home/(ユーザー名)/fxos_dev/gaia.zip -G/home/(ユーザー名)/fxos_dev/b2g-35.0a1.en-US.android-arm.tar.gz

無事アップデートが成功したら、font fixも実行します。

cd ../fira-font-update
./flash.sh


手動アップデートの手順は以上です。

2014/9/23修正:
最新版はb2g-35.0a1.en-US.android-arm.tar.gzしかないようです。
そのため、記事を修正しました。

Firefox OS搭載スマホ Flameを買いました

2014年08月27日 23時08分44秒 | Firefox OS Flame
技適マークに問題があってごたごたしていたFirefoxスマホ「Flame」を購入しました。
Nightly buildをインストールしたくて、Windows上から頑張ってみましたが書き換えはできませんでした。
どうも、Windowsからの書き換えは不可能っぽいです。
shallow_flash.shにはcygwinでも対応できるようになっているのに・・・
cygwinで試してみましたがこちらも書き換えできず。

そんなわけで、ubuntuをUSBメモリにインストールして、Windows環境に影響が出ないようにしました。
今回はubuntuのインストールと設定のメモ。

USBメモリはUSB3.0で高速なものが良いので、下調べの結果、「サンディスク エクストリームUSB 3.0 フラッシュメモリー」の16GBにしました。
16GB版は書き込み速度が50MB/sしかありませんが、2000円くらいだったので価格優先にしました。
購入したのは秋葉原の浜田電機だったかな?あきばお~だったかな?
Amazonあたりの通販でも購入できると思います。
2014/9/23追記:Firefox OSをビルドするのであれば、64GB以上のUSBメモリが必要です。

1. ubuntuのインストール
こちらのサイトが非常に参考になりました。
http://viva-ubuntu.com/install/usb_install.html
とりあえず、ubuntuをDVD-Rに書き込みDVD-Rから起動。
USBメモリはfat32領域は作らず、ext4のみとしました。
インストールするディスクとブートローダーを書き込むディスクをきちんと確認しましょう
間違えたら取り返しがつきません。

マザーボードのBIOS(UEFI)を立ち上げ、Ultra fastをDisableに変更しました。
こうしておかないと起動直後にUSBメモリから立ち上げることができなくなります。

再起動後、USBメモリから起動します。
当方のマザーボードはASRock製なので、F11キーで起動ディスクを選択できます。


2. ubuntuの設定
2.1 英語フォルダへの変換
日本語フォルダのままだと扱いにくいので、フォルダ名を英語に変換します。
http://sicklylife.at-ninja.jp/memo/ubuntu1404/settings.html#english
ランチャーの左上アイコンからterminalと入力して、端末を起動します。

端末に下記をコピペし実行。
env LANGUAGE=C LC_MESSAGES=C xdg-user-dirs-gtk-update


2.2 ADBのインストール
https://developer.mozilla.org/en-US/Firefox_OS/Debugging/Installing_ADB
そのままterminalから下記のコマンドを実行します。
sudo apt-get install android-tools-adb

https://developer.mozilla.org/en-US/Firefox_OS/Firefox_OS_build_prerequisites#For_Linux.3A_configure_the_udev_rule_for_your_phone
続いてFlameのUSB IDを登録するため、terminalで下記のコマンドを実行します。
sudo nano /etc/udev/rules.d/android.rules
そのまま下記をコピペしたあと、Ctrlキーを押しながらoを入力して保存します。
SUBSYSTEM=="usb", ATTR{idVendor}=="05c6", MODE="0666", GROUP="plugdev"
Ctrlキーを押しながらxを入力すると終了です。


続けて以下の2つのコマンドを実行します。
sudo chmod a+r /etc/udev/rules.d/android.rules
sudo service udev restart


2.3 Flameとの接続の確認
Flameのデバッグモードを有効にします。
https://developer.mozilla.org/en-US/Firefox_OS/Debugging/Developer_settings
FirefoxOS 1.3

Settings > Device information > More Information > Developer

FirefoxOS 1.4以上

Settings > Device information > More Information > Developer Menuにチェックを入れる
Settings > DeveloperのDebugging via USB > ADB and Devtoolsにする
日本語の場合は
環境設定 > 端末情報 > その他の情報 > 開発者メニュー をチェック
環境設定 > 開発者 > USB経由のデバッグ > ADBと開発ツールにする

terminalに
adb devices
と入力するとFlameのIDがリスト表示されます。

IDが表示されない場合は以下の2つのどちらかが原因と思われます。
・Flameのスクリーンロック画面の状態
・電源が入っていない状態


以上、準備完了です。
これでubuntuのインストールとFlameのNightly buildをインストールする環境はできました。
まずはここまで。

続きはこちら。